Google випустила Tangent, нову Python-бібліотеку для машинного навчання [*]


Новий підхід до автодифференціювання.

Tangent – нова відкрита Python-бібліотека для автоматичного диференціювання. Вона приймає на вхід Python-функцію f і створює нову Python-функцію, яка обчислює градієнт f. Це спрощує і збільшує наочність градієнтних обчислень.

В існуючих бібліотеках автоматичне диференціювання виконується або під час виконання програми (наприклад, TF Eager, PyTorch і Autograd), або шляхом побудови динамічного графа потоків даних, який потім диференціюється (TensorFlow). Tangent же здійснює диференціювання в самому вихідному коді Python, надаючи на виході новий Python-код. Отримана таким чином програма набагато простіше сприймається і піддається налагодженні, що економить час і робить розробку більш гнучкою.

За словами розробників, Tangent надає більше інструментів для автодифференціювання, ніж аналоги, і бібліотека повністю сумісна з TensorFlow і NumPy.

Як це працює?
Нова бібліотека нарівні з NumPy і TensorFlow надає інструкції до генерації похідних коду для кожної структури мови Python.

Tangent API:

import tangent
df = tangent.grad(f)

Ось що відбувається при виклику tangent.grad і передачі їй функції Python:

Вивести похідні можна за допомогою наступного коду:

import tangent
df = tangent.grad(f, verbose=1)

Подальший розвиток

Бібліотека знаходиться у відкритому доступі. Розробники попереджають, що це ще не фінальна версія, тому можуть виникати помилки.

Джерело: блог Google Open Source

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *