您的位置:首页 > 编程语言 > Python开发

也谈Theano在Win7 x64和Python 3.4下的安装

2015-06-27 22:02 1121 查看

一、前言

2012年3月,与某老师交流的时候,初次得知Deep Learning的概念,当时,他还建议我研究GPU计算。回来后,认真研读了一些文件,也看到了deeplearning.net网站的内容,但是由于时间和精力的问题,没有深入研究。最近有点时间,重新捡起来,准备先搭建环境。看中了该网站推荐的Theano,于是按着说明安装下来。

Theano的运行环境为Python,这种脚本语言我是第一次接触。仔细看了看发现实在是奇葩,Python竟然有2.x和3.x两个分支,而且2.x还拥有相当大的用户群。为了在2.x和3.x之间做出抉择,还是颇费了番心思,最终,长话短说,还是选择了3.x。其中细节就不细说了,有时间再补充。

至于操作系统,毫无疑问,我选择Win7 x64。首先不选Linux,因为没有一个稳定的发行版,和常用的应用程序。而WinXP可以用10年,Win7也可以再用10年。其次就是x86还是x64,后者是毫无疑问的选择,32位的系统连4G内存都用不满,何况我可能需要的是32G。

然而,在Win7 x64系统和Python3.x环境下安装Theano,似乎不是一件简单的事情。网上找到了很多教程,最后看起来都有些不大不小的问题。这里也不乱评论了,先总结一下自己的安装过程。

二、软件的安装

Theano官方文档“install_windows.txt”介绍了详细的安装步骤。不过,不要照着做,因为过时了。

本人最终选择的安装软件如下。

1. Theano和Python

WinPython-64bit-3.4.3.3.exe

下载地址:
http://sourceforge.net/projects/winpython/
安装目录就选C:\SciSoft吧。

如果C盘是个比较小的SSD,就D盘吧。

2. MSVS编译环境

安装Microsoft Visual Studio,本人建议安装10.0。但是,不要装什么Express版本的,至于这么简陋吗?直接装Pro版的,够用了,Premium、Ultimate、Team版的功能一辈子也用不上。

但是,还有最重要的一点,就是,一定要装英文版的!否则的话,你就等着Theano启动时报错吧。至少到7.0是这样。

文件名: en_visual_studio_2010_professional_x86_dvd_509727.iso

需要的话,还应该装个SP1补丁:

mu_visual_studio_2010_sp1_x86_x64_dvd_651704.iso

这两个东西下载地址:http://msdn.itellyou.cn/

3. CUDA

我安装的是6.5。因为cudnn的文档说要6.5以上,而7.x太新,可能会有什么问题。等有钱了有了T40,再考虑7.x。

文件名:

cuda_6.5.14_windows_general_64.exe (台式机版)

cuda_6.5.14_windows_notebook_64.exe (笔记本电脑版)

自行到官方网站下载即可:
https://developer.nvidia.com/cuda-toolkit-65

4. cuDNN

Theano说支持Nvidia的cuDNN,不过我还没有安装,只是下载了:
https://developer.nvidia.com/cuDNN
下载需要注册,所以放到网盘里了。

链接: http://pan.baidu.com/s/1ptiqi 密码: sbgc

5. 其它...

没有了。

不需要下载Theano-0.7.0.zip,因为WinPython中已经有了。

不需要安装gcc,比如TDM-GCC,因为,WinPython中已经有了。

不需要下载stdint.h,因为,WinPython中已经有了。

不需要这个库那个库,因为,WinPython中已经有了。

三、设置

1. 系统环境变量

不需要设置。CUDA安装时会自动添加CUDA_PATH和CUDA_PATH_V6_5。WinPython和MSVS安装时不会更改PATH,要看下面的步骤来改。

2. 批处理程序env.bat

按照Theano官方文档“install_windows.txt”的建议,应该建立一个env.bat来专门设置环境变量和PATH。我的env.bat内容如下:

@echo off

REM configuration of paths
set VSFORPYTHON="C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC"
set SCISOFT=%~dp0

REM add winpython stuff
CALL %SCISOFT%\WinPython-64bit-3.4.3.3\scripts\env.bat

REM configure path for msvc compilers
CALL %VSFORPYTHON%\vcvarsall.bat amd64

REM return a shell
cmd.exe /k


把这个文件放在C:\SciSoft下面,然后创建个桌面快捷方式,我把它改名为Theano。这样每次点一下,就出来一个环境配置好了的Console窗口了,工作目录为C:\SciSoft。

4. 生成gcc链接库

在env.bat生成的Console窗口里,也就是C:\SciSoft下,依次运行这两行:

gendef WinPython-64bit-3.4.3.3\python-3.4.3.amd64\python34.dll
dlltool --dllname python34.dll --def python34.def --output-lib WinPython-64bit-3.4.3.3\python-3.4.3.amd64\libs\libpython34.dll.a


3. Theano配置文件

建立一个.theanorc文件,不需要扩展名.txt,当然加上也无妨。放在这里:

C:\SciSoft\WinPython-64bit-3.4.3.3\settings

[global]
device = cpu
#device = gpu
floatX = float32
#optimizer_including = cudnn

[nvcc]


根据是否插了Nvidia显卡,选择使用CPU还是GPU。

浮点数一般就用float32好了,因为除了Tesla,Nvidia显卡对double的支持就是渣。同时,目前theano根本不支持double,因此连渣都没有。

如果安装了cudnn的库,打开第4行。目前我还没用到,以后用到了再说。

nvcc下面原来也设了些东西,其实完全不用。

四、测试

点击桌面上的Theano图标,出现Console窗口。分别键入python和import theano试试。我这里的输出是这样的:

Setting environment for using Microsoft Visual Studio 2010 x64 tools.
C:\SciSoft>python
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import theano
>>>


这个台式机还没装Nvidia显卡,用的是CPU。

如果没有任何错误信息,就说明安装正常了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: