标签:theano deeplearning fedora linux
author:wepon
@blog:http://blog.csdn.net/u012162613/article/details/42651233
Theano是深度学习的一个python库,在deeplearning.net上有它的tutorial,它可以方便我们写深度学习模型,它提供了在GPU上训练模型的选项,极大加快训练速度。
如此强大而方便的工具,必须上手,下面我详细记录一下我在安装Theano过程中碰到的问题,以及最终的解决方法。我的系统是Fedora,对于其他linux系统,方法也是类似的。在fedora、Redhat、CentOS中,用到的软件包管理工具是yum,在ubuntu、debian系统中用到的是与yum类似的apt-get。所以,将我下面安装过程中的yum命令换成apt-get,或许是一样的。当然,我的安装过程仅供参考,I‘m not responsible for any responsibility。
Theano的安装依赖于很多其他的软件包,有必需的,也有可选的,下面分开来说。此外,python的版本必须大于python2.6,在shell下直接键入python,查看你的版本,如果小于2.6,得先升级。
首先,进入shell,su切换到root用户,安装以下几个软件包
>>>sudo yum install numpy
>>>sudo yum install numpy
>>>sudo yum install blas blas-devel lapack lapack-devel atlas atlas-devel --nogpgcheck
BLAS是基础线性代数程序集(Basic Linear Algebra Subprograms),安装了BLAS之后,numpy、scipy会自动依赖于BLAS加速,检验numpy是否成功依赖于BLAS编译,可以进入python环境,键入:
>>> import numpy >>> id(numpy.dot) == id(numpy.core.multiarray.dot) False
>>>yum install gcc gcc-c++
可选的依赖项有nose、Sphinx、Git、pydot、NVIDIA CUDA drivers and SDK、libgpuarray,其中nose是python的一个测试工具,我已经装过了,其他的因为我暂时不用到,就先不安装了,以后装了再更新,特别是最后面两项CUDA、gpu,用于加速的,迟早会用到。
接着按照官网建议,通过pip从PyPi上面拽theano,所以得先安装pip,安装pip有好几种方法,可以参考官网:http://pip-cn.readthedocs.org/en/latest/installing.html
安装pip有两种方法,一种是通过脚本安装,一种是通过软件包管理器来安装,我建议直接用软件包管理器来安装,只需要键入一行代码:
>>>sudo yum install python-pip
python get-pip.py
运气不好的话,你会碰到这样的错误:
ImportError: No module named 'pip._vendor.requests'
>>>yum install openssl-devel
我没试过,挺麻烦的。
使用这个源有两个弊端:(1)国内访问速度极慢。(2)这个源上使用了https协议,如果系统上openssl或ssl模块没安装好,会导致pip访问失败。不信的话,你可以试一下键入:
>>>pip install theano
如果你很快安装好了theano,那说明上面(1)和(2)提到的问题你都没碰到。如果你运气不好,像我一样,(1)和(2)的问题都给我遇上了:下载theano软件包的速度非常慢,下到80%的时候,“Hash of the ....Bad md5 hash.... ”错误退出,多半是ssl模块的问题。
所以,这里说一个方法,绕开(1)和(2)这两个弊端:
从 http://www.pypi-mirrors.org/ 上查看国内的PyPi镜像源,你可以发现一半都是china的,可悲又可喜啊~~
ok,我用了清华的镜像源,键入下面的代码:
>>>pip install theano -i https://pypi.tuna.tsinghua.edu.cn/simple/
很快就安装完毕。
>>>import theano >>>theano.test()
整个测试过程大概20~30分钟,我的测试结果:
Ran 2441 tests in 1793.373s FAILED (errors=18) <nose.result.TextTestResult run=2441 errors=18 failures=0>
并且前面出现了许多“Errors”和"KnownFailureTest",这些是“已知”的errors,并无大碍。
最后,推荐一个Google group:theano-users ,KnownFailureTest的问题在上面就有人提过。
-----------------------------GPU、CUDA等其他包的安装待续--------------------------------------
【DeepLearning工具】Fedora下安装theano
标签:theano deeplearning fedora linux
原文地址:http://blog.csdn.net/u012162613/article/details/42651233