本文转载自:http://www.jb51.cc/article/p-dsrawotb-km.html

因为最近需要学习深度学习,因此想要配置Theano,来开发深度学习算法。但是发现Theano安装总是出现问题。于是在这里中总结一下。

环境

  • 操作系统:ubuntu14.04
  • Python:2.7.6
  • 需要联网

相关库简介

  • BLAS(Basic Linear Algebra Subprograms)是基础线性代数子程序库,里面拥有大量已经编写好的关于线性代数运算的程序;
  • LAPACK (Linear Algebra PACKage)包含了求解科学与工程计算中最常见的数值线性代数问题,如求解线性方程组、线性最小二乘问题、特征值问题和奇异值问题等;
  • ATLAS是python下的一个线性代数库,是基于另外两个线性代数库BLAS和lapack的;
  • NumPy提供了一个在python中做科学计算的基础库,它重在数值计算,甚至可以说是用于多维数组处理的库;
  • SciPy是基于numpy,提供了一个在python中做科学计算的工具集,也就是说它是更上一个层次的库;
  • Theano则是基于NumPy以及SciPy的一个更高级的用于科学计算的库。

相关库的关系

  • 要安装Theano,就需要先安装好numpy和scipy;
  • 要安装numpy和scipy,就需要ATLAS;
  • 要安装ATLAS,就需要安装BLAS和LAPACK;

相关库的安装顺序

  • 安装顺序:BLAS → LAPACK → ATLAS → numpy → scipy → Theano

