根据官方文档 http://deeplearning.net/software/theano/install.html#windows来安装theano库会显得比较繁琐,在此介绍一种简洁的配置方式,包含以下4步(以64位Win7环境为例):
1) 安装TDM-GCC (64位)
2)安装Anaconda (64位)
3)安装Theano
4)安装CUDA (64位)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.安装TDM-GCC
现在的Thenao库需要编译C代码,因此我们需要安装GCC编译器。在 http://tdm-gcc.tdragon.net/中下载64位的TDM-GCC 进行安装即可。安装完后,在系统环境变量中添加环境变量:PATH= C:\TDM-GCC-64\bin [红色部分为默认安装路径]
设置完后,在cmd.exe中通过命令 gcc –v 验证是否安装成功.
2.安装Anaconda
在官网 https://www.continuum.io/downloads#_windows 或 https://repo.continuum.io/archive/中下载相应版本的anaconda安装包.我电脑是64位的,故下载的64位的安装包Anaconda2-2.4.0-Windows-x86.exe,直接安装即可.
安装好Anaconda后,在cmd.exe(命令提示符)中输入python命令查看安装结果
如果输入python命令,可能是环境变量没有设置,可通过命令echo %PATH% 查看是否有关于Anaconda的环境变量,如果没有,在系统变量PATH中添加:
E:\Installsoftware\Anaconda [anaconda的安装目录,根据实际情况更改]
E:\Installsoftware\Anaconda\Scripts
3.安装Theano
两种方法:
1)直接在cmd.exe 中输入命令:pip install theano,安装成功后会在 E:\Installsoftware\Anaconda\Lib\site-packages (红色部分为Anaconda的安装目录)中出现于theano相关的两个目录。
2) 在 https://github.com/Theano/Theano中打包下载Theano,然后解压进入目录,在cmd.exe中输入python setup.py install 命令运行安装脚本,成功后,在E:\Installsoftware\Anaconda\Lib\site-packages 中也会出现与Theano相关的两个目录。
安装Theano后,新建系统环境变量:
PYTHONPATH : E:\Installsoftware\Anaconda\Lib\site-packages\theano
然后在 C:\Users\**\ 目录(**指用户名)下新建.theanorc.txt文件(注意文件名最前面有”.”),在文件中配置如下:
[blas] ldflags= [gcc] cxxflags = -IC:\TDM-GCC-64 |
至此,theano已经安装成功。然而此时的深度学习相关的算法,只能在CPU上运行。如若想提高运行效率,可以通过搭建GPU加速环境来实现。为此我们需要安装CUDA。
4.安装CUDA
在官网https://developer.nvidia.com/cuda-toolkit-archive中下载相应版本,但是所下载的版本位数需与电脑位数匹配,否则安装不上CUDA.安装CUDA后,会自动生成与CUDA相关的环境变量(可以在cmd.exe中通过命令echo %PATH%查看),然后通过nvcc –V 命令(注意V大写)查看安装详情。
NVCC的编译器可以是VS2008,VS2010,VS2013,VCForPython等。如果没有安装NVCC相应的编译器,推荐安装VCForPython(安装速度快)。最后在 .theanorc.txt 中增添配置信息:
[nvcc] fastmath = True flags=-LE:\Installsoftware\Anaconda\libs compiler_bindir=E:\Installsoftware\VS2010\VC\bin flags = -arch=sm_12 base_compiledir=path_to_a_directory_without_such_characters [global] openmp = False floatX = float32 device = gpu0 allow_input_downcast=True |
红色部分第一行:表示Anaconda安装目录下的Libs目录
红色部分第二行:表示nvcc的编译器是VS2010,由于我电脑中安装有VCForPython ,因此也可以将其更换成C:\Program Files (x86)\Common Files\Microsoft\Visual C++ forPython\9.0\VC (VCForPython的默认安装目录),
红色部分第三行:这一行我也不懂什么意思,在其他资料中看到基本是将-arch设置为-arch=sm_30,但是我这样设置在import theano时会报错:Invalid device function. 因此更改为了sm_12,可以解决这个问题。
至此GPU加速环境搭建完成,输入import theano命令后,会发现多了一行显卡信息,表明安装成功:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意事项:
1) 版本的一致性:Windows版本与CUDA的一致性,以及CUDA与Anconda,TDM-GCC之间的一致性。
2) GCC编译器问题:
早期的Anaconda版本会自带MinGW,安装后在Anconda安装目录下会有一个MinGW目录,因此我们可以不必安装TDM-GCC,直接设置MinGW的环境变量,然后在.theanorc.txt中的[gcc]选项中将flags设置为MinGW的路径即可;新版本的Anaconda版本没有自带MinGW,我们可以在安装Anconda后,在cmd.exe中输入:conda install mingw libpython 来安装MinGW,这样也不必安装TDM-GCC。
MinGW的环境变量PATH配置如下:
E:\Installsoftware\Anaconda\MinGW\bin
E:\Installsoftware\Anaconda\MinGW\x86_64-w64-mingw32\lib [红色部分为Anaconda的安装路径]