欢迎光临!
若无相欠,怎会相见

Windows 10安装配置Theano

前两天,看书的时候,测试书中的代码。结果,各种报错,更加无语的是Python明明安装了Theano模块,导入模块的时候,还是报错。报错信息如下:

这个是在PyCharm中运行时的报错信息
You can find the C code in this temporary file: c:\users\darker\appdata\local\temp\theano_compilation_error_wdw7zl
Traceback (most recent call last):
  File "t.py", line 9, in <module>
    import theano
  File "D:\Python27\lib\site-packages\theano\__init__.py", line 110, in <module>
    from theano.compile import (
  File "D:\Python27\lib\site-packages\theano\compile\__init__.py", line 12, in <module>
    from theano.compile.mode import *
  File "D:\Python27\lib\site-packages\theano\compile\mode.py", line 11, in <module>
    import theano.gof.vm
  File "D:\Python27\lib\site-packages\theano\gof\vm.py", line 673, in <module>
    from . import lazylinker_c
  File "D:\Python27\lib\site-packages\theano\gof\lazylinker_c.py", line 127, in <module>
    preargs=args)
  File "D:\Python27\lib\site-packages\theano\gof\cmodule.py", line 2356, in compile_str
    (status, compile_stderr.replace('\n', '. ')))
Exception: Compilation failed (return status=1): C:\Users\Darker\AppData\Local\Theano\compiledir_Windows-10-10.0.10586-AMD64_Family_22_Model_0_Stepping_1_AuthenticAMD-2.7.13-64\lazylinker_ext\mod.cpp:1:0: sorry, unimplemented: 64-bit mode n.  ^include <Python.h>

这个是命令行导入模块的报错信息
E:\Projects\Python\20171209>python
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import theano
You can find the C code in this temporary file: c:\users\darker\appdata\local\temp\theano_compilation_error_n7jfos
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\Python27\lib\site-packages\theano\__init__.py", line 110, in <module>
    from theano.compile import (
  File "D:\Python27\lib\site-packages\theano\compile\__init__.py", line 12, in <module>
    from theano.compile.mode import *
  File "D:\Python27\lib\site-packages\theano\compile\mode.py", line 11, in <module>
    import theano.gof.vm
  File "D:\Python27\lib\site-packages\theano\gof\vm.py", line 673, in <module>
    from . import lazylinker_c
  File "D:\Python27\lib\site-packages\theano\gof\lazylinker_c.py", line 127, in <module>
    preargs=args)
  File "D:\Python27\lib\site-packages\theano\gof\cmodule.py", line 2356, in compile_str
    (status, compile_stderr.replace('\n', '. ')))
Exception: Compilation failed (return status=1): C:\Users\Darker\AppData\Local\Theano\compiledir_Windows-10-10.0.10586-AMD64_Family_22_Model_0_Stepping_1_AuthenticAMD-2.7.13-64\lazylinker_ext\mod.cpp:1:0: sorry, unimplemented: 64-bit mode n.  ^include <Python.h>
>>>

向度娘和谷哥询问,结果没找到怎么解决方案。于是就顺着潮流,走进Anaconda的怀抱。它里面集成了很多关于python科学计算的第三方库,用起来方便。

安装Anaconda

英文参考文档:http://deeplearning.net/software/theano/install_windows.html

1、下载Anaconda安装包

我的系统是64位的,所以我选择的是包含 Python 2.x 版本的Anaconda,也就是Anaconda2-5.0.1-Windows-x86_64.exe,其大小为499 MB (524,040,968 字节), 下载链接是https://repo.continuum.io/archive/Anaconda2-5.0.1-Windows-x86_64.exe。

2、移除Python环境变量

网上很多都是把之前的Python卸载,我感觉不需要,把相关的Python的环境变量删除就可以了。例如:我的Python安装到D盘的根目录,我只需要把环境变量中的Python变量删除就可以了,等需要的时候,添上就又可以运行了。

3、安装Anaconda

