【机器学习】Linux配置深度学习框架Theano的问题及解决办法

最近跑一个Github上CRF+LSTM的算法,依赖于Theano框架,在实验室服务器上配置一直没法通过theano.test()测试,鼓捣了好久借助virtualen终于解决,记录下来~

【服务器】Ubuntn 14.04.3

【Python】2.7

在装Theano之前,需要安装几个依赖的包,比较重要的就是numpy和scipy,在Theano官网上说明了对这些依赖包的版本要求(版本啊~版本~Python里最大的坑)。安装之前用下面命令测试是否有numpy,装的什么版本,能否通过测试,scipy类似。

python -c "import numpy; print numpy.__file__;" //输出numpy安装位置
python -c "import numpy; print numpy.version.version;" //输出numpy版本号
pip install nose //测试需要有nose
python -c "import numpy; numpy.test();" //测试,最后打印出OK说明通过测试,FAILED说明未通过

如果没有通过测试或者版本不满足要求,就用下面命令卸载numpy,scipy类似。

sudo apt-get remove python-numpy

下面就开是安装各种依赖包了,Theano官网上Ubuntu环境下的安装步骤http://www.deeplearning.net/software/theano/install_ubuntu.html,针对Ubuntu 11.10到14.04给了两条命令:

sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ libopenblas-dev git
sudo pip install Theano
但是第一条命令执行完,numpy和scipy很可能还是通不过测试,百度了各种教程,推荐numpy和scipy通过pip安装,所以我们先把第一条命令里的其他包安装好。又因为scipy依赖于numpy,所以推荐先安装numpy, 测试通过以后再安装scipy,numpy的测试一般不到1分钟,scipy稍微长一点。

sudo apt-get install python-dev python-pip python-nose g++ libopenblas-dev git
pip install numpy
pip install scipy

都通过测试以后,就可以安装Theano了,安装完毕以后也要对Theano进行测试,测试方法与numpy一样,测试时间比较长,半小时以上。注意在测试Theano之前一定要安装nose_parameterized,否则测试Theano时会报出“no module named nose-parameterized”的错误

pip install nose_parameterized  
pip install Theano

如果numpy和scipy怎么都通不过测试(比如博主),可能是你的linux系统里之前装的某些python包互相影响,这时候就要祭出virtualenv了(virtualenv大法好~)网上介绍有很多,大概就是virtualenv可以建立独立的python开发环境,不被linux系统里已经安装的包干扰。

pip install virtualenv
virtualenv --distribute virenv //创建虚拟环境virenv
cd virenv //切换到该目录下
source bin/activate //启动虚拟环境(启动后命令行之前会多个括号,里面是虚拟环境的名字)
deactivate //退出环境
rmvirtualenv virenv //删除环境
之后就可以在虚拟环境里重复上面的配置步骤,至少不会因为各种版本冲突问题,导致配置失败。

你可能感兴趣的:(机器学习)