Google выпустила Tangent, новую Python-библиотеку для машинного обучения
Новости
Новый подход к автодифференцированию.
6К открытий6К показов
Tangent — новая открытая Python-библиотека для автоматического дифференцирования. Она принимает на вход Python-функцию f и создает новую Python-функцию, вычисляющую градиент f. Это упрощает и увеличивает наглядность градиентных вычислений.
В существующих библиотеках автоматическое дифференцирование выполняется либо во время выполнения программы (например, TF Eager, PyTorch и Autograd), либо путем построения динамического графа потоков данных, который затем дифференцируется (TensorFlow). Tangent же осуществляет дифференцирование в самом исходном коде Python, предоставляя на выходе новый Python-код. Полученная таким образом программа намного проще воспринимается и поддается отладке, что экономит время и делает разработку более гибкой.
По словам разработчиков, Tangent предоставляет больше инструментов для автодифференцирования, чем аналоги, и библиотека полностью совместима с TensorFlow и NumPy.
Как это работает?
Новая библиотека наравне с NumPy и TensorFlow предоставляет инструкции к генерации производных кода для каждой структуры языка Python.
Tangent API:
Вот что происходит при вызове tangent.grad
и передаче ей функции Python:
Вывести производные можно с помощью следующего кода:
Дальнейшее развитие
Библиотека находится в открытом доступе. Разработчики предупреждают, что это еще не финальная версия, поэтому возможны ошибки.
6К открытий6К показов