Новости и события » Hi-Tech » Выпуск платформы машинного обучения TensorFlow 1.0 и открытие системы классификации изображений ResNeXt

Выпуск платформы машинного обучения TensorFlow 1.0 и открытие системы классификации изображений ResNeXt

Компания Google представила первый стабильный выпуск платформы машинного обучения TensorFlow, предоставляющей готовые реализации различных алгоритмов глубокого машинного обучения. Предоставляется простой программный интерфейс для построения моделей на языке Python и низкоуровневый интерфейс для языка С++, позволяющий управлять построением и выполнением вычислительных графов.

Платформа развивается командой Google Brain и используются в сервисах Google для распознавания речи, выделения лиц на фотографиях, определение схожести изображений, отсеивание спама в Gmail и организации перевода с учетом смысла. С момента открытия кода платформа также была задействована в нескольких независимых исследовательских проектах, нацеленных на создание мобильных приложений для определение рака кожи и профилактики слепоты у больных сахарным диабетом. Код системы написан на языках С++ и Python и распространяется под лицензией Apache.

Версия TensorFlow 1.0 примечательна стабилизацией API для языка Python, который в дальнейшем будет меняться только с сохранением обратной совместимости, а также добавлением экспериментальных API для языков Java и Go. Среди других улучшений:

  • Подготовлен выскопроизводительный предметно-ориентированный компилятор XLA (Accelerated Linear Algebra) для ускорения операций линейной алгебры. Компилятор поддерживает как режим компиляции на лету (JIT), так и классическую предварительную компиляцию (AOT). Применение XLA позволяет значительно ускорить работу алгоритмов TensorFlow и сократить потребление памяти, сохранив при этом возможность использования как на обычных серверных и мобильных платформах, так и на системах со специализированными аппаратными ускорителями. Например, использование XLA позволяет ускорить обучение модели Inception v3 в 7.3 раза на системе с 8 GPU и в 58 раз в кластере из 64 GPU;
  • Из tf.contrib.learn в основной состав перенесен набор модулей (tf.layers, tf.metrics и tf.losses) c реализацией высокоуровневых API, упрощающих задействование средств машинного обучения в своих проектах.
  • Добавлен новый модуль tf.keras, обеспечивающий полную интеграцию с библиотекой построения нейронных сетей Keras.
  • API для языка Python переработано для большей схожести с API NumPy (для автоматической адаптации кода проектов к изменениям в API подготовлен скрипт);

  • Добавлен отладчик tfdbg), предоставляющий API и интерфейс командной строки для отладки приложений для TensorFlow во время их работы;

  • Подготовлен новый набор демонстрационных приложений для платформы Android с примерами реализации таких функций как определение объектов на изображении и корректировка картинки со встроенной камеры;

  • Для упрощения установки сформированы готовые Docker-образы и pip-пакеты, совместимые с PyPI (для установки TensorFlow теперь достаточно выполнить команду "pip install tensorflow").

TensorFlow предоставляет библиотеку готовых алгоритмов численных вычислений, реализованных через графы потоков данных (data flow graphs). Узлы в таких графах реализуют математические операции или точки входа/вывода, в то время как ребра графа представляют многомерные массивы данных (тензоры), которые перетекают между узлами. Узлы могут быть закреплены за вычислительными устройствами и выполняться асинхронно, параллельно обрабатывая разом все подходящие к ним тезоры, что позволяет организовать одновременную работу узлов в нейронной сети по аналогии с одновременной активацией нейронов в мозге. Распределенные системы машинного обучения можно создавать на типовом оборудовании, благодаря встроенной поддержке в TensorFlow разнесения вычислений на несколько CPU или GPU.

Дополнительно можно отметить продолжение публикации наработок по распознаванию объектов на фотографиях. Следом за реализацией алгоритмов DeepMask и SharpMask открыт код фреймворка ResNeXt с реализацией простой и модульной архитектуры классификации изображений и определения объектов на фотографиях, основанной на алгоритмах, изложенных в публикации "Aggregated Residual Transformations for Deep Neural Networks". Код написан на языке Lua в виде модуля к библиотеке глубинного машинного обучения Torch и распространяется под лицензией BSD. В дополнение к коду для загрузки под лицензией CC BY-NC 4.0 предлагается несколько готовых натренированных моделей нейронной сети для ResNeXt.


Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх