导读:NumPy是数据计算的基础,更是深度学习框架的基石。但如果直接使用NumPy计算大数据,其性能已成为一个瓶颈。
随着数据爆炸式增长,尤其是图像数据、音频数据等数据的快速增长,迫切需要突破NumPy性能上的瓶颈。需求就是强大动力!通过大家的不懈努力,在很多方面取得可喜进展,如硬件有GPU,软件有Theano、Keras、TensorFlow,算法有卷积神经网络、循环神经网络等。
作者:吴茂贵,王冬,李涛,杨本法
如需转载请联系华章科技

Theano是Python的一个库,为开源项目,在2008年,由Yoshua Bengio领导的加拿大蒙特利尔理工学院LISA实验室开发。对于解决大量数据的问题,使用Theano可能获得与手工用C实现差不多的性能。另外通过利用GPU,它能获得比CPU上快很多数量级的性能。
至于Theano是如何实现性能方面的跨越,如何用“符号计算图”来运算等内容,本文都将有所涉猎,但限于篇幅无法深入分析,只做一些基础性的介绍。涵盖的主要内容:
- 如何安装Theano。
- 符号变量是什么。
- 如何设计符号计算图。
- 函数的功能。
- 共享变量的妙用。
Theano开发者在2010年公布的测试报告中指出:在CPU上执行程序时,Theano程序性能是NumPy的1.8倍,而在GPU上是NumPy的11倍。这还是2010年的测试结果,近些年无论是Theano还是GPU,性能都有显著提高。
这里我们把Theano作为基础来讲,除了性能方面的跨越外,它还是“符合计算图”的开创者,当前很多优秀的开源工具,如TensorFlow、Keras等,都派生于或借鉴了Theano的底层设计。所以了解Theano的使用,将有助于我们更好地学习TensorFlow、Keras等其他开源工具。

01 安装
这里主要介绍Linux+Anaconda+theano环境的安装说明,在CentOS或Ubuntu环境下,建议使用Python的Anaconda发行版,后续版本升级或添加新模块可用Conda工具。当然也可用pip进行安装。但最好使用工具来安装,这样可以避免很多程序依赖的麻烦,而且日后的软件升级维护也很方便。
Theano支持CPU、GPU,如果使用GPU还需要安装其驱动程序如CUDA等,限于篇幅,这里只介绍CPU的,有关GPU的安装,大家可参考:
http://www.deeplearning.net/software/theano/install.html
以下为主要安装步骤:
1. 安装anaconda
从anaconda官网下载Linux环境最新的软件包,Python版本建议选择3系列的,2系列后续将不再维护。
anaconda官网:
https://www.anaconda.com/download/
下载文件为一个sh程序包,如Anaconda3-4.3.1-Linux-x86_64.sh,然后在下载目录下运行如下命令:
bash Anaconda3-4.3.1-Linux-x86_64.sh安装过程中按enter或y即可,安装完成后,程序提示是否把anaconda的binary加入到.bashrc配置文件中,加入后运行python、ipython时将自动使用新安装的Python环境。
安装完成后,你可用conda list命令查看已安装的库:
conda list安装成功的话,应该能看到numpy、scipy、matplotlib、conda等库。
2. 安装theano
利用conda 来安装或更新程序:
conda install theano3. 测试
先启动Python,然后导入theano模块,如果不报错,说明安装成功。
$ PythonPython 3.6.0 |Anaconda custom (64-bit)| (default, Dec 23 2016, 12:22:00) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linuxType "help
NumPy在处理大数据时性能存在瓶颈,Theano作为Python库可突破此瓶颈。本文介绍了Theano的性能优势,如在CPU和GPU上比NumPy快数倍,还介绍了Linux+Anaconda+theano环境的安装步骤,包括安装anaconda、theano及测试方法。

479

被折叠的 条评论
为什么被折叠?



