ubuntu系统theano和keras的安装

说明:系统是unbuntu14.04LTS,32位的操作系统,以前安装了python3.4,现在想要安装theano和keras。步骤如下:

1,安装pip

sudo apt-get install python3-setuptools
sudo easy_install3 pip

2,安装g++

 sudo apt-get install g++

采用上述命令安装g++,安装完成后可用g++ -version查看是否安装完成。注意,如果没有安装g++,在import theano时会出现以下错误:

WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to execute optimized C-implementations (for both CPU and GPU) and will default to Python implementations. Performance will be severely degraded. To remove this warning, set Theano flags cxx to an empty string.

搜了一下是因为theano采用g++编译的话速度比较快,在网上找到的大部分解决方案都是基于Anaconda安装的,解决方法是:

conda install mingw libpython

3,安装theano

sudo pip3 install theano

该命令会自动下载theano所需要的依赖,包括numpy,scipy等等。

4,安装keras

sudo pip3 install keras

最后需要注意的是,keras默认的backend是tensorflow,我们需要的是theano,所以需要修改下设置。(而且tensorflow用pip3安装,在32位系统上没有对应的版本!用源文件安装又很复杂)

vim ~/.keras/keras.json

{

    "image_dim_ordering":"tf",

    "epsilon":1e-07,

    "floatx":"float32",

    "backend":"theano"

}

5,测试theano

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(), ))