Кэсси Козырьков, которая занимает должность Chief Decision Scientist в Google, собрала наиболее интересные новые возможности библиотеки для машинного обучения TensorFlow из выступления Лоренса Морони на конференции Google Cloud Next в Сан-Франциско.
1. Это мощный фреймворк машинного обучения
TensorFlow — отличный фреймворк МО для тех случаев, когда нужно обработать огромные массивы данных и/или когда есть необходимость в обучении крупных глубоких нейросетей.
TensorFlow применяют для предотвращения потери зрения (при диагностике диабетической ретинопатии), сохранения природы (оповещения властей о незаконной вырубке лесов), а также для поиска удалённых планет. Планетная система Kepler-90 — единственная известная на сегодня система, содержащая минимум 8 планет, причём восьмая из них, Kepler-90i, была открыта с помощью TensorFlow.
На базе этого фреймфорка построены AlphaGo и Google Cloud Vision. TensorFlow — проект с открытым исходным кодом, его можно скачать бесплатно и начать работу в любой момент, воспользовавшись руководством.
2. Дополнение для программирования в императивном стиле TensorFlow Eager
Дополнение TensorFlow Eager сделало работу с библиотекой намного более гибкой и удобной. Это гибкая платформа МО для исследований и экспериментов с интуитивным интерфейсом, которая позволяет писать и сразу же построчно отлаживать код с помощью стандартных инструментов Python, а не строить объёмные графы, которые будут выполнены позже.
3. Нейросети можно строить построчно
Конструировать нейронные сети на TensorFlow становится проще, если знать о надстройке Keras. Она удобна и отличается простотой прототипирования, чего раньше очень недоставало TensorFlow. API tf.keras понравится всем, кто предпочитает объектно-ориентированное программирование и послойное моделирование нейросетей. За несколько строчек кода можно создать нейросеть прямого распространения с помощью стандартных методов, таких как регуляризация.
4. TensorFlow поддерживает не только Python
Поддержка всего одного языка — Python — долгое время была проблемой для тех разработчиков, которые им не владеют. Теперь с TensorFlow можно работать на множестве других языков от R до Swift и JavaScript.
5. Возможность работы в браузере
Что касается JavaScript, тренировать и запускать модели возможно в браузере с использованием TensorFlow.js. Здесь можно найти много демо-роликов.
Выше — пример определения позы человека в реальном времени в браузере с помощью TensorFlow.js. Опробовать нейросеть на себе можно здесь.
6. Лёгкая версия Lite для маломощных устройств
Платформа TensorFlow Lite позволяет запускать нейронные сети на разнообразных устройствах: древних, мобильных или интернета вещей, а её скорость в три раза выше по сравнению с оригинальной версией TensorFlow. Так, машинное обучение можно реализовать даже на Raspberry Pi или смартфоне. В своём выступлении Морони в прямом эфире перед тысячами зрителей демонстрирует процесс классификации изображений на Android-эмуляторе — и успешно.
7. Более мощные и специализированные аппаратные ресурсы
Те, кто устал ждать, пока их обычный процессор закончит обрабатывать данные для тренировки нейронной сети, могут воспользоваться облачными тензорными процессорами от Google, которые предназначены специально для работы с библиотекой TensorFlow. На данный момент открыто бета-тестирование третьей версии TPU.
8. Новые конвейеры данных стали намного лучше
API tf.data упрощает и делает более эффективной обработку входной информации в TensorFlow. А также обеспечивает быстрые, гибкие и удобные в использовании конвейеры, синхронизированные с обучением нейросети.
9. Библиотека натренированных моделей TensorFlow Hub
Необязательно создавать нейросети с нуля и в гордом одиночестве. Намного эффективнее прибегнуть к чужому, но уже готовому коду. TensorFlow Hub — это репозиторий открытых для всех и уже обученных модулей машинного обучения, которые можно использовать в проектах.
Что-то полезное можно также почерпнуть на официальном YouTube-канале и в блоге TensorFlow.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.