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

Alex Alex 03 жовтня 2019
Випуск системи машинного навчання TensorFlow 2.0

Представлений значний випуск платформи машинного навчання TensorFlow 2.0, що надає готові реалізації різних алгоритмів глибокого машинного навчання, простий програмний інтерфейс для побудови моделей на мові Python і низькорівневий інтерфейс для мови С ++, що дозволяє управляти побудовою і виконанням обчислювальних графів. Код системи написаний на мовах С ++ і 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.

Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Війти / Зареєструватися