在树莓派上安装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下环境搭建 本机 ...
随机推荐
- 集群某节点DataNode服务无法启动解决(报java.net.BindException:Address already in use错误)
现象: 在集群中某节点, 启动DataNode服务后马上又Shutdown, 在操作系统没看到有DataNode的日志(可能是服务启动失败, 自动删除了日志文件),幸好在界面上可以查看报错的日志: ...
- tomcat启动出现乱码
打开tomcat目录下apache-tomcat-9.0.26\conf\logging.properties 替换全文 encoding = UTF-8 为 encoding = GBK: rest ...
- ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介
参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...
- Git初始化项目 和 Gitignore
初始化init: git init git status git add . git commit -am "init projrct" 添加远程仓库: git remote ad ...
- mybatis #{}和${}的区别是什么?
#{}是预编译处理,${}是字符串替换.mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值,最后注入进去是带引号的:mybatis在 ...
- 自定义TabLayout的Indicator
最近项目要使用类似TabLayout的控件,其实我感觉就是TabLayout只是换了一个Indicator,先说一说TabLayout这是Android Support Design的控件要使用的同学 ...
- 基于hap的文件上传和下载
序言 现在,绝大部分的应用程序在很多的情况下都需要使用到文件上传与下载的功能,在本文中结合hap利用spirng mvc实现文件的上传和下载,包括上传下载图片.上传下载文档.前端所使用的技术不限,本文 ...
- Nginx负载均衡配置实例
面对高并发的问题,企业往往会从两个方面来解决.其一,从硬件上面,提升硬件的配置,增加服务器的性能:另外,就是从软件上,将数据库和WEB服务器分离,使数据库和WEB服务器都能够充分发挥各自的性能,并且二 ...
- 针对永久不过期的key 批量设置过期时间
问题需求: redis内存暴增,后来发现有很多设置永久不过期. 解决:查找出来之后针对前缀批量设置过期时间 (过期时间与开发沟通 保证服务不受影响) 来源于网上杨一的代码 正好解决了我遇到的问题 在这 ...
- Thinkphp5.0第二篇
查询构造器 //插入记录 $result=Db::table('think_data')->insert(['name'=>'张三','status'=>1]); //修改数据 $r ...