信息技术改变生活

Xiaobo Wu'shared space

Theano安装问题

安装Theano需要Numpy Scipy 的支持 安装过程很简单 运行可能会出问题

但需要Blas的支持 可以选择 conda 的blas 也可以下载 blas的库

不过值得注意的是 在conda下面 注意numoy-base与numpy是否重复

尤其是mingw的gcc版本是4.7 与安装 conda install theano附带安装的gcc版本5.3 是否冲突

否者theano运行会出现 gof dll load fail的问题


解决方案就是 去掉系统中 mingw的环境变量

还有就是配置文件 一个可以运行的配置文件如下

[global]

openmp = False

floatX = float32

device = cpu

[blas] ldflags = -lopenblas

[gcc] cxxflags = -IC:\OpenBLAS\include -LC:\OpenBLAS\lib


测试到代码:

import numpy as np  
import time  
import theano  
A = np.random.rand(1000,10000).astype(theano.config.floatX)  
B = np.random.rand(10000,1000).astype(theano.config.floatX)  
np_start = time.time()  
AB = A.dot(B)  
np_end = time.time()  
X,Y = theano.tensor.matrices('XY')  
mf = theano.function([X,Y],X.dot(Y))  //尤其这句是否通过
t_start = time.time()  
tAB = mf(A,B)  
t_end = time.time()  
print "NP time: %f[s], theano time: %f[s] (times should be close when run on CPU!)" %(np_end-np_start, t_end-t_start)  
print "Result difference: %f" % (np.abs(AB-tAB).max(), )  

测试通过ok