Win10环境下安装theano并配置GPU详细教程

一.软件和环境

(1)安装日期2016/12/23;

(2)原材料VS2013,cuda-8.0(最好下载cuda7.5,目前theano-0.8.2对cuda-8支持不是很好),Anaconda3-4.2.0(64位);

(3)环境为win10.

二.安装步骤

(1)安装VS2013。这个没什么可说的,下载64位版本后就是一路下一步、确定就行,记住安装位置就可以了,我这里的安装目录是D:\software\VS2013:

Win10环境下安装theano并配置GPU详细教程

接着右键我的电脑-》属性-》高级系统设置-》环境变量,之后编辑系统变量Path,加入两个路径D:\software\VS2013\VC\bin和D:\software\VS2013\Common7\IDE,以分号隔开,如图:

Win10环境下安装theano并配置GPU详细教程

点击确定即可。

(2)安装cuda。这个也没什么可说的,到官网上下载cuda,并一路下一步+确定就好了,注意如果安装过程中win10提示阻止某项操作,一定要选择允许本次操作或允许程序所有操作,否则cuda就会安装失败。Cuda官网地址为

http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/#axzz46v2MC6l8,

下载地址为https://developer.nvidia.com/cuda-downloads,

如图:

Win10环境下安装theano并配置GPU详细教程

(注意:这是cuda-8版本,对目前版本的theano支持不是很好,不过不影响使用,最好还是下载cuda7.5,我这里懒得再重装一遍,所以就用的cuda-8)

还有一定要记住cuda的安装路径,我的路径就是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,如图:

Win10环境下安装theano并配置GPU详细教程

(3)右键我的电脑-》属性-》高级系统设置-》环境变量,可以看到系统变量中增加了两个变量CUDA_PATH和CUDA_PATH_V8_0,如图:

Win10环境下安装theano并配置GPU详细教程

之后编辑系统变量Path,加入两个路径%CUDA_PATH%\lib\x64和%CUDA_PATH%\bin,要用分号隔开,如图:

Win10环境下安装theano并配置GPU详细教程

点击确定。

打开命令行,输入nvcc -V,如果出现下图则安装成功:

Win10环境下安装theano并配置GPU详细教程

并可到目录C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\1_Utilities\deviceQuery下用VS2013打开并运行测试样例deviceQuery_vs2013.vcxproj文件,如图:(注意C:\ProgramData为隐藏文件夹,需要点击C盘-》查看-》选项-》查看,选中显示隐藏的文件、文件夹和驱动器,点击确定。如图)

Win10环境下安装theano并配置GPU详细教程

图为显示C:\ProgramData文件夹的查看选项

Win10环境下安装theano并配置GPU详细教程

图为deviceQuery_vs2013.vcxproj的位置

Win10环境下安装theano并配置GPU详细教程

图为在VS2013中的运行结果

最后一行为Result = Pass则表示安装配置成功。

Win10环境下安装theano并配置GPU详细教程

(4)安装Anaconda3-4.2.0,这个很简单,就是一路确定即可,记住安装位置,如我就是安装在D:\software\Anaconda3,如图:

Win10环境下安装theano并配置GPU详细教程

接着右键我的电脑-》属性-》高级系统设置-》环境变量,在用户变量中添加PATH,并加入路径D:\software\Anaconda3,D:\software\Anaconda3\Scripts和D:\software\Anaconda3\Library\bin,点击确定。如图:

Win10环境下安装theano并配置GPU详细教程

之后进入命令行输入python,如果出现如图信息,则安装成功:

Win10环境下安装theano并配置GPU详细教程

关闭命令行。

(5)安装mingw和libpython。打开命令行后输入conda install mingw libpython即可,目前libpython已经支持python3.5了,就不用再配置python3.4的环境了。注意如果安装mingw速度很慢,则可ctl+c并退出命令行,再进入命令行修改Anaconda的镜像,这里推荐清华的镜像,方法为在命令行中输入:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --set show_channel_urls yes

