НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




01.10.2019

Выпуск системы машинного обучения TensorFlow 2.0

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

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

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

Основное внимание при подготовке новой версии было уделено упрощению и простоте использования. Некоторые новшества:

  • Для построения и тренировки моделей предложен новый высокоуровневый API Keras, предоставляющий несколько вариантов интерфейсов для построения моделей (Sequential, Functional, Subclassing) с возможностью их незамедлительного выполнения (без предварительной компиляции) и с простым механизмом отладки;
  • Добавлен API tf.distribute.Strategy для организации распределённого обучения моделей с минимальным изменением существующего кода. Помимо возможности разнесения вычислений на несколько GPU, доступна экспериментальная поддержка разнесения процесса обучения на несколько независимых обработчиков и возможность задействования облачных TPU (Tensor processing unit);
  • Вместо декларативной модели построения графа с выполнением через tf.Session предоставлена возможность написания обычных функций на языке Python, которые при помощи вызова tf.function могут быть преобразованы в графы и затем удалённо выполнены, сериализированы или оптимизированы для повышения производительности;
  • Добавлен транслятор AutoGraph, преобразующий поток команд Python в выражения TensorFlow, что позволяет использовать код на языке Python внутри функций tf.function-decorated, tf.data, tf.distribute и tf.keras;
  • В SavedModel унифицирован формат обмена моделями и добавлена поддержка сохранения и восстановления состояния моделей. Собранные для TensorFlow модели теперь могут быть использованы в TensorFlow Lite (на мобильных устройствах), TensorFlow JS (в браузере или Node.js), TensorFlow Serving и TensorFlow Hub;
  • Унифицированы API tf.train.Optimizers и tf.keras.Optimizers, вместо compute_gradients для вычисления градиентов предложены новый класс GradientTape;
  • Значительно увеличена производительность при использовании GPU. Скорость обучения моделей на системах с GPU NVIDIA Volta и Turing возросла до трёх раз;
  • Проведена большая чистка API, многие вызовы переименованы или удалены, прекращена поддержка глобальных переменных во вспомогательных методах. Вместо tf.app, tf.flags, tf.logging предложен новый API absl-py. Для продолжения использования старого API подготовлен модуль compat.v1.

Источники:

  1. opennet.ru








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru