------本文参考了论坛其他文章的安装方法,根据自己的电脑配置做了补充-------
操作系统:win8.1 ×64 E3-8GB
图形显卡:N卡 GTX960
VisualStudio 版本 2013 我安装了在C:\Program Files (x86)\
python编辑平台:PyCharm和spyder
在开始安装和配置之前,请先准备好以下文件:
安装过程:
一、卸载之前版本。
把之前单独安装的python等统统卸载掉。学习python的时候直接安装了python2.7,先把他卸载掉,因为Anaconda里边包含了python。
二、安装Anaconda。
安装目录我用的D:\Anaconda。中间会有杀毒拦截,全部允许即可。
安装的时候勾选把Anaconda加到环境变量中。
安装完检查一下,打开cmd命令行(也可以在Anaconda的命令窗口进行):
C:\Windows\system32>python--version
正常会返回Python的版本信息
三、安装MinGw。
以前的Anaconda版本带MinGW环境,2.0.1之后版本的Anaconda就不会自带MinGW了
其他教程讲在环境变量中添加 pathC:\Anaconda\MinGW\bin;C:\Anaconda\MinGW\x86_64-w64-mingw32\lib;,但是你会发现 C:\Anaconda\ 下面根本没有MinGw这个目录,所以最好的方法就是用命令安装,不需要自己下载什么mingw-steup.exe等。
安装方法:
1.打开CMD(注意是windows命令提示符,并不是进入到python环境下,否则会提示语法错误,因为conda命令就是在windows下面执行的。);
2.输入condainstall mingw libpython,然后回车,会出现安装进度,稍等片刻即可安装完毕。此时就有D:\Anaconda\MinGw目录了。
如果没有安装MinGw,在安装完theano,验证的时候可能会出现状况:
原因:
安装完检查一下,打开cmd命令行
where gcc
where ld
正常的话也会返回各自的版本信息
四、安装Theano:
第一种方式:
下载地址:https://github.com/Theano/Theano-wininstaller/raw/master/bin/theano_installer_latest.msi
这是适用于Anaconda的快速安装版,自动使用pip安装到上面的Anaconda的python中
以防万一,为了同时下载theano的zip文件(theano-master):https://github.com/Theano/Theano,如果上述网址的包不能使用可以下载这个http://download.csdn.net/detail/yeyang911/7523003
第二种方式:
不需要手动下载zip或者msi等压缩包,直接用命令安装最简单。
1. 打开CMD,方法和安装MinGw一样,不要进入python。
2. 输入pip install theano,回车后就是下载进度条,安装的比较快。
3. 在cmd中,输入python进入到python环境下,然后先输入import theano回车,需要等一段时间。
4. 继续输入theano.test()。又会输出好长一段信息,只要没有error就说明安装成功了。我安装时等了一段时间还在输出,我就ctrl+c退出了。(其实我发现,有部分error信息也没有关系,theano的功能也可以正常使用,包括theano.function(),所以如果有同学无论如何配置还是有error信息的话,可以暂时忽略掉,直接跑一段程序试一下,可以去测试一下卷积操作运算代码。)
在cmd的home目录中新建 .theanorc.txt 文件(注意名字中的“.”),根据自己安装MinGW的路径写上MinGW的路径,(Windows下在 C:\Users\jing)
我的如下:
[blas]
ldflags=
[gcc]
cxxflags = -ID:\Anaconda\MinGW
装上了theano,用的是anaconda,编译环境spyder
【以下是可选项,没有测试过】
当然你可能没安装成功,可能会出现g++ 的问题,怎么办呢?
先卸载
cmd输入:pip uninstall theano
然后
cmd输入:conda install mingwlibpython
然后再安装一遍
cmd输入:pip install theano
反复几次可能会好。
五、C++环境安装
电脑显卡支持GPU加速,就可以进行C++环境安装。一般建议Visual Studio 2010或更高版本。本人安装Visual Studio2013,能够支持CUDA编程。
六、并行计算架构CUDA的安装
在安装CUDA之前最好检查一下自己电脑的显卡驱动版本,版本过老的话,需要更新。有时候安装完毕CUDA之后,运行CUDA所提供的案例程序中的deviceQuery会出错,请优先考虑显卡驱动的问题。这里建议安装NIVDIA官方发布的针对自己显卡型号的驱动。安装CUDA的详细步骤如下:
(1)下载NVIDIA CUDA toolkit,SDK等软件包,由于CUDA 5.0以上版本已经将ToolKit和SDK等合在一起了,因此只需下载一个安装文件即可。在显卡型号允许的条件下,建议下载CUDA 5.0以上版本,这样比较省事。本人安装的是CUDA 7.5版本。CUDA各版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive。注意,下载的时候有些版本需要区分desktop(台式机)和notebook(笔记本)。
(2)下载好了后就可以直接安装了,CUDA的默认安装目录为:C:\Program Files\NVIDIA GPUComputing Toolkit\ 这里推荐使用默认的安装路径,不需更改。安装过程和普通软件没有什么区别。在安装结束时将会出现一个界面(如图3),这表明已经成功安装,从图3可以看出似乎CUDA 7.5至少都需要Visual Studio 2010的C++环境。(图片网上找的)
图3 CUDA7.5成功安装结束界面
(3)检查是否安装正确。在安装结束后,你会发现在系统环境里面新添加了两个环境变量:CUDA_PATH_V5_0和CUDA_PATH。
现在,打开cmd控制台命令行,输入命令nvcc –V回车(注意是大写V)就可以参考版本信息,如果安装正确则出现图4所示的结果。
图4 nvcc –V命令执行结果
(4)如果案例运行正确,可以考虑手动配置环境变量。在系统环境变量中新建如下项(针对win64平台上的CUDA7.5):
CUDA_SDK_PATH= C:\ProgramData\NVIDIACorporation\CUDASamples\v7.5
(ProgramData这个文件夹是隐藏的,可以在工具->查看中设置显示隐藏文件夹)
CUDA_LIB_PATH = %CUDA_PATH%\lib\×64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_LIB_PATH =%CUDA_SDK_PATH%\common\lib\Win64
CUDA_SDK_BIN_PATH= %CUDA_SDK_PATH%\bin\×64
然后在系统环境变量Path 后添加内容:
;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%
当然不同版本的CUDA,估计路径有所差异,上述配置信息是win64版本的CUDA,仅仅作为参考。
(5)CUDA配置结束。若以上案例都运行正常,说明CUDA安装成功。现在就可以利用Theano框架编写深度学习代码,并将代码进行GPU加速了。
可能需要重新启动计算机以使环境变量生效
七、测试Theano框架是否可以利用所安装的CUDA7.5进行GPU加速
在前面第【2】步中,已经通过安装Anaconda将python环境装好,其中Anaconda本身自带了一个称作Spyder的图形界面IDE(如图6所示)。在进行TheanoGPU加速测试之前,还得需要配置一下.theanorc.txt文件里面的信息,红色字体信息是为了实现GPU加速而增加的配置信息(到最后还会再添加内容进去,点击查看添加的内容),如下:
[global]
openmp = False
device = gpu
floatX = float32
allow_input_downcast=True
[blas]
ldflags =
[gcc]
cxxflags = -IC:\MinGW\include
[nvcc]
flags = -LC:\Anaconda\libs#此处一定要和你安装的Python的路径保持一致
compiler_bindir = D:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\bin#此处一定要和你安装的VS的路径保持一致
fastmath = True
flags =-arch=sm_30#这里最初设置为sm_52报错,后设为30或50都没问题,不清楚这是干啥的,有谁知道了可以告诉我
现在可以启动Spyder,输入TheanoGPU加速测试案例代码并运行,将会出现图7所示的运行结果,其中有一条“Usedthe gpu”信息输出,表明TheanoGPU加速测试成功。
"""
Created on Sun Apr 10 11:23:32 2016
@author: jing
"""
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 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 in f.maker.fgraph.toposort()]):
print'Used the cpu'
else:
print'Used the gpu'
【8】到此,基于CUDA的TheanoGPU加速环境已经配置成功。
【一些错误的解决方案】
状况一
import theano后出现情况:
-Usinggpudevice0:GTX960(CNMeMisdisabled,CuDNNnot available)
解决方案:
CNMeM
参考的这里:http://deeplearning.net/software/theano/library/config.html
You can change this in the environment variables. I added thefollowing to my .theanorc file and saw significant speed increases duringtraining of a cnn:
[lib]
cnmem=.75
Beyond .75 I got out of memory errors, but I'd imagine thisvaries based on your setup.
CuDNN
从官网下载需要注册账号申请。点这里下载。我用cudnn-7.0-win-x64-v4.0-prod,不是最新版本,因为最新版本里没有找到支持win8.1 ×64的zip
解压出来是名为cuda的文件夹,里面有bin、include、lib的内容,复制到安装CUDA的地方,添加到对应文件夹。
我的在C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA
修改theanorc.txt的内容,添加两个内容:
然后再测试的时候就好了:
文献[9]给出了如何安装Keras.
参考文章:
[1]Theano+Keras+CUDA7.5+VS2013+Windows10x64配置
[2]Win7配置CUDA并搭建基于Theano框架的GPU加速环境
[3]如何评价Theano?排名第一的用户的回答
[4]Theano的安装及GPU的配置
[5]win7 64位成功安装theano,并且gpu配置成功(缺少两个.h文件)
[6]Keras:CuDNN not available?
[9]Windows8.1にTheano/Kerasをインストール
[10]Setup a Deep Learning Environment on Windows (Theano& Keras with GPU Enabled)