win7+theano with GPU enabled

 要做卷积神经网络的一些东西,所以要装theano,网上很多Theano安装教程版本较老,而各安装包更新很快,参考价值有限。走了很多弯路才装好,把这个过程记录下来,希望对大家有帮助~ ~

       我的配置:win7,32位(64和32位安装步骤没差,下安装包版本有差而已),vs2012

       首先推荐一篇英文安装指南,写的十分详细,很多安装指南都是参考的这篇。不过因为这篇里存在着一些冗余成分,个人酌情参考,不过遇到难题时可以看看:http://deeplearning.net/software/theano/install.html#install

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,百度谷歌上能试的解决方式我都试了,然并卵。

2.安装mingw

       装完anaconda直接pip install theano是行不通的,在python里搜g++会发现搜不到,有些参考资料里面写:

       添加环境变量: path: C:AnacondaMinGWin;C:AnacondaMinGWx86_64-w64-mingw32lib;  

       新建环境变量:PYTHONPATH: C:AnacondaLibsite-packages heano;

         问题在于anaconda底下根本没有MinGW包,不要听信什么自己下个zip,安装到anaconda底下,正确方法:cmd输入:conda install mingw libpython

 MinGW等文件夹会自动装到anaconda下面,life is short, save your time.

3.环境配置

      在用户变量中,PATH添加C:Anaconda;C:AnacondaScripts; 

      并新建 PYTHONPATH:C:AnacondaLibsite-packages heano;

       在cmd的home目录,就是输入cmd后出现的路径。中新建 .theanorc.txt 文件(注意名字中的“.”),根据自己安装MinGW的路径写上MinGW的路径,我的如下:

[blas]
ldflags=


[gcc]
cxxflags = -IC:AnacondaMinGW

////////////////////////////////

[global]

floatX = float32

device = gpu

[nvcc]

fastmath = True

compiler_bindir=D:Program Files (x86)Microsoft Visual Studio 12.0VCincl.exe

[cuda]

C:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0

[gcc]

cxxflags = -ID:Anaconda2MinGW

[cuDNN]

D:caffecuda

      重启电脑

4.安装theano

       别用什么theano.zip解压到目录底下或者theano_installer_latest.msi,不嫌麻烦你就去试,正确方式:cmd输入:pip install theano

(pip用法看这里:http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa/)

       装完之后在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自己的实现,并没有加速。

 Can you try: pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git

参考(然而他们的完全有用的话,我就没必要写这些了~ ~):

http://blog.csdn.net/tulip561/article/details/46696113

http://blog.163.com/yuyang_tech/blog/static/216050083201469101518900/

http://www.cnblogs.com/hanahimi/p/4127026.html

http://blog.csdn.net/zhouyongsdzh/article/details/24449645

原文地址:https://www.cnblogs.com/love6tao/p/5769011.html