theano的安装
因为看这个问题的知友可能想安装theano,除了下面这个安装方式其余都是错的,我折腾了两天,python卸了装,装了卸好几次,仅仅在这个下面安装成功
要做卷积神经网络的一些东西,所以要装theano,网上很多Theano安装教程版本较老,而各安装包更新很快,参考价值有限。走了很多弯路才装好,把这个过程记录下来,希望对大家有帮助~ ~
我的配置:win7,32位(64和32位安装步骤没差,下安装包版本有差而已),vs2012
首先推荐一篇英文安装指南,写的十分详细,很多安装指南都是参考的这篇。不过因为这篇里存在着一些冗余成分,个人酌情参考,不过遇到难题时可以看看:Installing Theano
0.操作系统
ubuntu下安装会比windows下省事很多,但是好像是直接装进系统里的,python出问题会崩系统(忘了从哪里看的了),可以考虑pip个虚拟环境。我平时的工作环境是windows,并不好装,但是用起来方便一点(个人感觉)。
1.安装anaconda(已内置python,numpy和scipy两个必要库以及一些其他库,自带安装。)
地址:http://www.continuum.io/downloads
选择原因:安装简单,网上参考资料多。
也有人会选pythonxy,提醒一下,网上pythonxy资源不多,我装完pythonxy, import theano之后出现了这个问题ImportError: not import name gof,百度谷歌上能试的解决方式我都试了,然并卵。
也有可能没有内置numpy等等,请按照如下方式安装:
Anaconda的一些命令(在Anaconda的命令行窗口输入):
conda list #该命令,将列出Anaconda安装的所有应用包,我们可以看到Anaconda已经安装了numpy, nose, pip, python, scipy, mingw等等。
conda install <pkg name> #该命令用于安装应用包,如 conda install numpy.
pip install <pkg name> #该命令用于安装应用包,如 pip install theano.
conda update <pkg name> #升级应用包,如 conda update python
2.安装mingw
装完anaconda直接pip install theano是行不通的,在python里搜g++会发现搜不到,有些参考资料里面写:
添加环境变量: path: C:\Anaconda\MinGW\bin;C:\Anaconda\MinGW\x86_64-w64-mingw32\lib;
新建环境变量:PYTHONPATH: C:\Anaconda\Lib\site-packages\theano;
问题在于anaconda底下根本没有MinGW包,不要听信什么自己下个zip,安装到anaconda底下,正确方法:cmd输入:conda install mingw libpython
MinGW等文件夹会自动装到anaconda下面,life is short, save your time.
3.环境配置
在用户变量中,PATH添加C:\Anaconda;C:\Anaconda\Scripts;
并新建 PYTHONPATH:C:\Anaconda\Lib\site-packages\theano;
在cmd的home目录中新建 .theanorc.txt 文件(注意名字中的“.”),根据自己安装MinGW的路径写上MinGW的路径,我的如下:
[blas]
ldflags=
[gcc]
cxxflags = -IC:\Anaconda\MinGW
重启电脑
4.安装theano
别用什么theano.zip解压到目录底下或者theano_installer_latest.msi,不嫌麻烦你就去试,正确方式:cmd输入:pip install theano
(pip用法看这里:pip 安装使用详解)
装完之后在ipython中输入以下两行代码测试一下:
import theano
theano.test()
没有error的话,恭喜你,安装成功了~ ~
5.GPU加速
GPU加速首先就是安装CUDA,然而CUDA只支持NVIDIA显卡,因为CUDA软件就是他家出的,如果你的本并不是NVIDIA显卡,别费劲了
6.BLAS
看看numpy是不是已经默认BLAS加速了,在python里输入:
import numpy
id(numpy.dot) == id(numpy.core.multiarray.dot)
结果为False表示已经成功依赖了BLAS加速,如果是Ture则表示用的是python自己的实现,并没有加速。
参考(然而他们的完全有用的话,我就没必要写这些了~ ~):
下面这些都是胡扯
http://blog.163.com/yuyang_tech/blog/static/216050083201469101518900/