,之后再conda install mingw libpython即可。

之后到Anaconda3的安装目录中可以看到MinGW的文件夹,如图:

Win10环境下安装theano并配置GPU详细教程

(注:网上说需要把MinGW的路径加入到环境变量,其实不用,等会儿再theano的配置文件中标出MinGW的位置即可)

(6)安装theano。首先打开命令行,输入conda install scipy,之后再输入pip install theano即可。(为什么要输入conda install scipy我也不明白,但是网上建议)。之后在个人主文件夹下新建一个“.theanorc.txt”的文档。个人主文件夹就是打开命令行后所显示的文件夹路径,比如我的就是C:\Users\15540:

Win10环境下安装theano并配置GPU详细教程

注意theano的配置文件为.theanorc.txt,注意前面那个点要有,并且文件名为.theanorc,.txt是文件类型,不要弄错。打开.theanorc.txt写入以下信息:

[global]

openmp=False

device = gpu

optimizer_including=cudnn

floatX = float32

allow_input_downcast=True

[lib]

cnmem = 0.8

[blas]

ldflags=

[gcc]

cxxflags=-ID:\software\Anaconda3\MinGW

[nvcc]

flags = -LD:\software\Anaconda3\libs

compiler_bindir = D:\software\VS2013\VC\bin

fastmath = True

注意需要把cxxflags=-ID:\software\Anaconda3\MinGW换成你的Anaconda3中MinGW的位置,flags = -LD:\software\Anaconda3\libs换为你的Anaconda3中libs的位置,compiler_bindir = D:\software\VS2013\VC\bin换为你的VS2013中VC\bin的位置;还有cnmem = 0.8这个网上说设为1,但是貌似有点问题,建议设为小于1的值,如我这里设为0.8 ,这就可以避免后面显示CNMEM is disabled了。

(7)更新cudnn文件,到网上搜索cudnn下载下来(到官网注册一下就可以下载了,官网网址为https://developer.nvidia.com/cudnn)。将下载来的文件解压,解压出cuda文件夹,里面包含3个文件夹,如图。将设三个文件夹替换掉系统里面的对应文件,进行覆盖替换即可,例如我的文件目录为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。覆盖掉后面导入theano时会就不会出现CuDNN not available提示了。

Win10环境下安装theano并配置GPU详细教程

(8)测试theano。打开命令行,输入python,在输入import theano,如果出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 11: invalid continuation byte这种编码问题,这是因为掉用nvcc返回的字符串是使用的cwindows默认的默认编码,直接找到theano中对应的报错文件,把源码出错的地方改为 *.decode("GBK")就可以。比如我的是在theano下的__init__.py出现的编码问题,则修改为:

Win10环境下安装theano并配置GPU详细教程

(如果出现上述错误,关闭命令行修改错误,重输一遍命令即可)出现以下画面则表示成功。

Win10环境下安装theano并配置GPU详细教程

(注:可以看到仍有warning,不过不影响使用,出现warning的原因主要是cuda-8对目前版本的theano支持不太好导致,不过相信以后更新的theano会解决这个问题,如果实在接受不了这个warning就安装cuda7.5,步骤一样)

三.其他问题

(1)不要在环境变量添加PYTHONPATH变量,否则容易在import theano后出现configparser找不到或没有这个组件这个问题(在我这里是这样的);

(2)建议在安装完cuda后重启电脑;

(3)如果在命令行输入命令后出现什么问题,建议修改完问题后重启命令行;

(4)如果还有其他问题,试试重启电脑后在import theano,如果还有问题,一般就是配置文件.theanorc.txt的问题(我这个配置方式不一定百分之百的适合你),下面列出一些我参考的文章:

http://blog.csdn.net/u011821462/article/details/50145221

http://blog.csdn.net/stormragewang/article/details/51261465

http://blog.csdn.net/voidfaceless/article/details/53711550

上一篇:Java中BitSet使用(转)


下一篇:MapReduce 1工作原理图文详解