检查numpy和scipy是否通过测试

  • 说明:如果你的numpy和scipy是通过apt-get安装的,那么它们的单元测试可能会通不过!!!(我在安装过程中没有通过测试,scipy出现了Error
  • 如果numpy或scipy不能通过测试,就需要卸载,然后重新按照本文介绍的顺序安装。
 
 
  • 1
  • 2
  • 1
  • 2
# 检查numpy是否通过测试 python -c "import numpy;numpy.test()"
  • 如果numpy通过测试,会出现如下图所示的结果。注意最后一行errors=0 failures=0。如果没有通过测试,需要卸载并重新安装。

  • 如果scipy通过测试,会出现如下图所示的结果。注意最后一行errors=0 failures=0。如果没有通过测试,需要卸载并重新安装。

  • 注意:scipy很可能会出现测试错误,比如我安装过程中出现下图所示的错误。

卸载numpy和scipy

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
    • 1
    • 2
    • 3
    • 4
    • 5
    # 卸载numpy sudo apt-get remove python-numpy # 卸载scipy sudo apt-get remove python-scipy

    安装各种包

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    # 安装gfortran,后面编译过程中会用到 sudo apt-get install gfortran # 安装blas,Ubuntu下对应的是libopenblas,其它操作系统可能需要安装其它版本的blas——这是个OS相关的。 sudo apt-get install libopenblas-dev # 安装lapack,Ubuntu下对应的是liblapack-dev,和OS相关。 sudo apt-get install liblapack-dev # 安装atlas,Ubuntu下对应的是libatlas-base-dev,和OS相关。 sudo apt-get install libatlas-base-dev

    安装numpy和scipy

    • 使用pip安装numpy和scipy
    • 安装pip的命令:sudo apt-get install python-pip
    • 注意:一定要在安装完lapack/blas之后,再安装numpy和scipy。否则,会出现错误no lapack/blas resources found
    • 安装numpy和scipy的命令如下所示。
      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    # 安装numpy sudo pip install numpy # 测试numpy # 测试通过才能进行下一步~~ python -c "import numpy;numpy.test()" # 安装scipy sudo pip install scipy # 测试scipy "import scipy;scipy.test()"

    安装线性计算库、numPy和sciPy的编译方法(推荐)

    编译安装OpenBlas

    • 为什么安装OpenBLAS?因为OpenBLAS的速度比atlas快。速度对比请参考:《Benchmark OpenBLAS,Intel MKL vs ATLAS》
    • 下载OpenBLAS。github下载地址
    • 安装OpenBLAS
      
      
  • 1
  • 2
  • 3
  • 4
    • 1
    • 2
    • 3
    • 4
    tar -zxvf OpenBLAS**.tar.gz cd OpenBLAS*** make -FC gfortran #需要已经安装gfortran make install # 安装在/opt/OpenBLAS/目录下

    安装numPy

    • 下载numPy 。github豆瓣镜像
    • 解压下载包,并配置OpenBLAS。
      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    tar -zxvf numpy***.tar.gz cd numpy*** cp site.cfg.example site.cfg vi site.cfg #将以下4行去掉注释。【101行--104行】 #[openblas] #libraries = openblas #library_dirs = /opt/OpenBLAS/lib #include_dirs = /opt/OpenBLAS/include
    • 安装numPy。
      
      
  • 1
  • 2
  • 3
    • 1
    • 2
    • 3
    sudo python setup.py config sudo python setup.py build sudo python setup.py install

    安装sciPy

    • 下载sciPy 。github
    • 1
    • 2
    • 3
    • 4
    tar -zxvf scipy***.tar.gz cd scipy*** # 将numPy**中的配置文件复制到此处 cp ../numpy**/site.cfg.example ./site.cfg
    • 安装sciPy。
    sudo python setup.py install

    安装其它库

    • 为了安装Theano,最后还需要安装一些库,可以参考官方教程
      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    sudo apt-get install python-dev sudo apt-get install python-pip sudo apt-get install python-nose sudo apt-get install g++ sudo apt-get install git

    安装Theano

    • 前面的操作如果没有出现错误,就可以开始安装Theano了。命令如下所示。
    # 安装Theano
    sudo pip install Theano
    
    # 测试Theano
    python -c "import theano;theano.test()"

    引用

    • ATLAS + NumPy + SciPy + Theano 的python科学计算环境搭建
    • Compiling numpy with OpenBLAS integration
    • 依赖关系
    • 官方安装教程

    • http://stackoverflow.com/questions/7496547/does-python-scipy-need-blas

    • http://www.linuxidc.com/Linux/2014-10/107503.htm

    • http://www.scipy.org/scipylib/building/linux.html#installation-from-source

    Ubuntu14.04安装Theano详细教程的更多相关文章

    1. Python使用scipy进行曲线拟合的方法实例

      这篇文章主要给大家介绍了关于Python使用scipy进行曲线拟合的相关资料,Scipy优化和拟合采用的是optimize模块,该模块提供了函数最小值(标量或多维)、曲线拟合和寻找等式的根的有用算法,需要的朋友可以参考下

    2. python数学建模(SciPy+ Numpy+Pandas)

      这篇文章主要介绍了python数学建模(SciPy+ Numpy+Pandas),文章基于python的相关资料紧接上一篇文章内容展开主题详情,需要的小伙伴可以参考一下

    3. Python+Scipy实现自定义任意的概率分布

      Scipy自带了多种常见的分布,如正态分布、均匀分布、二项分布、多项分布、伽马分布等等,还可以自定义任意的概率分布。本文将为大家介绍如何利用Scipy自定义任意的概率分布,感兴趣的可以了解下

    4. 使用scipy.solve_ivp错误解决偏转曲线:'所需步长小于数字之间的间距'

      当我使用大长度的梁(管道)时,我在使用scipy.solve_ivp解决偏转曲线时遇到了失败。当长度为10000mm时,可以给出正确的结果,如下图所示但当我将其更改为20000mm时,它失败并输出以下消息:,我读过关于solve_ivp错误的类似问题:“所需步长小于数字之间的间距。”我也尝试了不同的环礁价值,但无法解决这个问题。我为此奋斗了好几天。

    5. 为什么pymc3运行不好?

      让我们从头开始。我看到Theano-pymc与pymc3一起安装在我的基本环境中;见下文:看起来不错,因为我只需要使用pymc3。

    6. 在Windows 7上导入Theano时出现g错误

      根据thetheanoinstallationguide,我正在尝试使用正确的g安装进行设置.我之前已经让theano使用了python实现.我正在python3.4上使用他们的gitrepo中最新版本的theano.我尝试过使用theano建议的TDM-GCC-64方法以及MinGW,两者都会产生完全相同的错误.(尽可能复制)值得注意的是,在打印此错误之前,它会输出整个文件的代码,你可以在这里找

    7. 在32位Windows 7计算机上安装Python 3.5中的scipy

      我一直在尝试使用预构建的二进制文件在我的Windows7机器上安装Scipy到我的Python3.5(32位)安装:http://www.lfd.uci.edu/~gohlke/pythonlibs我按顺序安装了以下库然后,当尝试使用已安装的软件包时,我得到以下错误但是,如果我按照Python3.4的相同过程替换安装程序:一切似乎都有效.是否有其他依赖项或安装包,我缺少Python3.5安装?请务

    8. 如何在Windows 10上安装scipy?

      我有笨蛋更新1-:我能够安装scipy但现在我收到了错误–:所以我从同一个链接下载了numpy-1.11.2mkl-cp27-cp27m-win_amd64.whl.但我得到这个错误–:为什么我会收到此错误?

    9. 由于在Ubuntu下的NumPy Fortran mixup,Theano失败了

      apt-getbuild-dep…

    10. centos-6.4源码安装scikit-learn

      源码安装scikit-learn在linux下安装scikit-learn时遇到各种问题,特别是scipy这个包。另外,还有一个问题就是版本的问题,所以这里列出了与python-2.7.9对应可以使用的版本。python:2.7.9setuptools:1.4.2pip:1.3.1numpy:1.11.2scipy:0.11.1scikit-learn:0.18.1panda:0.18.1安装软件准备安装python-2.7.9这里不再详细描述python-2.7.9的安装过程,可以查看先关文章。

    随机推荐

    1. crontab发送一个月份的电子邮件

      ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

    2. 模拟两个ubuntu服务器计算机之间的慢速连接

      我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

    3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

      我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

    4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

      我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

    5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

      &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

    6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

      我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

    7. ubuntu – vagrant无法连接到虚拟框

      当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

    8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

      我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

    9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

      我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

    10. 检查ubuntu上安装的rubygems版本?

      如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

    返回
    顶部