<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Theano</id>
	<title>Theano - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Theano"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Theano&amp;action=history"/>
	<updated>2026-07-18T23:52:00Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Theano&amp;diff=3545957&amp;oldid=prev</id>
		<title>2025年12月26日 (五) 17:57 imported&gt;ExultantEditor</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Theano&amp;diff=3545957&amp;oldid=prev"/>
		<updated>2025-12-26T17:57:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox software&lt;br /&gt;
| name = Theano&lt;br /&gt;
| logo = File:Theano_logo.svg&lt;br /&gt;
| logo_size = 260px&lt;br /&gt;
| author = [[蒙特利尔大学]]的{{le|蒙特利尔学习算法研究所|Montreal Institute for Learning Algorithms}}（MILA）&lt;br /&gt;
| developer = [[PyMC]]开发团队&lt;br /&gt;
| released = {{Start date and age|df=yes|2007}}&lt;br /&gt;
| latest release version = &lt;br /&gt;
| latest release date = &lt;br /&gt;
| repo = &lt;br /&gt;
| programming language = [[Python]], [[CUDA]]&lt;br /&gt;
| platform = [[Linux]], [[macOS]], [[Windows]]&lt;br /&gt;
| genre = [[机器学习]], [[函式库]]&lt;br /&gt;
| license = [[BSD许可证|3条款BSD许可证]]&lt;br /&gt;
| website = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Theano&amp;#039;&amp;#039;&amp;#039;及其分叉&amp;#039;&amp;#039;&amp;#039;PyTensor&amp;#039;&amp;#039;&amp;#039;，是一个[[Python]]库和优化的编译器，用来操纵和求值数学表达式特别是矩阵值表达式&amp;lt;ref&amp;gt;{{cite journal |last=Bergstra |first=J. |author2=O. Breuleux |author3=F. Bastien |author4=P. Lamblin |author5=R. Pascanu |author6=G. Desjardins |author7=J. Turian |author8=D. Warde-Farley |author9=Y. Bengio |title=Theano: A CPU and GPU Math Expression Compiler |journal=Proceedings of the Python for Scientific Computing Conference (SciPy) 2010 |date=30 June 2010 |url=http://www.iro.umontreal.ca/~lisa/pointeurs/theano_scipy2010.pdf |access-date=2020-11-06 |archive-date=2020-11-01 |archive-url=https://web.archive.org/web/20201101042841/http://www.iro.umontreal.ca/~lisa/pointeurs/theano_scipy2010.pdf |dead-url=no }}&amp;lt;/ref&amp;gt;。在其中，计算使用[[NumPy]]风格的语法来表达并被[[编译器|编译]]，用来在CPU或者[[图形处理器通用计算|GPU]]架构上高效的运行。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
Theano是[[开放源代码|开源]]项目&amp;lt;ref&amp;gt;{{cite web|title=Github Repository|url=https://github.com/Theano/Theano/|accessdate=2020-11-06|archive-date=2020-11-16|archive-url=https://web.archive.org/web/20201116203703/https://github.com/Theano/Theano|dead-url=no}}&amp;lt;/ref&amp;gt;，主要由[[蒙特利尔大学]]的{{le|蒙特利尔学习算法研究所|Montreal Institute for Learning Algorithms}}（MILA）开发&amp;lt;ref&amp;gt;{{cite web|url=http://deeplearning.net/|title=deeplearning.net|accessdate=2020-11-06|archive-date=2017-12-13|archive-url=https://web.archive.org/web/20171213184650/http://deeplearning.net/|dead-url=yes}}&amp;lt;/ref&amp;gt;。软件名字取自古代哲学家{{le|Theano (哲学家)|Theano (philosopher)|Theano}}。在2017年9月28日，Pascal Lamblin发布了来自[[约书亚·本希奥]]的一则信息，MILA负责人说：由于更强大的工业参与者的竞争，主要的开发在1.0发行之后将会停止&amp;lt;ref&amp;gt;{{cite mailing list |url=https://groups.google.com/forum/#!topic/theano-users/7Poq8BZutbY |title=MILA and the future of Theano |date=28 September 2017 |accessdate=28 September 2017 |mailing-list=theano-users |last=Lamblin |first=Pascal |archive-date=2011-01-22 |archive-url=http://arquivo.pt/wayback/20110122130054/https://groups.google.com/forum/#!topic/theano-users/7Poq8BZutbY |dead-url=no }}&amp;lt;/ref&amp;gt;。Theano 1.0.0随后在2017年11月15日发行&amp;lt;ref&amp;gt;{{cite web|url=http://deeplearning.net/software/theano/NEWS.html|title=Release Notes – Theano 1.0.0 documentation|accessdate=2020-11-06|archive-date=2020-09-14|archive-url=https://web.archive.org/web/20200914204342/http://deeplearning.net/software/theano/NEWS.html|dead-url=yes}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
在2018年5月17日，Chris Fonnesbeck代表[[PyMC]]开发团队写道：PyMC开发者将在他们退场后取得对Theano维护的控制权&amp;lt;ref&amp;gt;{{Cite web|url=https://medium.com/@pymc_devs/theano-tensorflow-and-the-future-of-pymc-6c9987bb19d5|title=Theano, TensorFlow and the Future of PyMC|last=Developers|first=PyMC|date=2019-06-01|website=Medium|language=en|access-date=2019-08-27|archive-date=2020-08-06|archive-url=https://web.archive.org/web/20200806150843/https://medium.com/@pymc_devs/theano-tensorflow-and-the-future-of-pymc-6c9987bb19d5|dead-url=no}}&amp;lt;/ref&amp;gt;。在2021年1月绝大部份的Theano代码基被重新建造，并增加了通过[[JAX]]和[[Numba]]的编译，修订后的这个计算后端以新名字Aesara发行。2022年11月28日，PyMC团队宣布采用从Aesara计划分叉出PyTensor&amp;lt;ref&amp;gt;{{cite web|url=https://www.pymc.io/blog/pytensor_announcement.html#pytensor_announcement|title=PyMC forked Aesara to PyTensor|access-date=2023-08-17|archive-date=2023-07-18|archive-url=https://web.archive.org/web/20230718090637/https://www.pymc.io/blog/pytensor_announcement.html#pytensor_announcement|dead-url=no}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==样例代码==&lt;br /&gt;
下列代码以PyTensor用作介绍的例子：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pytensor&lt;br /&gt;
from pytensor import tensor as pt&lt;br /&gt;
&lt;br /&gt;
# 声明2个符号浮点标量&lt;br /&gt;
a = pt.dscalar(&amp;quot;a&amp;quot;)&lt;br /&gt;
b = pt.dscalar(&amp;quot;b&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# 建立一个简单的表达式&lt;br /&gt;
c = a + b&lt;br /&gt;
&lt;br /&gt;
# 将这个表达式转换成一个可调用对象，&lt;br /&gt;
# 它接收&amp;#039;(a, b)&amp;#039;值作为输入并计算出一个值给&amp;#039;c&amp;#039;&lt;br /&gt;
f_c = pytensor.function([a, b], c)&lt;br /&gt;
&lt;br /&gt;
assert f_c(1.5, 2.5) == 4.0&lt;br /&gt;
&lt;br /&gt;
# 计算样例表达式关于&amp;#039;a&amp;#039;的梯度&lt;br /&gt;
dc = pytensor.grad(c, a)&lt;br /&gt;
&lt;br /&gt;
f_dc = pytensor.function([a, b], dc)&lt;br /&gt;
&lt;br /&gt;
assert f_dc(1.5, 2.5) == 1.0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pycon&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import pytensor&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; from pytensor import tensor as pt&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; # 通过&amp;#039;pytensor.function&amp;#039;编译函数还能优化表达式图&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; # 它会移除不必要的运算并将特定运算替代为更有效的运算&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; v = pt.vector(&amp;quot;v&amp;quot;)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; M = pt.matrix(&amp;quot;M&amp;quot;)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; d = a/a + (M + a).dot(v)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; pytensor.dprint(d)&lt;br /&gt;
Add [id A]&lt;br /&gt;
 ├─ ExpandDims{axis=0} [id B]&lt;br /&gt;
 │  └─ True_div [id C]&lt;br /&gt;
 │     ├─ a [id D]&lt;br /&gt;
 │     └─ a [id D]&lt;br /&gt;
 └─ dot [id E]&lt;br /&gt;
    ├─ Add [id F]&lt;br /&gt;
    │  ├─ M [id G]&lt;br /&gt;
    │  └─ ExpandDims{axes=[0, 1]} [id H]&lt;br /&gt;
    │     └─ a [id D]&lt;br /&gt;
    └─ v [id I]&lt;br /&gt;
&amp;lt;_io.TextIOWrapper name=&amp;#039;&amp;lt;stdout&amp;gt;&amp;#039; mode=&amp;#039;w&amp;#039; encoding=&amp;#039;utf-8&amp;#039;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; f_d = pytensor.function([a, v, M], d)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; # &amp;#039;a/a&amp;#039; -&amp;gt; &amp;#039;1&amp;#039;而点积被替代为BLAS函数(i.e. CGemv)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; pytensor.dprint(f_d)&lt;br /&gt;
Add [id A] 5&lt;br /&gt;
 ├─ [1.] [id B]&lt;br /&gt;
 └─ CGemv{inplace} [id C] 4&lt;br /&gt;
    ├─ AllocEmpty{dtype=&amp;#039;float64&amp;#039;} [id D] 3&lt;br /&gt;
    │  └─ Shape_i{0} [id E] 2&lt;br /&gt;
    │     └─ M [id F]&lt;br /&gt;
    ├─ 1.0 [id G]&lt;br /&gt;
    ├─ Add [id H] 1&lt;br /&gt;
    │  ├─ M [id F]&lt;br /&gt;
    │  └─ ExpandDims{axes=[0, 1]} [id I] 0&lt;br /&gt;
    │     └─ a [id J]&lt;br /&gt;
    ├─ v [id K]&lt;br /&gt;
    └─ 0.0 [id L]&lt;br /&gt;
&amp;lt;_io.TextIOWrapper name=&amp;#039;&amp;lt;stdout&amp;gt;&amp;#039; mode=&amp;#039;w&amp;#039; encoding=&amp;#039;utf-8&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
* {{le|深度学习软件比较|Comparison of deep learning software}}&lt;br /&gt;
* [[可微分编程]]&lt;br /&gt;
&lt;br /&gt;
==引用==&lt;br /&gt;
{{Reflist|2}}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
* {{Official website|https://github.com/aesara-devs/aesara}} (GitHub)&lt;br /&gt;
* [http://deeplearning.net/software/theano/ Theano]{{Wayback|url=http://deeplearning.net/software/theano/ |date=20201108233358 }} at Deep Learning, Université de Montréal&lt;br /&gt;
&lt;br /&gt;
{{深度学习软件}}&lt;br /&gt;
{{Differentiable computing|state=collapsed}}&lt;br /&gt;
&lt;br /&gt;
[[Category:阵列编程语言]]&lt;br /&gt;
[[Category:深度学习]]&lt;br /&gt;
[[Category:自由科学软件]]&lt;br /&gt;
[[Category:数值分析语言]]&lt;br /&gt;
[[Category:Python科学库]]&lt;br /&gt;
[[Category:使用BSD许可证的软件]]&lt;/div&gt;</summary>
		<author><name>imported&gt;ExultantEditor</name></author>
	</entry>
</feed>