TensorFlow за LuckyTemplates Cheat Sheet

TensorFlow е водещата рамка на Google за машинно обучение и всяка нова версия носи широк набор от възможности и функции. След като се изкачите по кривата на обучение, можете да пишете сложни приложения за машинно обучение и да ги изпълнявате с висока скорост.

Но издигането на кривата на обучение не е лесно — с голяма сила идва и голяма сложност. За да ви помогнем в изкачването, трябва да сте наясно с типовете данни на TensorFlow, помощната програма TensorBoard и внедряването на приложения в машината за машинно обучение на Google.

Основни типове данни в TensorFlow

Можете да пишете приложения TensorFlow на няколко различни езици, като Python, C++ и Java. Но независимо кой език използвате, трябва да сте запознати с поредица от специфични за TensorFlow типове данни:

  • Тензори и заместители: Тензорът е екземпляр на класа Tensor и служи като многоизмерен масив с общо предназначение. Заместителят също е тензор, но вместо да бъде инициализиран в код, той получава данни от сесия, които ще бъдат валидни по време на едно изпълнение на сесията. Заместителите дават възможност за актуализиране на съдържанието на тензор от едно изпълнение на сесия до следващо.
  • Графики: Графиката е контейнер, подобен на списък или кортеж. Само една графика може да бъде активна в даден момент и когато кодирате операция, която приема тензори или променливи, тензорите, променливите и операцията се съхраняват като елементи в графиката. Когато създадете оптимизатор и извикате неговия метод за минимизиране, TensorFlow съхранява получената операция в графиката.
  • Сесии . Графиките съхраняват операции, но не могат да извършват операции сами. Вместо това трябва да създадете сесия и да извикате нейния метод за изпълнение. Ако извикате run с тензор или операция, методът ще изпълни операциите в графиката, необходими за получаване на желания резултат.
  • Оптимизатори . Целта на машинното обучение е да усъвършенства математически модел на система от реалния свят, докато тя наподобява системата възможно най-близо. Този процес на усъвършенстване се нарича оптимизация и изследователите са измислили много методи за оптимизация. TensorFlow поддържа много от тези алгоритми и предоставя клас на оптимизатор за всеки. Независимо от класа, можете да получите операция за оптимизация, като извикате метода minimize на оптимизатора.
  • Променливи . За разлика от тензорите и заместителите, променливата е екземпляр на класа Variable. Основната му цел е да съдържа данни, които да се актуализират по време на процеса на оптимизация. Например, ако вашето приложение моделира система с права линия, вие ще съхраните наклона на линията и y- intercept като променливи. Но преди да можете да използвате променливи за оптимизиране на модел, трябва да създадете и изпълните специални операции за инициализация.
  • Оценители . Ако предпочитате да не се занимавате със структури от данни от ниско ниво като сесии и графики, можете да изпълнявате алгоритми за машинно обучение, използвайки приложния програмен интерфейс (API) на TensorFlow. Оценката е екземпляр на класа Estimator и всеки оценител въплъщава алгоритъм за машинно обучение. Основното предимство на използването на оценители е, че всички те имат едни и същи три метода за стартиране на процеса на машинно обучение: обучение, оценка и прогнозиране.

Как да използвате TensorBoard в TensorFlow

Когато инсталирате TensorFlow, инсталаторът предоставя и помощна програма от командния ред, наречена TensorBoard. Това генерира графики, които ви позволяват да визуализирате работата на вашето приложение TensorFlow. TensorBoard улеснява намирането на грешки във вашите програми, но не е лесен за използване. За да генерирате данни и да видите графиките в TensorFlow, трябва да изпълните шест стъпки:

Създайте обобщени операции.
Преди да можете да преглеждате данни в TensorBoard, трябва да идентифицирате данните, които да се показват, като създадете специални операции, наречени обобщени операции. Можете да създадете тези операции, като извикате функции на пакета tf.summary. Например, можете да създадете обобщена операция за една стойност, като извикате tf.summary.scalar. Можете да създадете обобщена операция за поредица от стойности, като извикате tf.summary.histogram. Можете да комбинирате операции заедно, като извикате функция като tf.summary.merge_all.

Изпълнете обобщаващи операции.
След като създадете една или повече обобщени операции, можете да получите обобщените данни, като изпълните операциите в сесия. В резултат на това сесията ще върне буфер на протокола, съдържащ обобщените данни на приложението.

