Google випустила TensorFlow 1.0


TensorFlow 1.0 з моделлю нейромережі нового покоління Inception підтримує апаратне прискорення на DSP Hexagon в мобільні процесори Qualcomm Snapdradon 820. Швидкість роботи додатків на зразок Prism і програм машинного зору збільшиться у 8 разів, а енергоспоживання знизиться в 4 рази. Фільтри від нейромереж можна буде накладати на відео майже в реальному часі

На першій конференції для розробників TensorFlow Dev Summit Google оголосила про вихід мажорного релізу бібліотеки TensorFlow 1.0, назад несумісного з попередніми версіями. Це означає, що програми, які працювали на версіях TensorFlow 0.n, можуть не працювати на версії TensorFlow 1.0. Розробники з Google говорять, що зміни в API були необхідні «для забезпечення внутрішньо узгоджених програмних інтерфейсів», і більше такого не повториться: ламають зворотну сумісність змін в майбутніх версіях 1.x не планується. Зараз розробникам рекомендується вивчити керівництво з міграції і скрипт для перетворення.

TensorFlow — вільна програмна бібліотека для машинного навчання в застосуванні до різних видів завдань на сприйняття і розуміння мови. В даний момент вона використовується в науково-дослідній роботі і в десятках комерційних продуктів Google, в тому числі в Google Search, Gmail, Photos, Youtube, Translate, Assistant, а так само всіляких системах розпізнавання, в тому числі розпізнавання мови.

Інші нововведення з випуском TensorFlow 1.0:

  • Інтерфейси Python API змінилися для більшої схожості з NumPy. Це одне з тих змін, з якими пов'язана ломка зворотної сумісності.
  • Експериментальні інтерфейси для Java і Go.
  • Високорівневі модулі програмних інтерфейсів
    tf.layers
    ,
    tf.metrics
    та
    tf.losses
    поверх tf.contrib.learn після об'єднання з skflow і TF Slim.
  • Експериментальний реліз XLA, проблемно-залежного компілятора для графів TensorFlow, що працює для CPU і GPU. Цей компілятор швидко розвивається, так що незабаром можна чекати нових релізів.
  • Поява дебагера TensorFlow (tfdbg) з інтерфейсом командного рядка і API для дебаггінга працюючих програм TensorFlow.
  • Нові демо для Android з прикладами Android-додатків, що використовують TensorFlow.
  • Поліпшення процедурі установки: додано docker-образи Python 3, а pip-пакети TensorFlow тепер сумісні з PyPI, тобто TensorFlow зараз встановлюється простою командою
    pip install tensorflow
    .
Тепер фреймворк для машинного навчання TensorFlow виходить на новий рівень: він офіційно готовий до використання у виробництві. Google заявила, що програмні інтерфейси тепер «більше, ніж коли-небудь» мають статус "production-ready".


Використання нейромережі Gmail для автоматичного складання короткої відповіді на лист з аналізом контексту (текст вхідного листа, на який потрібно скласти відповідь)

Спочатку бібліотека TensorFlow розроблена фахівцями науково-дослідного підрозділу Google Brain для внутрішніх потреб компанії, але в листопаді 2015 року її випустили під вільною ліцензією Apache 2.0. Безпосереднім попередником TensorFlow в компанії Google була система DistBelief — проприетарная система першого покоління. Пізніше над рефакторінгом і спрощенням кодової бази DistBelief працювали відомі фахівці, в тому числі Джефф Дін і Джеффрі Хінтон. Їм поставили завдання підготувати більш швидку і надійну бібліотеку, готову для використання у багатьох реальних додатках. Результатом цієї роботи стала TensorFlow.



У 2016 році розробники зосередилися на підвищення продуктивності TensorFlow, наприклад, багатовимірний граф став займати менше місця в пам'яті.

Еталонна реалізація TensorFlow від компанії Google працює на CPU і GPU. На графічних процесорах відеокарт можливі розрахунки в додатках для загальних обчислень з допомогою додаткового розширення CUDA для GPGPU. TensorFlow працює на 64-бітних серверах і настільних комп'ютерах Linux, Windows і Mac OS X, а також на мобільних платформах, в тому числі Android і iOS.

Обчислення TensorFlow виражаються як графи потоків даних зі збереженням стану (stateful). Бібліотека алгоритмів від Google інструктує нейронні мережі сприймати інформацію та розмірковувати подібно людині, так що нові додатки спочатку володіють такими «людськими» якостями. Сама назва TensorFlow походить від назви операцій, які ці нейромережі здійснюють над багатовимірними масивами даних. Ці багатовимірні масиви іменуються «тензорами», як однойменні математичні об'єкти, лінійно перетворюючі елементи одного лінійного простору в елементи іншого. Завдання TensorFlow — вчити нейромережі виявляти і розпізнавати патерни і кореляції у масивах даних.

Візуалізація багатовимірного простору і техніки t-SNE для нелінійного зниження розмірності і візуалізації багатовимірних змінних (t-distributed stochastic neighbor embedding)

З такими вихідними даними не дивно, що відкрита бібліотека TensorFlow швидко стала стандартом де-факто в машинному навчанні, судячи за статистикою Github.



Все найцікавіше в машинному навчанні тільки починається. Скоро Google обіцяє викласти у відкритий доступ нову модель архітектури нейромережі Inception. Ця революційна розробка багаторазово прискорить роботу TensorFlow.

А ще TensorFlow тепер підтримує апаратне прискорення на цифровому сигнальному процесорі Hexagon. Цей DSP — частина системи на кристалі Qualcomm Snapdradon 820, якою оснащуються сучасні топові смартфони.

Разом з Java API, дебагером і іншими інструментами бібліотека TensorFlow 1.0 дійсно перетворюється у потужну сучасну платформу для розробки сучасного.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.