Theano+cuda8.0+vs2013配置

来源:互联网 发布:淘宝加盟电话 编辑:程序博客网 时间:2024/05/21 08:02

http://www.cnblogs.com/linbirg/p/5412063.html
http://deeplearning.net/software/theano/install.html#windows-installation-references

http://blog.csdn.net/niuwei22007/article/details/47684673
http://blog.csdn.net/churximi/article/details/51627849

先注意下时间哈 2016年12月2日
装的很曲折很窝火。该
1、anaconda2
2、mingw
3、blas、lapack
4、numpy->scipy
5、theanos、keras

能复制的绝对不要自己手敲,不要问为什么
能复制的绝对不要自己手敲,不要问为什么
能复制的绝对不要自己手敲,不要问为什么

配了一天→_→anaconda,theanorca.txt也是够了

1、anaconda2
先介绍下anaconda2,他包含了绝大多数库比如numpy,scipy,省去了繁琐的安装过程。当然类似的哈有canopy。
(以下部分可选)
具体安装比较无脑,就不介绍了,建议顺带安装pycharm,装好pycharm的时候记得第一次随便跑个什么程序,helloworld也可以,因为第一次打开pycharm要配置interpreter要蛮久时间。
pycharm依赖jvm,顺便提一句要装jdk。

2、mingw
直接conda install mingw libpython
再写环境变量。
环境变量配置
第一部分是配置anaconda和mingw,我有几个环境变量可能写多了,不过不影响运行,也无所谓了。
第二部分是设置VS的路径,我是用的VS2013专业版可能要新一点,他们之前我看过的版本都是10.0我的是12.0,具体情况具体填吧。

记得填完一定要检验能不能打开
记得填完一定要检验能不能打开
记得填完一定要检验能不能打开

重要的事情说三遍,就是还要注意,可能以后anaconda可能还会更新,可能又不叫anaconda2了,注意调整环境变量。

3、blas,lapack
http://icl.cs.utk.edu/lapack-for-windows/lapack/
Prebuilt libraries for Microsoft Visual Studio Projects
。。。
就是这一坨,下好放在anaconda里的mingw的lib中。

4、装了anaconda可以略过这步。
没装先装numpy再装scipy,因为有依赖关系。
记得每次装完调用相关函数,看看装的有没有问题。
比如
import numpy
numpy.test()

5、theano
之前的准备工作就是装好vs2013和cuda
注意顺序,先装cuda,再装vs2013
cuda8.0不需要配环境变量,cuda给你已经配好了,所以不需要配
想知道cuda装好没装好在cmd下输入nvcc -V,有版本号就是对的,不啰嗦
或者直接打开vs建一个工程默认会创建了一个cuda例子程序
结果应该是{11,22,33,44,55}

pip install theano
pip install nose
这一步非必须
pip install nose-noparametered//这个我也记不清叫什么了theano.test()到会面会说缺这个模块,记得安装就好

如果你没配置gpu,import theano后不会有任何提示
然后主要执行两条

import theanotheano.test()

theano.test()没有大的错误就可以放过了,可能要稍微等一下,就可以ctrl+c打断了。
这里写图片描述

紧接着打开cmd默认最开始出现的目录
比如C:\users\aaa
一般就是当前用户(如aaa)目录
建一个文件叫做
.theanorc.txt
注意前面有一个.!!!!!!
我填了这些内容

[global] openmp=Falsedevice=gpu0allow_input_downcast=TruefloatX=float32[blas] ldflags= 

当然我参考之前的教程,什么nvcc,gcc的,这些统统不需要配置!!!
你也可以只保留

[global]
[blas]
[nvcc]
[gcc]

真的就什么都不要再管了,theano.test()报一个错误就按提示改一个,这个是坠稳得,没有之一
比如说我默认是float64,cpu跑的话,他会提示你改成float32,然后关掉cmd再theano.test() 出来一个改一个。有的时候很蛋疼device=gpu,有时候又device=gpu0,还不如直接等报错。(手动微笑,心好累)
我也是突然开脑洞把nvcc,gcc删了一下好了。按之前好多教程上走的反而各种问题,这个是真的醉了= =
当然你若直接看文档,参数信息在这里
theano-configure
http://deeplearning.net/software/theano/library/config.html

可能是由于版本的问题,我scipy,numpy,theano都跟他们不一样,我theano都是0.9版本,他们还在0.8呢 = =
如果你配置的是对的,import theano以后,会出现gpu型号的提示,像我这样
这里写图片描述

下面是一段测试代码,一可以对比cpu,gpu,二可以测试你是不是真的配置theano使用gpu配置对了

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')

秀一波,碎叫!
这里写图片描述

0 0
原创粉丝点击