Содержание статьи
TensorFlow туториал. Часть 4: глубокое обучение
# 5 Вы можете делать все в браузере
Мгновенное исполнение (eager execution) в TensorFlow позволяет вам взаимодействовать с ним как настоящий программист на Python: вам дается вся непосредственность написания кода и отладки его строка за строкой, а не напряженное построение графиков. Я сама раньше была ученым (и, вполне возможно, инопланетянином), но я была в восторге от мгновенного исполнение TF когда он вышел. Угождает мгновенно!
TensorFlow позволяет работать с компонентами модели по отдельности и создавать ее «на ходу», при этом отдельно проверять каждый элемент. Это удобнее, чем описывать граф как единую монолитную структуру. Подход делает разработку более интерактивной — структуру можно гибко настраивать и менять.
Keras — это само удобство и простота прототипирования, TensorFlow они были давно нужны. Если вам нравится объектно-ориентированное мышление, и вам нравится строить нейронные сети по одному слою за раз, вам понравится tf.keras. В немногих строках кода ниже мы создали последовательную нейронную сеть со стандартными свистелками и пыхтелками в виде выпадающего списка (как нибудь я впаду в лирическое настроение и выдам вам свою метафору о выпадающих списках, в ней буду степлеры и грипп).
TensorFlow, как и сам Python, работает в популярных операционных системах, локально или в облаке. У нее есть расширения для мобильных устройств, IoT и браузерных приложений. Для мобильных устройств и интернета вещей можно воспользоваться средой TensorFlow Lite. А если модель машинного обучения должна работать в браузере, подойдет TensorFlow.js — версия для использования с JavaScript и Node.js.
С TensorFlow работают специалисты по машинному обучению. Это разработчики, которые создают, настраивают и обучают модели для решения интеллектуальных задач: классификации, распознавания и многого другого. Также библиотеку могут использовать ученые и дата-аналитики, которым машинное обучение бывает нужно для решения практических задач обработки данных.
TensorFlow — популярная библиотека, поэтому на многие вопросы легко можно найти ответ в сообществе. Оно развивает технологию, создает новые продукты и дополнения, связанные с TensorFlow, пишет документацию и туториалы. Все это облегчает старт и позволяет извлечь из библиотеки максимум пользы.
Что такое TensorFlow
Существуют реализации TensorFlow для других языков: C#, C++, Go, Java, Swift и так далее. Они используются реже основной — главным образом для написания кода под специфичные платформы. Сама библиотека написана на языке Python с использованием быстрого и производительного C++ для решения математических задач. Поэтому она эффективно работает со сложными вычислениями.
Открытая с помощью TensorFlow планета Kepler-90i делает систему Kepler-90 единственной известной системой с восемью планетами вокруг одной звезды. Пока не нашли другую систему восьми планетами, поэтому я предполагаю, что это означает, что мы пока привязаны к Kepler-90. Подробнее здесь.
Если вы устали ждать, пока ваш процессор завершит работу с вашими данными, чтобы обучить вашу нейронную сеть, вы можете теперь использовать свои аппаратные средства, специально разработанные для работы с облачными TPU. Т — значит тензор. Как и TensorFlow . совпадение? Не думаю! Несколько недель назад Google анонсировала версии TPU в версии 3.
Затем можно использовать эту инициализированную сессию для запуска тренировочных циклов. В этом случае вы выбираете 201, потому что хотите зарегистрировать последнее значение loss_value. В цикле нужно запустить сессию с оптимизатором обучения и метрикой потерь (или точностью), которую вы определили в предыдущем разделе. Также нужно передать аргумент функции feed_dict, с помощью которой вы подаете данные в модель. Через каждые 10 циклов вы получаете лог, который даст вам больше информации о потерях.
TensorFlow можно пользоваться для создания нейронных сетей, для глубокого обучения и других направлений ML. Его функции разнообразны для решения широкого спектра задач. Благодаря графам и тензорам в TensorFlow можно легко изобразить сложную математическую структуру.
TensorFlow — продукт Google. Компания известна собственными стандартами для технологий. Первая версия библиотеки предназначалась для внутреннего использования. До сих пор в TensorFlow встречается неочевидное поведение, из-за которого код может быть сложнее отлаживать. Сложности можно компенсировать, если внимательно изучать документацию и пользоваться дополнительными инструментами для отладки.
Библиотека написана так, что не нужно думать о технической реализации абстрактных понятий. Можно сосредоточиться на описании логики программы и на математике, а способ реализации вычислений — задача TensorFlow, а не программиста. Это облегчает разработку и позволяет сконцентрироваться на важных задачах.
Вы знаете, что не очень интересно начать машинное обучение? Пустая новая страница в вашем редакторе и никакого образцового код примера на километры вокруг. С TensorFlow Hub вы можете использовать более эффективную версию проверенной временем традиции одалживать чужой код и называть его своим собственным (иначе известной как профессиональная разработка программного обеспечения).
Большое сообщество
Библиотека разработана Google как продолжение внутренней библиотеки компании. TensorFlow бесплатна, у нее открытый исходный код, который можно просмотреть на GitHub, ее активно поддерживает сообщество энтузиастов. Название читается как «тензор флоу» и образовано от двух понятий: тензор и поток данных. Мы подробнее расскажем о них ниже.
Как было показано в разделе об основах TensorFlow, нет необходимости закрывать сессию вручную; это уже сделано для вас. Хотите опробовать другую конфигурацию? Вам, вероятно, понадобится сделать это с помощью sess.close(), если вы определили свою сессию как sess, как в блоке ниже:
C помощью as_default() установите контекст по умолчанию. as_default() возвращает менеджер контекста, который устанавливает заданный вами Graph графом по умолчанию. Используйте этот метод, если хотите создать несколько графов в одном процессе: с помощью этой функции создается глобальный граф по умолчанию, в который будут добавляться все операции, если вы целенаправленно не создадите еще один.
Сама библиотека включает в себя множество инструментов для разных направлений ML, но чаще всего используется для работы с нейронными сетями. Это структуры, вдохновленные устройством сетей нейронов в человеческой нервной системе. Нейронные сети состоят из программных элементов-«нейронов» и связей между ними, и такое устройство позволяет им обучаться. TensorFlow работает с обычными и глубокими нейронными сетями разных типов: рекуррентными, сверточными и так далее. Также она используется для машинного и глубокого обучения.
Так и не отнесли свой старинный комп в музей? Есть тостер? (Что-нибудь такое же бесполезное?) TensorFlow Lite позволяет исполнение модели на различных устройствах, в том числе мобильниках и интернета вещей, что дает вам более чем 3-кратное ускорение вывода по сравнению с оригинальным TensorFlow. Да, теперь вы можете получить машинное обучение на своем Raspberry Pi или на телефоне. В своей презентации Лоуренс смело показывает классификацию изображений на эмуляторе Android перед тысячами людей. и это работает.
Если вы еще этого не сделали, импортируйте tensorflow в рабочую область под названием tf. Затем инициализируйте Graph с помощью функции Graph(). Используйте эту функцию для определения вычислений. Обратите внимание, что с помощью Graph вы ничего не вычисляете, поскольку она не принимает на вход никаких переменных. Graph лишь определяет операции, которые вы хотите выполнить позже.
TensorFlow — это система машинного обучения, которая может стать вашим новым лучшим другом, если у вас много данных и желание постичь новейшее достижение в сфере искусственного интеллекта: глубокое обучение. Нейронные сети. Большие. Это не волшебная палочка Data science, это целая книга заклинаний . что означает, что вам, наверно нужно перестать читать, если вы всего лишь хотите построить линию регрессии таблицы 20 на 2.
Теперь, когда вы собрали модель cети слой за слоем, пришло время запустить ее! Для этого сначала инициализируйте сессию с помощью Session(), которой вы передаете граф graph, определенный в предыдущем разделе. Затем вы можете запустить сессию с помощью run(), которой вы передаете инициализированные операции в форме переменной init, которую вы также определили в предыдущем разделе.