Win7_64环境theano的GPU配置

来源:互联网 发布:集中注意力训练软件 编辑:程序博客网 时间:2024/05/17 08:26

环境配置所需安装包

  • visual_studio_2010
  • VCForPython27.msi
  • cuda_5.5 win7环境64位版
  • anaconda2 win7环境64位版
    文件的下载和安装可以参考theano_windows环境官方安装教程
    文件的下载可以从百度网盘中下载:链接: https://pan.baidu.com/s/1cuZyea 密码: ghrp

安装步骤

文件在在完毕就可以安装啦
因为cuda的GPU加速依赖vs2008的C++编译器,官方文档中推荐下载vs2010,其中包含2008,并且发现其中包含x86和x64的编译器,所以虽然下载的是32位的但是其中包含C++64位的编译器,放心使用。
1. 安装vs2010,在安装过程中可以只安装C++的编译器,其他的C#什么的可以将打钩去掉,无需安装。如果出现安装失败,请查看本机是否已经安装了C++2010的相关版本,将其卸载后重新安装就可以了。
2. 安装CUDA,官方文档中推荐下载的是5.5版本,因为本机的N显卡并非非常高级,所以按照推荐下载。若读者的显卡为N卡较新推出,可以根据需要安装更高版本的CUDA。直接安装就可以,最好采用默认的安装位置,安装完毕后测试一下nvcc -V:nvcc -V
也可以打开NVIDIA CUDA Samples Browser,在search中输入【smoke】,运行程序
这里写图片描述
运行效果如图:
这里写图片描述
到此说明CUDA安装成功。
3. 下面安装 Microsoft Visual C++ Compiler for Python 2.7,使用管理员运行cmd程序,找到VCForPython2.7目录,输入:msiexec /i VCForPython27.msi ALLUSERS=1,文件会安装到C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0.
4. 当CUDA安装成功后,vs2010是可以卸载的。这个随便
5. 这步最重要,这步最重要,这步最重要。因为window和linux不同,theano代码的编译需要使用到GCC环境,但是window下并没有,所以就麻烦了。推荐直接安装anaconda2.7版本,下载直接安装,切记安装路径中不要有空格,不要有空格,不要有空格。这样python环境安装完成,这时可以看到环境变量PATH多了几个路径,不要惊慌,不要害怕,说明一切正常。测试一下,cmd中输入conda或python,conda会显示该命令的帮助信息,python则进入python编程环境。
6. 安装GCC环境,直接运行conda install mingw libpython,在cmd中直接输入就可以了,速度可能会比较慢,如果能翻墙就翻一下。如果中途Ctrl+C中断或网络问题中断,下次安装可能会产生错误”lockerror”,该错误多为中途中断产生。解决办法conda clean --lock,再次安装就可以啦。
7. 安装theano,直接运行pip install theano,搞定!
8. 配置环境
- 添加

PYTHON_PATH=E:\Anaconda2\Lib\site-packages\theano

根据自己环境修改。
- 添加theano的配置文件——.theanorc.txt,注意前面有个点。打开cmd不(需要管理员)这里写图片描述
图中标红的位置就是添加文件的地址。
- 添加文件内容

[global] openmp=False [blas] ldflags= [gcc] cxxflags=-IE:\Anaconda2\MinGW

其中cxxflags为anaconda路径
到此,theano的cpu版本已经配置完毕。
9. 测试一下

from theano import function, config, shared, sandboximport theano.tensor as Timport numpyimport timevlen = 10 * 30 * 768  # 10 x #cores x # threads per coreiters = 1000rng = numpy.random.RandomState(22)x = shared(numpy.asarray(rng.rand(vlen), config.floatX))f = function([], T.exp(x))print (f.maker.fgraph.toposort())t0 = time.time()for i in range(iters):    r = f()t1 = time.time()print ('Looping %d times took' % iters, t1 - t0, 'seconds')print ('Result is', r)if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):    print ('Used the cpu')else:    print ('Used the gpu')

运行产生CPU的输出。
或者
在python环境中输入

import theanotheano.test()

如果没有什么错误,说明搞定。其中theano.test() 会产生大量的输出信息,影响我们观察,推荐使用第一种。
以上所以得配置正确后,说明一切正常,下面就可以将配置改变成GPU的。
10. GPU配置
同样是配置刚才的.theanorc.txt文件,将内容修改为:

[global]openmp = Falsedevice = gpufloatX = float32allow_input_downcast=True[blas]ldflags =[gcc]cxxflags=-IE:\Anaconda2\MinGW[nvcc]flags = -LE:\Anaconda2\libscompiler_bindir = F:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\binfastmath = True

路径的内容,根据自己的安装做相应的修改。
再次测试一下,将刚才的测试代码再次运行,运行输出“Used the gpu”大功告成。

1 0
原创粉丝点击