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

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

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

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

Основну увагу при підготовці нової версії було приділено спрощенню та простоті використання. Деякі нововведення:

  • Для побудови та тренування моделей запропоновано новий високорівневий API Керас, що надає кілька варіантів інтерфейсів для побудови моделей (Sequential, Functional, Subclassing) з можливістю їх негайного виконання (без попередньої компіляції) та з простим механізмом налагодження;
  • Доданий API tf.distribute.Strategy для організації розподіленого навчання моделей із мінімальною зміною існуючого коду. Крім можливості рознесення обчислень на кілька GPU, доступна експериментальна підтримка рознесення процесу навчання на кілька незалежних обробників та можливість залучення хмарних ТПУ (Tensor processing unit);
  • Замість декларативної моделі побудови графа з виконанням через tf.Session надано можливість написання звичайних функцій мовою Python, які за допомогою виклику tf.function можуть бути перетворені на графи і потім віддалено виконані, серіалізовані або оптимізовані для підвищення продуктивності;
  • Додано транслятор Автограф, що перетворює потік команд Python у вирази TensorFlow, що дозволяє використовувати код на мові Python всередині функцій tf.function-decorated, tf.data, tf.distribute та tf.keras;
  • У SavedModel уніфіковано формат обміну моделями та додано підтримку збереження та відновлення стану моделей. Зібрані для TensorFlow моделі тепер можуть бути використані в TensorFlow Lite (На мобільних пристроях), TensorFlow JS (у браузері або Node.js), Обслуговування TensorFlow и Концентратор TensorFlow;
  • Уніфіковані 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.

Джерело: opennet.ru

Додати коментар або відгук