在树莓派上安装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。。。

我先安装好再接着写吧

猜你喜欢

转载自www.cnblogs.com/Hangingter/p/8994859.html