Меню

Главная
Случайная статья
Настройки
Theano
Материал из https://ru.wikipedia.org

Theano — библиотека численного вычисления в Python[1]. Вычисления в Theano выражаются NumPy-подобным синтаксисом и компилируются для эффективных параллельных вычислений как на обычных CPU, так и на GPU.

Theano является проектом с открытым исходным кодом[2], основным разработчиком которого является группа машинного обучения в Монреальском университете[3].

28 сентября 2017 года было объявлено о прекращении работы над проектом после выхода релиза 1.0, при этом обещано сохранение его минимальной поддержки в течение одного года[4].

Содержание

Описание системы

Theano представляет собой библиотеку на языке Python для вычислений с многомерными массивами данных.[5]

Основные математические методы, операции и структуры данных, поддерживаемые Theano[6]:
  • работа с тензорами через структуру numpy.ndarray и поддержка множества тензорных операций
  • работа с разреженными матрицами через структуры SciPy.{csc, csr, bsr}_matrix и поддержка ряда операций с ними
  • многочисленные методы линейной алгебры, включая достаточно сложные
  • возможность в режиме работы создавать новые операции с графами
  • многочисленные операции по преобразованию графов
  • поддержка языка Python версий 2 и 3
  • поддержка GPU (CUDA и OpenCL)
  • поддержка стандарта Basic Linear Algebra Subprograms (BLAS) для процедур линейной алгебры


Планируется использование и поддержка следующих сред — C/C++, PTX, CAL, AVX[6]

Пример кода

Следующий код — оригинальный пример Theano. Он определяет вычислительный граф с двумя скалярами a и b типа double и операцией между ними (сложением), а затем создаёт функцию f, которая выполняет собственно вычисление.[7]
import theano
from theano import tensor

# Declare two symbolic floating-point scalars
a = tensor.dscalar()
b = tensor.dscalar()

# Create a simple expression
c = a + b

# Convert the expression into a callable object that takes (a, b)
# values as input and computes a value for c
f = theano.function([a, b], c)

# Bind 1.5 to 'a', 2.5 to 'b', and evaluate 'c'
assert 4.0 == f(1.5, 2.5)


Примечания
  1. Bergstra, J. (30 июня 2010). Theano: A CPU and GPU Math Expression Compiler (PDF). Proceedings of the Python for Scientific Computing Conference (SciPy) 2010. Архивировано (PDF) 1 ноября 2020. Дата обращения: 23 июля 2017.
  2. Github Repository. Дата обращения: 23 июля 2017. Архивировано 16 ноября 2020 года.
  3. deeplearning.net. Дата обращения: 23 июля 2017. Архивировано из оригинала 13 декабря 2017 года.
  4. Группы Google. groups.google.com. Дата обращения: 10 марта 2018. Архивировано 22 января 2011 года.
  5. Joel Grus. Data Science from Scratch. First Principles with Python. — O'REILLY, 2019. — ISBN 978-149190439-8. Архивная копия от 17 августа 2021 на Wayback Machine Источник. Дата обращения: 23 августа 2021. Архивировано 17 августа 2021 года.
  6. 1 2 Theano at a Glance. Дата обращения: 23 июля 2017. Архивировано 25 июля 2017 года.
  7. Theano Documentation Release 1.0.0 22. LISA lab, University of Montreal (21 ноября 2017). Дата обращения: 31 августа 2018.


Литература


Ссылка
Downgrade Counter