Theano

维基百科,自由的百科全书
跳到导航 跳到搜索
Aesara
開發者蒙特利尔大学蒙特利尔学习算法研究所英语Montreal Institute for Learning Algorithms(MILA)
PyMC开发团队
初始版本2007年,​15年前​(2007
穩定版本
2.8.2
(2022年8月22日,​33天前​(2022-08-22
源代码库github.com/aesara-devs/aesara
编程语言Python, CUDA
系統平台Linux, macOS, Windows
类型机器学习 函式库
许可协议3条款BSD许可证
网站aesara.readthedocs.io/en/latest/

Aesara(曾叫做Theano),是一个Python库和优化的编译器,用来操纵和求值数学表达式特别是矩阵值表达式[1]。在Aesara中,计算使用NumPy风格的语法来表达并被编译,用来在CPU或者GPU架构上高效的运行。

历史[编辑]

Theano的标志

Theano是开源项目[2],主要由蒙特利尔大学蒙特利尔学习算法研究所英语Montreal Institute for Learning Algorithms(MILA)开发[3]。软件名字取自古代哲学家Theano英语Theano (philosopher)

在2017年9月28日,Pascal Lamblin发布了来自约书亚·本希奥的一则信息,MILA负责人:由于更强大的工业参与者的竞争,主要的开发在1.0发行之后将会停止[4]。Theano 1.0.0随后在2017年11月15日发行[5]。在2018年5月17日,Chris Fonnesbeck代表PyMC开发团队写道:PyMC开发者将在他们退场后取得对Theano维护的控制权[6]。在2021年1月29日[7],他们开始对其分叉的Theano使用名字Aesara[8]

样例代码[编辑]

下列代码是Aesara用作介绍的例子。它定义具有类型double的2个标量ab及在它们上的运算(加法)的一个计算图,并接着建立一个Python函数f来进行实际计算。

import aesara
from aesara import tensor as at

# 声明2个符号浮点标量
a = at.dscalar("a")
b = at.dscalar("b")

# 建立一个简单的表达式
c = a + b

# 将这个表达式转换成一个可调用对象,
# 它接收(a, b)值作为输入并计算出一个值给c
f_c = aesara.function([a, b], c)

# 绑定1.5至'a',2.5至'b',并求值'c'
assert f_c(1.5, 2.5) == 4.0

参见[编辑]

引用[编辑]

  1. ^ Bergstra, J.; O. Breuleux; F. Bastien; P. Lamblin; R. Pascanu; G. Desjardins; J. Turian; D. Warde-Farley; Y. Bengio. Theano: A CPU and GPU Math Expression Compiler (PDF). Proceedings of the Python for Scientific Computing Conference (SciPy) 2010. 30 June 2010 [2020-11-06]. (原始内容存档 (PDF)于2020-11-01). 
  2. ^ Github Repository. [2020-11-06]. (原始内容存档于2020-11-16). 
  3. ^ deeplearning.net. [2020-11-06]. (原始内容存档于2017-12-13). 
  4. ^ Lamblin, Pascal. MILA and the future of Theano. theano-users (邮件列表). 28 September 2017 [28 September 2017]. (原始内容存档于2011-01-22). 
  5. ^ Release Notes – Theano 1.0.0 documentation. [2020-11-06]. (原始内容存档于2020-09-14). 
  6. ^ Developers, PyMC. Theano, TensorFlow and the Future of PyMC. Medium. 2019-06-01 [2019-08-27]. (原始内容存档于2020-08-06) (英语). 
  7. ^ Theano-2.0.0. 
  8. ^ Aesara is a Python library for defining, optimizing, and efficiently evaluating mathematical expressions involving multi-dimensional arrays. [2022-08-31]. (原始内容存档于2022-08-28). 

外部链接[编辑]