【DeepLearning工具】Fedora下安装Theano
2015-08-11 13:58
633 查看
author:wepon
@blog:http://blog.csdn.net/u012162613/article/details/42651233
如此强大而方便的工具,必须上手,下面我详细记录一下我在安装Theano过程中碰到的问题,以及最终的解决方法。我的系统是Fedora,对于其他linux系统,方法也是类似的。在fedora、Redhat、CentOS中,用到的软件包管理工具是yum,在ubuntu、debian系统中用到的是与yum类似的apt-get。所以,将我下面安装过程中的yum命令换成apt-get,或许是一样的。当然,我的安装过程仅供参考,I'm
not responsible for any responsibility。
安装numpy
[python] view
plaincopy
>>>sudo yum install numpy
安装scipy
[python] view
plaincopy
>>>sudo yum install numpy
安装BLAS
[python] view
plaincopy
>>>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环境,键入:
[python] view
plaincopy
>>> import numpy
>>> id(numpy.dot) == id(numpy.core.multiarray.dot)
False
结果是False表明成功依赖了BLAS加速,True的话表明用的是python自己的实现,并未加速。
安装g++
[python] view
plaincopy
>>>yum install gcc gcc-c++
注意fedora下g++编译器的名称是gcc-c++,在debian系统下则是g++,用apt-get install gcc g++
安装pip有两种方法,一种是通过脚本安装,一种是通过软件包管理器来安装,我建议直接用软件包管理器来安装,只需要键入一行代码:
[python] view
plaincopy
>>>sudo yum install python-pip
通过yum管理器安装一般都会成功。如果你想通过脚本安装的话,你需要先下载get-pip.py,把它放到linux的当前目录下,然后键入:
[python] view
plaincopy
python get-pip.py
运气不好的话,你会碰到这样的错误:
[python] view
plaincopy
ImportError: No module named 'pip._vendor.requests'
这个问题我也碰到了,在stackoverflow上找到了解决方法:问题地址,问题出现的原因是系统中的_ssl模块没安装好,所以需要先安装好openssl模块:
[python] view
plaincopy
>>>yum install openssl-devel
然后重新编译python,具体的方法见:python安装完毕后,提示找不到ssl模块的解决步骤
我没试过,挺麻烦的。
使用这个源有两个弊端:(1)国内访问速度极慢。(2)这个源上使用了https协议,如果系统上openssl或ssl模块没安装好,会导致pip访问失败。不信的话,你可以试一下键入:
[python] view
plaincopy
>>>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,我用了清华的镜像源,键入下面的代码:
[python] view
plaincopy
>>>pip install theano -i https://pypi.tuna.tsinghua.edu.cn/simple/
很快就安装完毕。
[python] view
plaincopy
>>>import theano
>>>theano.test()
整个测试过程大概20~30分钟,我的测试结果:
[python] view
plaincopy
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等其他包的安装待续--------------------------------------
@blog:http://blog.csdn.net/u012162613/article/details/42651233
1、Theano简介
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。
2、Theano安装过程
Theano的安装依赖于很多其他的软件包,有必需的,也有可选的,下面分开来说。此外,python的版本必须大于python2.6,在shell下直接键入python,查看你的版本,如果小于2.6,得先升级。(1)必须安装的依赖项
首先,进入shell,su切换到root用户,安装以下几个软件包安装numpy
[python] view
plaincopy
>>>sudo yum install numpy
安装scipy
[python] view
plaincopy
>>>sudo yum install numpy
安装BLAS
[python] view
plaincopy
>>>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环境,键入:
[python] view
plaincopy
>>> import numpy
>>> id(numpy.dot) == id(numpy.core.multiarray.dot)
False
结果是False表明成功依赖了BLAS加速,True的话表明用的是python自己的实现,并未加速。
安装g++
[python] view
plaincopy
>>>yum install gcc gcc-c++
注意fedora下g++编译器的名称是gcc-c++,在debian系统下则是g++,用apt-get install gcc g++
(2)安装可选依赖项
可选的依赖项有nose、Sphinx、Git、pydot、NVIDIA CUDA drivers and SDK、libgpuarray,其中nose是python的一个测试工具,我已经装过了,其他的因为我暂时不用到,就先不安装了,以后装了再更新,特别是最后面两项CUDA、gpu,用于加速的,迟早会用到。(3)安装pip
接着按照官网建议,通过pip从PyPi上面拽theano,所以得先安装pip,安装pip有好几种方法,可以参考官网:http://pip-cn.readthedocs.org/en/latest/installing.html安装pip有两种方法,一种是通过脚本安装,一种是通过软件包管理器来安装,我建议直接用软件包管理器来安装,只需要键入一行代码:
[python] view
plaincopy
>>>sudo yum install python-pip
通过yum管理器安装一般都会成功。如果你想通过脚本安装的话,你需要先下载get-pip.py,把它放到linux的当前目录下,然后键入:
[python] view
plaincopy
python get-pip.py
运气不好的话,你会碰到这样的错误:
[python] view
plaincopy
ImportError: No module named 'pip._vendor.requests'
这个问题我也碰到了,在stackoverflow上找到了解决方法:问题地址,问题出现的原因是系统中的_ssl模块没安装好,所以需要先安装好openssl模块:
[python] view
plaincopy
>>>yum install openssl-devel
然后重新编译python,具体的方法见:python安装完毕后,提示找不到ssl模块的解决步骤
我没试过,挺麻烦的。
(4)安装theano
上面已经安装好了pip,现在可以通过pip来安装theano了,pip类似于easy_install,用来安装python的第三方库的,它的默认源地址是:https://pypi.python.org/simple/使用这个源有两个弊端:(1)国内访问速度极慢。(2)这个源上使用了https协议,如果系统上openssl或ssl模块没安装好,会导致pip访问失败。不信的话,你可以试一下键入:
[python] view
plaincopy
>>>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,我用了清华的镜像源,键入下面的代码:
[python] view
plaincopy
>>>pip install theano -i https://pypi.tuna.tsinghua.edu.cn/simple/
很快就安装完毕。
3、测试Theano是否安装正确
安装完后,进入python环境,键入:[python] view
plaincopy
>>>import theano
>>>theano.test()
整个测试过程大概20~30分钟,我的测试结果:
[python] view
plaincopy
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等其他包的安装待续--------------------------------------
相关文章推荐
- bootstrap multiselect学习网址
- fastJson和Gson的比较
- 从Action中传值到JSP页面的方法
- JQuery: 微博演示
- jquery poshytip消息提示插件使用
- 第一章 JavaScript简介
- Node.js获取请求IP地址
- 利用html5的FormData对象和ajax实现异步文件上传
- mysql cluster 其中一台服务器的ndbd节点关闭报错:Caused by error 2305: 'Node lost connection
- Caffe源码(三):layer 分析
- 关于document.referrer某些情况下记录不到源网页的问题
- JavaScript学习笔记——节点
- backbone.js快速入门(四)
- js判断手机是的操作系统
- 在nodejs中使用富文本编辑器UEditor
- 【JS】js获得下拉列表选中项的值和id
- 理解CSS中的BFC(块级可视化上下文)[译]
- undefined reference to 'pthread_create'问题解决
- HTML <div> 标签
- 怎么把一篇pdf转换成html