龙空技术网

#一天一个AI知识点# 什么是Theano深度学习?

海伦不是AI 64

前言:

现在各位老铁们对“pythontheano”大致比较着重,咱们都需要知道一些“pythontheano”的相关知识。那么小编同时在网络上收集了一些对于“pythontheano””的相关文章,希望姐妹们能喜欢,各位老铁们一起来了解一下吧!

简介

Theano 基于 Python,是最早的深度学习开源框架,在深度学习框架中是祖师级的存在。

它的开发始于 2007,是在BSD许可证下发布的一个开源项目,诞生于加拿大魁北克蒙特利尔大学的LISA实验室,是用一位希腊数学家的名字命名的。它也被大量地运用于教育行业和自我学习提升(例如:加拿大蒙特利尔大学的深度学习课程)。

Theano 严格来说是一个高效定义,优化,估算擅长处理多维数组的 Python 库,十分适合与其它深度学习库结合起来进行数据探索,高效地解决多维数组(numpy.ndarray)的计算问题。它设计的初衷是为了执行深度学习中大规模神经网络算法的运算。其实,Theano 可以被更好地理解为一个数学表达式的编译器:用符号式语言定义你想要的结果,该框架会对你的程序进行编译,在 GPU 或 CPU 中高效运行。在解决包含大量数据的问题时,使用Theano可实现比手写C 语言更快的编程速度。 而通过GPU加速,Theano甚至可以比基于CPU计算的C语言快上好几个数量级。

它具有以下这些特征:

是Numpy库的紧密整合:在Theano编译中使用numpy.ndarray

操作GPU:数据的紧凑性计算比CPU的效率高

高效的象征性差异:Theano一个或者多个输入时使用派生函数

高效、稳定优化

动态C代码产生:评估表达式的快速

大范围的单元测试和自我证实:检查和判断很多类型的错误,容错性好

Theano结合了计算机代数系统(Computer Algebra System,CAS)和优化编译器,还可以为多种数学运算生成定制的C语言代码。对于包含重复计算的复杂数学表达式任务,计算速度很重要,因此这种CAS和优化编译器的组合是很有用的。

对于需要将每种不同数学表达式都计算一遍的情况,Theano能够实现编译/解析计算量的最小化,但仍然会给出如自动微分那样的符号特征。

在过去很长一段时间内,Theano是深度学习开发与研究的行业标准。而且由于诞生于学界,Theano最初是为学术研究而设计的, 深度学习领域的许多学者至今仍在使用Theano。

但随着TensorFlow在谷歌的支持下强势崛起,Theano日渐式微,使用的人越来越少。在这个过程中标志性事件是:Theano创始者之一Ian Goodfellow放弃Theano转去谷歌开发TensorFlow了。

2017年9月28日,在Theano 1.0正式版发布前夕,LISA实验室负责人、深度学习三巨头之一的 Yoshua Bengio宣布Theano将停止继续开发:“Theano is Dead.”

尽管Theano正慢慢退出历史舞台,但作为第一个Python深度学习框架,Theano很好地完成了自己的使命,为深度学习研究人员早期拓荒提供了极大的帮助,同时也为之后深度学习框架的开发奠定了基本设计方向:以计算图为框架的核心,采用GPU加速计算。

总结:深度学习新手可以使用Theano来练习,但对于职业开发者,建议使用其他主流深度学习框架。

Theano的下载

Theano现在可从Pypi上获取,也可以通过命令easy_install Theano, pip install Theano来安装;或者通过下载安装包,然后使用命令python setup.py install 进行安装

如果你对theano其他特性比较感兴趣,您可以直接到github上下载源码:

git clone git://github.com/Theano/Theano.git

您可以通过$PYTHONPATH去放置和检查目录或者使用python setup.py develop安装.pth到您的site-packages目录,这样你就可以直接自动地拉取github上的theano代码了。想要了解更多关于theano的安装和配置信息,请参阅Theano的安装部分

标签: #pythontheano