需要注意的是安装位置的剩余空间应该至少有3GB,因为安装的时候,临时文件释放到安装的目录中,再加上安装后的2.3GB(我安装的版本的大小)。如果中间空间不足,这就很尴尬,安装会直接中断,然后需要重新安装。安装很耗费时间。我安装的位置是D盘根目录,即 D:\Anaconda2 。之后就是漫长的等待了,我的电脑比较低端,当时安装了应该有1个多小时吧。

4、安装MinGW

打开命令行或者打开刚才安装的Anaconda Prompt,输入conda install mingw libpython ,等待安装完成。之后,MinGW会安装到Anaconda目录下。

5、安装Theano

使用 pip 安装Theano,在命令行中输入 pip install -i https://pypi.douban.com/simple Theano ,这个是借用豆瓣的源,可以加速安装,适用于Python官网网络不好的时候。也可以直接输入pip install Theano 回车。

6、环境变量配置

全部安装好后,一共需要配置下列这些环境变量。

D:\Anaconda2
D:\Anaconda2\Scripts
D:\Anaconda2\Library\bin
D:\Anaconda2\MinGW\bin
D:\Anaconda2\MinGW\x86_64-w64-mingw32\lib

有的文章中写到新建环境变量值,把安装的Theano添加进去。操作步骤(Windows 10):此电脑 -> 系统属性 -> 高级系统设置 -> 环境变量。在系统变量上点击“新建”。

变量名:PYTHONPATH 
变量值:D:\Anaconda2\Lib\site-packages\theano  (此为我的路径)

另外需要在用户根目录下新建 .theanorc.txt ,按“Win+R”快捷键,然后输入“cmd”回车后的第一个目录就是用户根目录。例如:C:\Users\Darker ,这就是我的用户根目录。下面是.theanorc.txt 文件内容,注意,cxxflags=-ID:\Anaconda2\MinGW 红色部分是你安装的目录。

[global] 
openmp=False 

[blas] 
ldflags= 

[gcc] 
cxxflags=-ID:\Anaconda2\MinGW

测试代码

用上一篇的文章中的那个代码测试。代码为:

import theano
from theano import tensor
# declare two symbolic floating-point scalars
a = tensor.dscalar()
b = tensor.dscalar()
# create a simple expression
c = a + b
# convert the expression into a callable object that takes(a,b)
# values as input and computes a value for c
f = theano.function([a, b], c)
# bind 1.5 to 'a' 2.5 to 'b' and evaluate 'c'

result = f(1.5, 2.5)
print(result)

环境还有有点问题,每次都有这个警告,不过能运行得出结果,说明了Theano配置成功了。

其他

在我的电脑上,比较尴尬的是,我的电脑虽然有GPU芯片,可是,找不到利用的方法,因为我的显卡是AMD的,俗称A卡。如果显卡是NVIDIA的,就可以利用CUDA,来使用GPU进行加速。因为CUDA是NVIDIA公司开发的。

GPU加速效果是很明显的。借用 http://lib.csdn.net/article/aiframework/51297 的一段文字。

利用Theano框架构建一个深度网络,其层次结构为:Layers = [784, 1050, 4901, 500, 10];训练配置:Input_Layer =784,Out_Put = 10,Batch_Size = 500,Epoch = 150,网络每一层详细训练速度对比如表2所示。

训练类型

层次

无GPU加速(单位:分钟)

有GPU加速(单位:分钟)

加速比(单位:倍)

预训练(Pre-training)

1050

55.5

3.8

14.6

4901

196.7

8.1

24.3

500

252.8

19.6

12.9

全局调优(Finetunning)

[784, 1050, 4901, 500, 10]

182.1

6.3

28.9

总耗时间

687.1

37

18.6

表2 GPU加速对比

可惜,我怎么都用不了。

如有错误,敬请指出,感谢阅读。    —-2017-12-11 16:06:45

版权声明:  本站原创文章,于 2017-12-11,由 Darker 发表。
转载请注明:原文地址:《Windows 10安装配置Theano | 飘零博客》
本站所有文章如果没有特殊声明均为原创。本文作者 : Darker
复制或转载请以超链接形式注明:飘零博客    
原文地址:《Windows 10安装配置Theano | 飘零博客》
分享到: 更多 (0)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    一言不发岂能证明我来过了?!

    中医秘方1年前 (2017-12-12)回复
//

欢迎光临