значайно издание платформы машинного обучения , предоставляющая готове реализации различных алгоритмов глубокого машинного обучения, простой программный интерфейс для создания моделей на языке Python и низкоуровневый интерфейс для языка C++, позволяющий управлять построением и выполнением вычислительных графов. Код системы написан на языках C++ и Python и je pod licenco Apache.
Платформа изначально разработана командой Google Brain и используется в службах Google для распознавания речи, выделения лиц на фотографиях, определения схожести изображений, фильтрации спама в Gmail, новостей в Google News и организации перевода с учетом значения. Распределенные системы машинного обучения можно создавать на типовом оборудовании, благодаря встроенной поддержке в TensorFlow разделения вычислений на несколько CPU или GPU.
TensorFlow предоставляет библиотеку готовых алгоритмов численных вычислений, реализованных через графы потоков данных (data flow graphs). Узлы в таких графах реализуют математические операции или точки входа/выхода, в то время как ребра графа представляют многомерные массивы данных (тензоры), которые перетекают между узлами.
Узлы могут быть прикреплены к вычислительным устройствам и выполняться асинхронно, параллельно обрабатывая все подходящие к ним тензоры, что позволяет организовать одновременную работу узлов в нейронной сети по аналогии с одновременной активацией нейронов в мозге.
Основное внимание при подготовке новой версии уделено упрощению и удобству использования. :
- Для создания и тренировки моделей предложен новый высокоуровневый API , предоставляющий несколько вариантов интерфейсов для создания моделей (Sequential, Functional, Subclassing) с возможностью их (без предварительной компиляции) и с простым механизмом отладки;
- Dodana je API для организации моделей с минимальными изменениями существующего кода. Помимо возможности разделения вычислений на , доступна экспериментальная поддержка разделения процесса обучения на несколько независимых обработчиков и возможность задействования облачных (Tensor processing unit);
- Namesto deklarativnega modela za gradnjo grafov z izvajanjem preko tf.Session je bila dodana možnost pisanja običajnih funkcij v jeziku Python, ki jih lahko s klicem tf.function pretvorimo v grafe in jih nato na daljavo izvajamo, serijaliziramo ali optimiziramo za povečanje zmogljivosti;
- Dodajalnik , ki pretvarja tok Python ukazov v izraze TensorFlow, kar omogoča uporabo kode v jeziku Python znotraj funkcij, okrašenih s tf.function, tf.data, tf.distribute in tf.keras;
- V modelu SavedModel je bil poenoten format izmenjave modelov in dodana podpora za shranjevanje in obnavljanje stanja modelov. Zbrane modela za TensorFlow zdaj lahko uporabljamo v (na mobilnih napravah), (v brskalniku ali Node.js), in ;
- API-ji tf.train.Optimizers in tf.keras.Optimizers so bili poenoteni, namesto compute_gradients za izračun gradientov je bil predlagan nov razred ;
- Zmogljivost pri uporabi GPU je bila znatno povečana.
Hitrost učenja modelov na sistemih z GPU NVIDIA Volta in Turing se je povečala do trikrat; - veliko čiščenje API-ja, mnogi klici so bili preimenovani ali odstranjeni, podpora globalnim spremenljivkam v pomožnih metodah je bila ukinjena. Namesto tf.app, tf.flags, tf.logging je bil predlagan nov API absl-py. Za nadaljnjo uporabo starega API-ja je bil pripravljen modul compat.v1.
Izvor: opennet.ru