Създайте FileWriter.
Преди да можете да отпечатате обобщените данни във файл, трябва да създадете FileWriter, като извикате tf.summary.FileWriter. Този конструктор приема много аргументи, но единственият задължителен аргумент е името на директорията, която съдържа обобщените данни.

Отпечатайте обобщените данни.
Класът FileWriter няма прост метод за печат. Вместо това трябва да извикате метода add_summary на FileWriter, за да отпечатате обобщени данни във файл. Този метод записва файла на събитието в директорията, посочена в конструктора на FileWriter. След като отпечатате данните, е добра идея да извикате метода close на FileWriter, за да унищожите екземпляра.

Стартирайте TensorBoard.
След като инсталирате TensorFlow, помощната програма tensorboard се появява в директорията със скриптове от най-високо ниво. Можете да стартирате помощната програма, като изпълните командата tensorboard и зададете опцията logdir на името на директорията, съдържаща обобщените данни. Например, ако обобщените данни са в изходната директория, можете да стартирате TensorBoard, като изпълните tensorboard –logdir=output на команден ред.

Вижте TensorBoard в браузър.
След като стартирате помощната програма TensorBoard, можете да видите нейния интерфейс, като отворите браузър. URL адресът по подразбиране е http://localhost:6006, но можете да конфигурирате това, като зададете опции за хост и порт в командата tensorboard.

Как да стартирате TensorFlow в облака

Най-добрата причина да използвате TensorFlow за машинно обучение е, че можете да стартирате приложенията си в облака. По-конкретно, можете да внедрите програми TensorFlow в машината за машинно обучение (ML), която Google предоставя като част от Google Cloud Platform (GCP). Този процес на внедряване се състои от седем стъпки:

Създайте проект на Google Cloud Platform.
Когато работите с GCP, проектът служи като централен контейнер с конфигурационни настройки и изходни файлове. Можете да създадете нов проект, като посетите платформата Google Cloud , щракнете върху Изберете проект и щракнете върху бутона плюс в диалоговия прозорец Избор. Можете да изберете името на вашия проект, но GCP задава идентификатора на проекта, който е уникален сред всички проекти на GCP.

Разрешете достъпа до ML Engine.
Всеки нов GCP проект може да има достъп до редица възможности на Google, включително Datastore и Cloud Storage. Но по подразбиране проектите на GCP не могат да разгръщат приложения в ML Engine. За да разрешите достъпа, отворете менюто в горния ляв ъгъл на страницата на проекта, изберете API и услуги и след това щракнете върху Библиотека. Щракнете върху връзката, озаглавена Google Cloud Machine Learning Engine, и след това щракнете върху бутона ВКЛЮЧИ.

Инсталирайте комплекта за разработка на облачен софтуер (SDK).
Можете да получите достъп до GCP от команден ред, като инсталирате Cloud SDK на Google . За да изтеглите това, щракнете върху съответната връзка за вашата операционна система. Когато инсталацията приключи, ще можете да получите достъп до комплекта за разработване на софтуер (SDK), като изпълните gcloud команди на команден ред.

Качете данни за обучение/прогнози в Cloud Storage.
ML Engine има достъп до вашите данни за обучение/прогноза само ако ги качите в Cloud Storage на Google. Можете да взаимодействате с Cloud Storage от команден ред чрез помощната програма gsutil, предоставена от Cloud SDK. Данните от Cloud Storage се съдържат в структури, подобни на директории, наречени кофи и когато качите файл в кофа, структурата на данните се нарича обект.

Добавете модул setup.py в пакета на приложението си.
За да направите Python приложение достъпно за ML Engine, трябва да го структурирате като пакет. Всеки пакет трябва да има модул setup.py в директорията от най-високо ниво. Този модул трябва да предостави код за setuptools.setup, който предоставя информация за конфигурацията на ML Engine.

Стартирайте работа за обучение за ML Engine.
За да обучите модела си в облака, трябва да стартирате задание за обучение, като стартирате gcloud ml-engine задания за изпращане на обучение с подходящите опции. Опциите включват --package-path, който идентифицира местоположението на пакета, --module-name, който предоставя името на модула на Python и –job-dir, който казва на ML Engine къде да съхранява изхода. Когато обучението приключи, ML Engine ще произведе SavedModel, съдържащ резултатите от обучението.

Стартирайте задание за прогнозиране за ML Engine.
След като получите SavedModel, можете да използвате ML Engine за извършване на прогнозиране, като стартирате gcloud ml-engine jobs submit прогнозиране с подходящите опции. Опциите включват --input-paths, който идентифицира местоположението на входните файлове на проекта, --data-format, който казва на ML Engine как са форматирани входните данни и --output-path, който идентифицира къде трябва да се изведе прогнозният изход се съхраняват.


За възрастни: Как да вмъкнете изрезки в слайд на PowerPoint

За възрастни: Как да вмъкнете изрезки в слайд на PowerPoint

Клипартът е предварително нарисувано общо произведение на изкуството и Microsoft предоставя много файлове с клипарт безплатно със своите продукти на Office. Можете да вмъкнете изрезки в оформлението на слайда на PowerPoint. Най-лесният начин да вмъкнете клип арт е като използвате един от заместителите в оформлението на слайда: Покажете слайд, който съдържа клипарт […]

За възрастни: Как да запълните цвят в Microsoft Excel

За възрастни: Как да запълните цвят в Microsoft Excel

Цвят на запълване — наричан още засенчване — е цветът или моделът, който запълва фона на една или повече клетки на работния лист на Excel. Прилагането на засенчване може да помогне на очите на читателя да следват информацията в цялата страница и може да добави цвят и визуален интерес към работния лист. В някои видове електронни таблици, като например регистър на чековите книжки, […]

Добавяне на нови контакти в Act! 2005 г

Добавяне на нови контакти в Act! 2005 г

На най-простото ниво, основната цел на ACT! е да служи като място за съхранение на всички контакти, с които взаимодействате ежедневно. Можете да добавяте и редактирате всичките си контакти от прозореца Подробности за контакт, защото съдържа цялата информация, която се отнася до един конкретен запис и […]

Discord For LuckyTemplates Cheat Sheet

Discord For LuckyTemplates Cheat Sheet

Използвайте този Cheat Sheet, за да преминете директно към използването на Discord. Открийте полезни Discord ботове, приложения, които можете да интегрирате, и съвети за интервюиране на гости.

OpenOffice.org за LuckyTemplates Cheat Sheet

OpenOffice.org за LuckyTemplates Cheat Sheet

Офис пакетът OpenOffice.org има много инструменти за улесняване на работния живот. Когато работите в OpenOffice.org, запознайте се с функционалната лента с инструменти (която изглежда почти еднакво във всички приложения) и главните бутони на лентата с инструменти за помощ с основните команди за повечето задачи.

Машината за бомби на Алън Тюринг

Машината за бомби на Алън Тюринг

Машината Bombe на Алън Тюринг не беше никаква форма на изкуствен интелект (AI). Всъщност това дори не е истински компютър. Счупи криптографските съобщения на Enigma и това е всичко. Това обаче даде повод за размисъл за Тюринг, което в крайна сметка доведе до документ, озаглавен „Компютърни машини и интелигентност“?? която той публикува през 50-те години на миналия век, която описва […]

Стандартни хардуерни дефицити за изкуствен интелект

Стандартни хардуерни дефицити за изкуствен интелект

Възможността за създаване на модулна система има значителни предимства, особено в бизнеса. Възможността за премахване и замяна на отделни компоненти поддържа разходите ниски, като същевременно позволява постепенни подобрения както в скоростта, така и в ефективността. Въпреки това, както при повечето неща, няма безплатен обяд. Модулността, осигурена от архитектурата на фон Нойман, идва с някои […]

10 правила, които не трябва да правите при използване на QuarkXPress

10 правила, които не трябва да правите при използване на QuarkXPress

Ако трябва да изберете десет лесни за забравяне, но изключително полезни неща, които да запомните за QuarkXPress, тези в следващия списък, скъпи читателю, биха били те. Намасте. Говорете с вашия търговски принтер. Всички проекти за печат започват и завършват с принтера. Това е така, защото само принтерите знаят своите ограничения и хилядите начини, по които един проект може да бъде […]

Произходът на биткойн

Произходът на биткойн

Най-важният аспект на биткойн може да е концепцията зад него. Биткойн е създаден от разработчика Сатоши Накамото. Вместо да се опитва да създаде изцяло нов метод на плащане, за да премахне начина, по който всички плащаме за нещата онлайн, Сатоши видя някои проблеми със съществуващите платежни системи и искаше да ги разреши. Концепцията за […]

Как да защитите поверителността си, когато използвате биткойн

Как да защитите поверителността си, когато използвате биткойн

Известно ниво на анонимност е обвързано с използването на биткойн и цифровата валута като цяло. Дали можете да го обозначите като „достатъчно анонимен“ е лично мнение. Има начини да защитите поверителността си, когато използвате биткойн за преместване на средства, но те изискват известно усилие и планиране: Можете да генерирате нов адрес за […]