Win7+Anaconda2+VS2013+CUDA8.0+Theano-0.8安装教程

Win7+Anaconda2+VS2013+CUDA8.0+Theano-0.8安装教程

Theano的安装真的是一部血泪史,花费了一个多星期的时间,终于在win7下和Ubuntu下安装theano成功,并且安装cuda、配置GPU工作。期间排了N多的坑,在这先说一下注意事项(避免各种坑):

    如果选择在Windows下安装Theano,建议安装Anaconda2,对应的是python2.7版本,还要解决VS和cuda的兼容性问题。在这里如果选择安装cuda8.0版本,相应的VS版本可以选择VS2010、VS2012和VS2013,切记不能安装VS2015。

如果选择VS2010或者VS2012,相应的cuda版本可以选择cuda6-cuda8期间的版本都可以。最需要注意的是Theano的版本,切记不要选择Theano的最新版本(Theano-1.0),因为Theano从0.9版本开始使用GPU Backend的安装方法,需要安装pygpu,并且如果自己的显卡计算能力低于3.0的话,device=cuda。同时,安装pygpu的话会有很多兼容性问题,很容易出错。所以在这里选择Theano-0.8的稳定版本。

       如果选择在Ubuntu下安装Theano,请参考另外一篇博文:https://blog.csdn.net/hczhcz0905/article/details/80424023

安装步骤如下:

(1):CUDA是NVIDIA提供可以使用C++进行GPU编程的接口,需要C++编译器,下载并安装VisualStudio Community 2013。要选择和cuda版本对应的VS版本。安装完成之后,配置环境变量:把  E:\software\VS2013\VC\bin和E:\software\VS2013\Common7\IDE目录添加到当前可搜索路径PATH里面。

(2):下载并安装CUDA8.0。首先,检查cuda支持的GPU显卡类型,

https://developer.nvidia.com/cuda-gpus

然后,安装cuda8.0。

检验cuda是否安装成功:

对于Windows用户而言,cmd命令行界面无法识别nvidia-smi命令,要将相关环境变量添加到系统的PATH中。C:\Program Files\NVIDIA Corporation\NVSMI

使用nvcc –V 查看安装的cuda版本信息,使用nvidia-smi查看显卡信息。

为验证Visual Sdudio工具是否能进行CUDA开发,并能识别CUDA程序,我们可以通过CUDA Toolkit提供的Samples进行测试。可以随便打开一个Samples例子,

如C:\ProgramData\NVIDIACorporation\CUDASamples\v7.5\1_Utilities\bandwidthTest\bandwidthTest_vs2013.sln程序:

这说明已经成功安装了CUDA和Visual Studio工具了,同时也很好集成了Visual Studio工具。

(3):下载并安装Anaconda24.2,该版本支持Python2.7。

 

使用conda设置国内的清华镜像:

(4):安装MinGW和LibPython包,在4.2版本以前的Anaconda环境中无法通过conda安装LibPython包的,会提示冲突,在4.2及以后的版本中修改了这个问题。只需在console中输入:

Conda install mingw libpython

然后,在系统环境变量中添加path,

E:\server\Anaconda2\MinGW\bin;E:\server\Anaconda2\MinGW\x86_64-w64-mingw32\lib;

(5):安装Theano,

打开CMD,不要进入python,输入:pipinstall theano==0.8

(6):要想有效运行theano还需要进一步配置,测试Theano在cpu下运行。

在个人主文件夹下新建一个“.theanorc.txt”的文档,例如我的在C:\Users\Administrator

并添加如下内容:

并使用官方提供的测试例子:test_gpu.py

from theano import function, config, shared 

import theano.tensor as T 

import numpy 

import time 

 

vlen = 10 * 30 * 768  # 10 x#cores x # threads per core 

iters = 1000 

 

rng = 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 xrange(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 inf.maker.fgraph.toposort()]): 

    print 'Used the cpu' 

else: 

    print 'Used the gpu'

(7):运行测试脚本查看theano是否调用GPU

可以看到,虽然没有cudnn,但是加速效果还是很明显的。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值