Theano (software)

De Wikipedia, la enciclopedia libre
Theano
Información general
Tipo de programa software libre
Desarrollador Universidad de Montreal
Lanzamiento inicial 2008
Licencia licencia BSD de 3 cláusulas
Información técnica
Programado en Python
Versiones
Última versión estable 2.20.028 de marzo de 2024
Enlaces

Theano es una biblioteca de Python y un compilador de optimización para manipular y evaluar expresiones matemáticas, especialmente las que tienen valores matriciales.[1]​ En Theano, los cálculos se expresan utilizando una sintaxis similar a NumPy y se compilan para ejecutarse de manera eficiente en arquitecturas de CPU o GPU.

Historia[editar]

Theano es un proyecto de código abierto[2]​ desarrollado principalmente por el Instituto de Algoritmos de Aprendizaje de Montreal (MILA) en la Universidad de Montreal.[3]​ El nombre del software hace referencia al antiguo filósofo Theano, asociado durante mucho tiempo con el desarrollo de la media áurea.

El 28 de septiembre de 2017, Pascal Lamblin publicó un mensaje de Yoshua Bengio, director de MILA: el desarrollo principal cesaría después del lanzamiento de la versión 1.0 debido a las ofertas competitivas de los principales actores industriales.[4]​ Luego, Theano 1.0.0 se lanzó el 15 de noviembre de 2017.[5]​ El 17 de mayo de 2018, Chris Fonnesbeck escribió en nombre del equipo de desarrollo de PyMC[6]​ que los desarrolladores de PyMC asumirán oficialmente el control del mantenimiento de Theano una vez que renuncien. El 29 de enero de 2021, comenzaron a usar el nombre Aesara para su tenedor de Theano.[7]

Código de muestra[editar]

El siguiente código es el ejemplo original de Theano. Define un gráfico computacional con 2 escalares a y b de tipo doble y una operación entre ellos (suma) y luego crea una función de Python f que realiza el cálculo real.[8]

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)

Véase también[editar]

  • Software de aprendizaje profundo
  • Programación diferenciable

Referencias[editar]

  1. Bergstra, J.; O. Breuleux; F. Bastien; P. Lamblin; R. Pascanu; G. Desjardins; J. Turian; D. Warde-Farley et al. (30 de junio de 2010). «Theano: A CPU and GPU Math Expression Compiler». Proceedings of the Python for Scientific Computing Conference (SciPy) 2010. 
  2. «Github Repository». GitHub. 
  3. «deeplearning.net». Archivado desde el original el 13 de diciembre de 2017. Consultado el 1 de junio de 2023. 
  4. «MILA and the future of Theano», 2017-09-28, https://groups.google.com/forum/#!topic/theano-users/7Poq8BZutbY. 
  5. «Release Notes – Theano 1.0.0 documentation». Archivado desde el original el 14 de septiembre de 2020. Consultado el 1 de junio de 2023. 
  6. Developers, PyMC (1 de junio de 2019). «Theano, TensorFlow and the Future of PyMC». Medium (en inglés). Consultado el 27 de agosto de 2019. 
  7. «Theano-2.0.0». GitHub. 
  8. «Theano Documentation Release 1.0.0». LISA lab, University of Montreal. 21 de noviembre de 2017. p. 22. Consultado el 31 de agosto de 2018. 

Enlaces externos[editar]