【DeepLearning工具】Fedora下安装theano
http://blog.csdn.net/u012162613/article/details/42651233
author:wepon
@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
- >>>sudo yum install numpy
- 安装scipy
- >>>sudo yum install numpy
- 安装BLAS
- >>>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
结果是False表明成功依赖了BLAS加速,True的话表明用的是python自己的实现,并未加速。
- 安装g++
- >>>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有两种方法,一种是通过脚本安装,一种是通过软件包管理器来安装,我建议直接用软件包管理器来安装,只需要键入一行代码:
- >>>sudo yum install python-pip
通过yum管理器安装一般都会成功。如果你想通过脚本安装的话,你需要先下载get-pip.py,把它放到linux的当前目录下,然后键入:
- python get-pip.py
运气不好的话,你会碰到这样的错误:
- ImportError: No module named 'pip._vendor.requests'
这个问题我也碰到了,在stackoverflow上找到了解决方法: 问题地址,问题出现的原因是系统中的_ssl模块没安装好,所以需要先安装好openssl模块:
- >>>yum install openssl-devel
然后重新编译python,具体的方法见: python安装完毕后,提示找不到ssl模块的解决步骤
我没试过,挺麻烦的。
(4)安装theano
使用这个源有两个弊端:(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/
很快就安装完毕。
3、测试Theano是否安装正确
- >>>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相关推荐
- fedora下安装pps
fedora下安装pps成功,官方下载的deb包解压,然后手动安装. 大致讲一下方法,如下: 到官方下载deb包,右键解压后,进入解压的文件夹,将两个tar包解压,得到etc,opt,usr,三个文件 ...
- SIPp工具Linux下安装
2019独角兽企业重金招聘Python工程师标准>>> 一.SIPp介绍 SIPp是一个测试SIP协议性能的工具软件,这是一个开源软件. 它可使用INVITE和B YE建立 ...
- win10系统下安装theano+lasagne
win10系统下安装theano+lasagne 由于最近需要跑一个全景视频显著性检测的网络SalGan360,是用theano搭建的,比较古老的一种框架,很多博客写的都不是很全,之前也尝试过配置环境 ...
- ###Fedora下安装Retext
使用Markdown. #@date: 2012-05-07#@author: gr#@email: forgerui@gmail.com 因为习惯了Markdown的简单,所以需要在自己的Fedor ...
- Fedora 下安装Mplayer(添加源和解决错误问题)
Mplyer fedora不给大家提供带有版权问题或是封源的软件,这个给我们下载软件带来了许多麻烦,所以在这里提供RPM Fusion源,来补充我们Linux的"软件库". 直接复 ...
- linux安装meb工具,linux-docker下安装禅道全部
友情提示:按照步骤走,99%的人会安装成功,1%的人可以咨询度娘 64位电脑安装禅道,满足发送邮件功能 第一步: docker ps 查看docker中的容器是否有禅道(docker ps -a ...
- linux nvidia驱动安装rpm,Fedora 下安装NVIDIA显卡驱动
rpmfusion安装法: 相对于ATi,在Linux下安装NVIDIA就简单得多.只需要一个命令即可完成驱动的安装: 首先要确保你已经添加rpmfusion的源,如果你不能确认你可以安装输入此命令添 ...
- linux无法安装at命令,在Ubuntu/Debian/CentOS/Fedora下安装At及各种At命令的用法
本文介绍在Linux系统下安装At的方法,可安装在Ubuntu/Debian/CentOS/Fedora发行版下,及各种At命令的用法.at是一个命令行实用程序,可让您安排在特定时间执行的命令,使用a ...
- directx修复工具win7_win10下安装win7双系统的惨痛教训!
今天 给大家介绍做双系统,win10下安装win7,双系统下的惨痛教训! 开始: 寻找win7要安装的盘符,发现没有空闲的磁盘,重启进U盘PE,切割磁盘,预留一块80G空闲分区. 将准备好的Ghost ...
最新文章
- cve-2017-12617 tomcat远程代码执行漏洞复现测试
- python怎么安装requests库-Python3.6安装及引入Requests库的实现方法
- ms project(第一篇笔记)
- html5标签及属性大全,HTML5 标签 和属性 列表.pdf
- android内部类broadcastreceiver,android 公开静态内部类BroadcastReceiver
- Table of Contents
- 开机出现grub rescue
- Ext2.0的EditorGridPanel
- apipost如何使用mock测试
- 牛客网 - 编程初学者入门训练 - 分支控制(BC50~BC77)
- 【王者荣耀】入门战斗经验
- TCP-Hybla拥塞算法
- Android蓝牙手柄摇杆 十字按键监听手机focus焦点
- CSS 第005 背景-理论
- 植物识别小系统:“ 花草树木 皆有名“一热爱自然,从认识自然开始 ~
- 软件测试之python高级软件测试开发第13期柠檬班,重写unittest
- 微信公众号开发教程(四)自定义菜单
- 【三大锁】悲观锁——mysql悲观锁
- 【PV操作】买面包的叫号算法(存疑)
- 服务器被大流量攻击怎么办?
热门文章
- android 按下home键执行什么,Android下得到Home键按下的消息
- mysql unsupported data type._数据查询Unsupported command错误
- Maven 的 settings.xml 配置中的mirror节点
- websphere 内存溢出处理
- leetcode算法题--Russian Doll Envelopes
- DPDK源码编译(二十八)
- HTTP1.0和HTTP1.1区别
- redis 集群搭建_一文轻松搞懂redis集群原理及搭建与使用
- Ant Design 4.0 进行时!
- Django 基于角色的权限控制