win10 64位 安装theano

来源:互联网 发布:java编程 窗口不置顶 编辑:程序博客网 时间:2024/04/28 06:54

win10 64位 安装theano

最近在学习李宏毅老师的Deep Learning 课程,涉及到theano配置安装。花了一天时间安装后,简要记录如下。在安装过程中参考了以下几篇文章:
《手把手教你搭建深度学习平台——避坑安装theano+CUDA》
《Win10环境下安装theano并配置GPU详细教程》
《小白Windows7/10 64Bit安装Theano并实现GPU加速(没有MinGw等,详细步骤)》

卸载电脑中之前安装的python

anaconda中已经包含python、numpy和scipy必须库,需要将之前的版本卸载干净,卸载不干净的情况下,可能会导致anaconda安装失败

安装anaconda

根据需求,安装anaconda2或者anaconda3,安装过程中建议使用默认设置,并记下安装路径。

安装依赖库

anaconda官网给了一个Windows Installation Instructions, 给出了必须安装的依赖库和推荐的依赖库,可以作为参考。安装步骤:

  • 首先打开anaconda prompt
  • 添加清华大学的镜像源

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

    第一句话的意思是告诉conda命令等会你别往境外找了,就找我给你的这个地址就可以了。这个是清华大学的anaconda免费package文件服务器
    第二句话的意思是告诉conda命令,让我看看你的url对不对(这句话执行后有可能不显示,这是正常的,不用急)
  • 安装mingw 和 libpython

    conda install mingw libpython

安装theano

官网给了两个安装theano的命令,如下图:
这里写图片描述
这里写图片描述

我在多次尝试安装中发现,使用conda install theano pygpu命令,会强制要求安装m2w64-toolchain库,但是这个库比较大,网速不好的情况下需要下载很久。可以使用以下方法来绕过:

 pip  install theano

然后在安装pygpu

conda install pygpu

你会发现libgpuarray已经包含在pygpu中了。

添加配置文件

在你的电脑User目录下找到你的用户文件夹,比如C:\Users\Marijuana\,新建.theanorc.txt文件,不要忘记”.“,也不要建立成.theanorc.txt.txt,添加内容如下:

[global]
openmp=False
[blas]
Idflags=
[gcc]
cxxflags=-IC:\Users\Marijuana\Anaconda2\MinGW

C:\Users\Marijuana\Anaconda2\MinGW换成你自己的MinGW路径。

theano测试

打开cmd,命令为:

>>python>>import theano>>theano.test()

test()运行时间很长,我imprort theano没有报错后,就跳过test()了。

安装visual studio

根据1建议,我使用的是VS2012,这个直接安装就好,注意自己的安装路径。

安装cuda

我的笔记本是Y460,显卡GT425M,本来应该兼容版本比较老的cuda,不过我喜欢用新版的。。。。所以安装了cuda7.5。
安装完成后,记得重启电脑。

修改.theanorc.txt文件

[global]
openmp=False
device = cuda
floatX = float64
allow_input_downcast=True
[lib]
cnmem = 0.8
[blas]
ldflags=
[gcc]
cxxflags=-IC:\Users***\Anaconda2\MinGW
[nvcc]
flags = -LC:\Users***\Anaconda2\libs
compiler_bindir = C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin
fastmath = True
flags=-arch=sm_30 #可以不写,我参考的文章中有人说加了会报错

三个蓝色的路径替换成你自己的。着重说明下面两个参数,参考Using the GPU:

device = cuda
floatX = float64

如果是floatX = 32位系统则改为:

device = cuda
floatX = float32

我参考的文章中,基本都使用的是

device = gpu
floatX = float32

但是这个配置在64位系统下会导致一些问题。floatX = float32说明theano默认是使用float32而不是float64,但是python等会默认使用float64,导致相互直接变量不兼容。
测试说明:我的电脑为联想Y460,使用device = cuda 的运行速度明显慢于device = gpu!!!!

CNMEM 和CUDNN参考2

注意的是,CUDNN要求显卡的Compute Capability>3,参考CUDA GPUs。 如果显卡不满足条件,就不需要尝试了。
CNMEM 和CUDNN设置复制如下,备查:

cnmem = 0.8这个网上说设为1,但是貌似有点问题,建议设为小于1的值,如我这里设为0.8 ,这就可以避免后面显示CNMEM is disabled了。
更新cudnn文件,到网上搜索cudnn下载下来(到官网注册一下就可以下载了,官网网址为https://developer.nvidia.com/cudnn)。将下载来的文件解压,解压出cuda文件夹,里面包含3个文件夹,如图。将设三个文件夹替换掉系统里面的对应文件,进行覆盖替换即可,例如我的文件目录为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。覆盖掉后面导入theano时会就不会出现CuDNN not available提示了。

测试是否成功使用gpu

《手把手教你搭建深度学习平台——避坑安装theano+CUDA》很详细的说明了测试步骤

0 0
原创粉丝点击