在树莓派上安装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完全成功了,给大家借鉴吧。。
在树莓派上安装Theano的更多相关文章
- 在(Raspberry Pi)树莓派上安装NodeJS
本文主讲如何在树莓派3B上安装node.js 环境描述1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后, ...
- 在win10 64 bit上安装theano
在windows10上安装theano,过程例如以下: 1.准备工作.先安装Anaconda 64位.然后执行 conda install mingw libpython 2.先安装pycuda,能够 ...
- 神经网络环境搭建,windows上安装theano和keras的流程
今天碰到有朋友问道怎么在windows下安装keras,正好我刚完成搭建,总结下过程,也算是一个教程吧,给有需要的朋友. 步骤一:安装python. 这一步没啥好说的,下载相应的python安装即可, ...
- centos上安装theano和Lasagne
1.安装theano所需的包 sudo yum install python-devel python-nose python-setuptools gcc gcc-gfortran gcc-c++ ...
- opencv2.4.9在ubuntu(树莓派)上安装
参考原文:https://my.oschina.net/u/1757926/blog/293976 1. 先从sourceforge上下载OpenCV的源码 http://jaist.dl.sourc ...
- 在树莓派上安装leanote
作者:冥王星 "noright0@163.com" 前言 宿舍有个树莓派2B,连接到电视机,安装OSMC系统,USB接口连接移动硬盘一块,平时用来BT下载和看电影.美剧. OSMC ...
- 树莓派上安装2.8寸TFT触摸屏
在某宝的这里买了一个2.8寸的TFT触摸屏,其实就是中国版的ADAFRUIT 结合店家的帮助文档做了一下,一次点亮,这里也记录一下自己的安装过程(话说会硬件是会比会软件有不同的乐趣~~~) 由于店家推 ...
- 树莓派上 安装并 运行opencv
1.先安装依赖项 OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. sudo apt-get install build-essential sudo ...
- win7上安装theano keras深度学习框架
近期在学习深度学习,需要在本机上安装keras框架,好上手.上网查了一些资料,弄了几天今天终于完全搞好了.本次是使用GPU进行加速,使用cpu处理的请查看之前的随笔keras在win7下环境搭建 本机 ...
随机推荐
- php 上传word文件 Word文件转 PDF
说一下,之前的时候做上传word文档转pdf的项目时候, 通过安装open office 连接服务组件, 遇到种种问题, 例如上传的word文档版本,, word文档中编辑的样式复杂会出现转pdf失败 ...
- 微服务SpringCloud之zipkin链路追踪
随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位 ...
- Build a Contest-创建比赛 CodeForce1100B
题目链接:Build a Contest 题目原文 Arkady coordinates rounds on some not really famous competitive programmin ...
- [系列] go-gin-api 路由中间件 - Jaeger 链路追踪(六)
[DOC] 概述 首先同步下项目概况: 上篇文章分享了,路由中间件 - Jaeger 链路追踪(理论篇),这篇文章咱们接着分享:路由中间件 - Jaeger 链路追踪(实战篇). 这篇文章,确实让大家 ...
- Hbase入门(二)——安装与配置
本文讲述如何安装,部署,启停HBase集群,如何通过命令行对Hbase进行基本操作. 并介绍Hbase的配置文件. 在安装前需要将所有先决条件安装完成. 一.先决条件 1.JDK 和Hadoop一样, ...
- Spring boot 梳理 - SpringBoot中注入ApplicationContext对象的三种方式
直接注入(Autowired) @Configuration public class OAConfig { @Autowired private ApplicationContext applica ...
- Spring 梳理-MVC-前端控制器DispatchServlet及URL请求处理过程
大多数基于java的web框架,都有前端控制器 spring mvc请求过程 1. 请求会首先发送到DispatchServlet,这是spring的前置Servlet,它会接收请求并转发给sprin ...
- layer.open打开一个新的jsp页面,如何关闭并刷新父页面问题
layer.open打开一个新的jsp页面弹框,如何关闭呢? 在新的页面提交完毕之后,关闭并刷新父页面列表. layer.closeAll(); parent.layer.closeAll(); wi ...
- Jedis 常用API使用
使用Jedis操作Redis常用的API <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <depen ...
- Spring Boot 监听 Activemq 中的特定 topic ,并将数据通过 RabbitMq 发布出去
1.Spring Boot 和 ActiveMQ .RabbitMQ 简介 最近因为公司的项目需要用到 Spring Boot , 所以自学了一下, 发现它与 Spring 相比,最大的优点就是减少了 ...