失败经验总结
~具体详细配置看参考博客,这里只是记录一下失败的经验,希望对大家有帮助~
参考博客 http://blog.youkuaiyun.com/stormragewang/article/details/51261465
- 本小白的本本一开始是win8的,谁知道cuda只支持win8.1,所以没办法,只能升级win8.1了,目前还不想升级win10.谁知道不升级还好,一升级很多软件都好像不能用了。悲剧 (T_T)
- 刚开始是wamp不能用,最后分别各组件安装服务就能用了,这些都是题外话啦。
cuda安装失败
- 第一次尝试卸载原显卡驱动,到官网找了对应系统的驱动包安装,还是失败。
- 最后尝试打开vs,发现vs打不开,显示的是MSVCR110.dll 丢失,因为重装了系统可能丢失文件。按网上的找会对应文件会出现各种问题,最后在 ==控制面板-卸载-卸载vs,这时会弹出安装包的界面,点击修复==,vs能正常运行了,再尝试安装,终于成功了。
- 按照博客的步骤测试一下,这是要注意选择对应版本的工程,刚开始选错了2013还以为自己又配置错了。
import theano 失败
- 我的anaconda3.5之前已经有theano,之前记得是可以import的,但是重装系统后连import都不可以,报错显示了一大堆东西,后来选择了python3.4版本上运行。
新建一个py34的环境,然后用activita py34进入环境,以后每次都要激活。
[py34] C:\Users\yourname>
这里的步骤有些就忘记了,反正就一步步有==pip install==和==conda install==安装对应的包,先安装 mingw 和 libpython, 然后再安装numpy和scipy,在这里安装scipy又出现了什么
VC++10.0 required的错误,最后还像是pip和conda都试了,出现安装100多M的mlk,装完就成功安装scipy,后面再安装theano就快了。
只能用cpu
- 进入py34的环境,我不想环境变量换来换去,直接在py34上输入idle进入简单的开发环境,在里面直接写测试代码。
from theano import function, config, shared, sandbox
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 range(iters):
r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (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,崩溃。最后发现漏了配置文件。在 ==C:\用户\你的用户名\== 里面新建.theanorc.txt。
[global]
floatX = float32
device = gpu
[nvcc]
flags=-L(你自己anaconda的py34下的libs,忽略括号)
compiler_bindir=(你自己vs的VC的bin,忽略括号)
[cuda]
root = C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5
- 配置完了,在idle上跑一下测试文件,第一次跑回build一堆东西的。
Using gpu device 0: GeForce GT 740M (CNMeM is disabled, cuDNN not available)
[GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>), HostFromGpu(GpuElemwise{exp,no_inplace}.0)]
Looping 1000 times took 1.388921 seconds
Result is [ 1.23178029 1.61879349 1.52278066 ..., 2.20771813 2.29967761
1.62323296]
Used the gpu
到这里终于告一段落,用期末复习的一天时间来搞这个,真是有点呵呵哒。不过遇到问题就是想解决心里才踏实。
至于环境变量什么的就不想再搞了,毕竟之前的版本里面就有sklearn和seaborn等库,以后就直接进idle吧,虽然不能进spyder,但是学习还是够用的。