因为要训练RNN(Recurrent Neural Network),所以想在windows上面安装Theano,同时进行GPU加速。促使我在deep learning的包里面选择Theano的原因,是因为Theano对硬件的要求没有那么高,同时也有很高的刻扩展性。
其中windows8.1 64bit环境下搭建深度学习平台主要参考win8 64bit平台theano环境构建(上),win8 64bit平台theano环境构建(下),Theano学习笔记:Theano的艰辛安装体验这三个网页上的文章。
安装步骤:
一、首先安装Visual Studio 2010或以上版本。
二、安装Theano,现在实践得出的比较简单的安装方法是通过Anaconda安装python来构建Theano。
1) 首先下载Anoconda,选择64bit版本。最好安装在C:盘。
2) Anoconda安装完以后在系统添加环境变量。我的电脑--右键单击--属性,然后在对话框左侧选择 高级系统设置,如下图所示。
在跳出的对话框中继续选择 环境变量。
在跳出的对话框中,在系统变量(S)部分,选择变量中的path选项,然后将需要添加的环境变量添加进去。这一部分我们需要添加的环境变量为:
C:\Anaconda2\MinGW\bin;
C:\Anaconda2\MinGW\x86_64-w64-mingw32\lib;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64
3) 然后Anaconda-2.0.1安装完成后,在cmd命令下进行Theano的安装,Windows8.1中按快捷键"Win+R"出现对话框,输入"cmd"即可进入cmd对话框,然后执行"pip install Theano"命令即可完成Theano的安装。
看到提示"Successfully installed Theano"后,到Anaconda的安装路径下即可看到theano的文件夹,如下图:
在cmd对话框里编写一测试用例,即依次输入如下命令,如果没有报错,说明平台搭建成功。
4) 新建环境变量:PYTHONPATH: C:\Anaconda2\Lib\site-packages\theano
三、安装Cuda
1) 首先检查自己的显卡是否支持GPU并行运算。检查自己的nvidia显卡是否在列表中。
2) 下载cuda toolkit并安装。如果安装的python是64bit的,那么cuda也应该下载64bit的。我选择的是cuda 64bit桌面版。文件下载好之后,直接双击就可以安装。但是要注意安装的过程中选择自定义,而不是精简版。cuda安装也可以参考cuda安装参考。
3) cuda安装好之后,也要添加对应的环境变量。cuda安装的过程中会自动添加以下两个环境变量。(我安装的是cuda5.5的版本)
CUDA_PATH C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5
CUDA_PATH_V5_5 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5
我们需要手动添加以下环境变量:
CUDA_BIN_PATH %CUDA_PATH%\bin
CUDA_LIB_PATH %CUDA_PATH%\lib\Win32
CUDA_SDK_PATH C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.5
CUDA_SDK_BIN %CUDA_SDK_PATH%\bin\win32
CUDA_SDK_LIB %CUDA_SDK_PATH%\common\lib\win32
至此cuda的安装完成。
3) 测试一下cuda的安装是否成功。这个步骤我们用到两个东西,这两个东西,都是cuda为我们准备好的。deviceQuery.exe 和 bandwidthTest.exe。
首先启动cmd DOS命令窗口默认进来的是c:\users\Admistrator\>路径,输入 cd .. 两次,来到c:目录下,输入dir 找到安装的cuda文件夹。我们根据下面的路径进入bandwidthTest.exe和deviceQuery.exe所在的文件夹。
然后我们运行bandwidthTest.exe,得到下面的结果就表示通过了。
然后我们运行deviceQuery.exe,得到下面的结果就表示通过了。
四、如果Theano和Cuda都安装成功了,我们就配置一下Theano的设置,实现Theano通过GPU加速。我们需要写一个.theano的文件,然后放在c:\users\Admistrator\>路径下。
五、我们在实际使用gpu进行运算的时候,可能会出现下面的情况。这里面显示的问题是CNMeM is disabled, cuDNN not available。
我们可以在.theano的配置文件中加上下面两句,就可以实现CNMeM enabled,加快GPU的运算速度。
[lib]
cnmem = 0.75