设为首页 收藏本站
查看: 888|回复: 0

[经验分享] 也谈Theano在Win7 x64和Python 3.4下的安装

[复制链接]

尚未签到

发表于 2015-11-29 13:09:43 | 显示全部楼层 |阅读模式
一、前言
  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。
  如果没有任何错误信息,就说明安装正常了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-144936-1-1.html 上篇帖子: Python学习总结之二 下篇帖子: python进程池:multiprocessing.pool
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表