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

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

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

Версия 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").

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

Источник: http://www.opennet.ru/opennews/art.shtml?num=46058