“查遍全网都没人成功在树莓派安装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完全成功了,给大家借鉴吧。。

												

在树莓派上安装Theano的更多相关文章

  1. 在(Raspberry Pi)树莓派上安装NodeJS

    本文主讲如何在树莓派3B上安装node.js 环境描述1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后, ...

  2. 在win10 64 bit上安装theano

    在windows10上安装theano,过程例如以下: 1.准备工作.先安装Anaconda 64位.然后执行 conda install mingw libpython 2.先安装pycuda,能够 ...

  3. 神经网络环境搭建,windows上安装theano和keras的流程

    今天碰到有朋友问道怎么在windows下安装keras,正好我刚完成搭建,总结下过程,也算是一个教程吧,给有需要的朋友. 步骤一:安装python. 这一步没啥好说的,下载相应的python安装即可, ...

  4. centos上安装theano和Lasagne

    1.安装theano所需的包 sudo yum install python-devel python-nose python-setuptools gcc gcc-gfortran gcc-c++ ...

  5. opencv2.4.9在ubuntu(树莓派)上安装

    参考原文:https://my.oschina.net/u/1757926/blog/293976 1. 先从sourceforge上下载OpenCV的源码 http://jaist.dl.sourc ...

  6. 在树莓派上安装leanote

    作者:冥王星 "noright0@163.com" 前言 宿舍有个树莓派2B,连接到电视机,安装OSMC系统,USB接口连接移动硬盘一块,平时用来BT下载和看电影.美剧. OSMC ...

  7. 树莓派上安装2.8寸TFT触摸屏

    在某宝的这里买了一个2.8寸的TFT触摸屏,其实就是中国版的ADAFRUIT 结合店家的帮助文档做了一下,一次点亮,这里也记录一下自己的安装过程(话说会硬件是会比会软件有不同的乐趣~~~) 由于店家推 ...

  8. 树莓派上 安装并 运行opencv

    1.先安装依赖项 OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. sudo apt-get install build-essential sudo ...

  9. win7上安装theano keras深度学习框架

    近期在学习深度学习,需要在本机上安装keras框架,好上手.上网查了一些资料,弄了几天今天终于完全搞好了.本次是使用GPU进行加速,使用cpu处理的请查看之前的随笔keras在win7下环境搭建 本机 ...

随机推荐

  1. 云服务器 ECS Linux 系统 MySQL 备份的导入导出

    MySQL 备份的导出 注意: 如果您使用的是帮助中心的一键环境配置,那么 MySQL 的安装目录是 /alidata/server/mysql. 如果您将 MySQL 安装到其他目录,您需要输入您 ...

  2. 用git提交新项目到github

    1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点 ...

  3. 常用HBase操作

    HBase是一个分布式.面向列的数据库,可以用来存储非结构化和半结构化的松散数据,具有高可靠.高性能.面向列.可伸缩的特性.通过行键(RowKey).列族(ColumnFamily).列(Column ...

  4. 第一个SharePoint Add-in工程

    一.创建SharePoint hosted 工程 1.创建承载SharePoint Add-in独立域 首先,确定承载的应用程序的独立域名,可以使用类似这样的域名apps.contoso.com,鉴于 ...

  5. 使用maven开发javaweb项目

    想重新学习一下java web的知识,之前也学习过一些但是也没有用在开发中所以也忘的七七八八了,因为从事Android开发免不了要与服务器打交道,有时候想自己写一个小DEMO需要服务器的时候感觉真是很 ...

  6. 深入集合类系列——HashMap和HashTable的区别

    含义:HashMap是基于哈希表的Map接口的非同步实现.允许使用null值和null键.此类不保证映射的顺序,特别是它不保证该顺序恒久不变. 数据结构:HashMap实际上是一个“链表散列”的数据结 ...

  7. 【钢琴伴奏基本形态和伴奏织体】技能 get

    开头重复一句话:做编曲就是设计和声+伴奏织体. ---- --------- --------------- 分解和弦: 半分解和弦: 做法:在旋律的下方演奏一些和弦的音.就能让音乐更加的饱满,拒绝空 ...

  8. Shell之Function与Source

    目录 Shell之Function与Source 参考 Fuction的编写 Source的使用 Shell之Function与Source

  9. 如何决定使用 HashMap 还是 TreeMap?

    问:如何决定使用 HashMap 还是 TreeMap? 介绍 TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照 ...

  10. spring5 源码深度解析----- AOP目标方法和增强方法的执行(100%理解AOP)

    上一篇博文中我们讲了代理类的生成,这一篇主要讲解剩下的部分,当代理类调用时,目标方法和代理方法是如何执行的,我们还是接着上篇的ReflectiveMethodInvocation类Proceed方法来 ...