zoukankan      html  css  js  c++  java
  • 在树莓派上安装Theano

    “查遍全网都没人成功在树莓派安装Theano,这是什么样的感觉?”

    ——写在开头

    在这里必须先说一下,由于安装过程中的坑太多了,遇到的问题层出不穷,所以我这里只能记录我安装过程中的印象深刻的问题,如果有其他问题,需要自己解决了。

    材料:

    树莓派3modelB(Raspberry Pi 3(B)),显示屏一个,PC一个,键鼠一套

    前期知识:

    Linux命令行基础,Python基础,Theano深度学习库基础

    一、配置树莓派开发环境

    你的树莓派能连wifi了吗?pip更新了吗?python版本更新了吗?这些必须要首先完成。

    二、试试sudo pip3 install theano

    当然不行,要是可以的话我就不会花快一个星期的时间来配置了。由于时间久远,我已经忘了具体报错是啥了,反正各种的库都不行吧。

    三、试试conda方法?

    我确实尝试了conda方法,在树莓派上安装Anaconda不简单,因为conda一共就出了一个ARM内核的发行版,我找到一篇博文,上面讲述了自己在树莓派系统上安装Anaconda的方法,首先要去官网下载那个基于armv7的发行版,然后再通过bash方法安装,我在树莓派上进行了这个操作,但是很可惜,最后在终端调用conda的时候依然失败,安装conda真的很麻烦,结果还没什么用,这花费了我一晚上的时间。

    四、没办法继续硬着头皮pip

    直接安装theano是不行的,所以需要安装它的依赖库,我第一个安装的就是dev,因为各种依赖库的编译都需要他来帮忙,

    sudo apt-get install python-dev

    然后继续安装依赖库,

    sudo apt-get install libopenblas-base 

    sudo apt-get install libopenblas-dev

    这时候再装上theano,居然神奇的没报错!

    sudo pip3 install theano

    还有,别忘了gcc,

    sudo apt-get install gcc

    装啊装,这又过去一晚上。。。。。。

    五、你以为这就结束了吗?

    安装是安装成了,你试试import一下?自然是不行的,报错了,说:

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/local/lib/python2.7/dist-packages/theano/__init__.py", line 79, in <module>
        from theano.scan_module import (scan, map, reduce, foldl, foldr, clone,
      File "/usr/local/lib/python2.7/dist-packages/theano/scan_module/__init__.py", line 41, in <module>
        from theano.scan_module import scan_opt
      File "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_opt.py", line 71, in <module>
        from theano.scan_module import scan_op
      File "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_op.py", line 58, in <module>
        from six import iteritems, integer_types, raise_from
    ImportError: cannot import name raise_from

    那怎么办呢?

    不过查到网上有人和我有同样的问题,我就放心了,请查阅:

    https://github.com/keras-team/keras/issues/4616

    那个老哥建议他不要用pip,自己下载安装,不过我直接用pip安装six没有出现什么大问题,

    sudo pip3 install six

    安装是成功了,不过依然调用失败,原因是树莓派会默认使用他自己的lib库中的six,我安装的版本是1.11最新版six,树莓派的版本很老了,所以还要sudo su 一下进入那个文件夹,把老版的six删了,再把咱们的新版six放进去,这样的话就ok了。

    试试import theano ,终于成功了。

    六、scipy

    不过还没有结束,因为还有一个重要的module没有安装好,那就是scipy。。。

    它依然依赖很多的库,在https://www.jianshu.com/p/117555fa5576找到了各种依赖库,试着下面步骤:

    sudo apt-get install libblas-dev liblapack-dev python-dev libatlas-base-dev gfortran python-setuptools

    sudo pip3 install scipy   ##需要大约2小时

    成功 了!

    虽然不知道后面的具体使用过程会不会出现问题,不过可以说在树莓派安装theano完全成功了,给大家借鉴吧。。

    
    
  • 相关阅读:
    Redis从入门到精通:初级篇(转)
    Spring配置中的"classpath:"与"classpath*:"的区别研究(转)
    maven常用命令
    JUC-线程池调度-ScheduledThreadPool
    JUC-线程池
    JUC-线程八锁
    JUC-ReadWriteLock
    JUC-Condition和Lock实践-线程按序交替执行
    Linux 查看.so中导出函数
    nginx配置反向代理
  • 原文地址:https://www.cnblogs.com/Hangingter/p/8994859.html
Copyright © 2011-2022 走看看