Theano — это библиотека Python и оптимизирующий компилятор для обработки и оценки математических выражений, особенно матричнозначных. [2] В Theano вычисления выражаются с использованием синтаксиса в стиле NumPy и компилируются для эффективной работы на архитектурах CPU или GPU .
Theano — проект с открытым исходным кодом [3], изначально разработанный Монреальским институтом алгоритмов обучения (MILA) при Монреальском университете . [4]
Название программного обеспечения отсылает к древнему философу Теано , долгое время связанному с разработкой золотой середины .
28 сентября 2017 года Паскаль Ламблин опубликовал сообщение от Йошуа Бенджио , главы MILA: основная разработка прекратится после выпуска версии 1.0 из-за конкурирующих предложений от сильных промышленных игроков. [5] Затем, 15 ноября 2017 года, была выпущена версия Theano 1.0.0. [6]
17 мая 2018 года Крис Фоннесбек написал от имени команды разработчиков PyMC [7] , что разработчики PyMC официально возьмут на себя управление поддержкой Theano после того, как команда разработчиков MILA уйдет в отставку. 29 января 2021 года они начали использовать название Aesara для своего форка Theano. [8]
29 ноября 2022 года команда разработчиков PyMC объявила, что разработчики PyMC создадут ответвление проекта Aesara под названием PyTensor. [9]
Следующий код — это оригинальный пример Theano. Он определяет вычислительный граф с 2 скалярами a и b типа double и операцию между ними (сложение), а затем создает функцию Python f , которая выполняет фактическое вычисление. [10]
импортировать theano из тензора импорта theano # Объявляем два символических скаляра с плавающей точкой a = tensor . dscalar () b = tensor . dscalar ()# Создайте простое выражение c = a + b# Преобразовать выражение в вызываемый объект, который принимает (a, b) # значения в качестве входных данных и вычисляет значение для c f = theano . function ([ a , b ], c )# Привязать 1.5 к 'a', 2.5 к 'b' и оценить 'c' assert 4.0 == f ( 1.5 , 2.5 )