树莓派+miniconda3+opencv3.3+tensorflow1.7踩坑总结
转载自:https://blog.csdn.net/tju_cc/article/details/80024721
树莓派+miniconda3+opencv3.3+tensorflow1.7踩坑总结
习惯了conda的管理方式,上手树莓派当然还是想用conda。做一个目标识别(object detection)的项目,当然少不了opencv,鉴于tensorflow开源了objective detection的api,有采用mobilenet的版本,因此这里笔者选择tensorflow的深度学习框架。最后安装的版本为:opencv3.3.0(3.3以后集成了dnn模块)+tensorflow1.7.0(object detection api 的调用需要1.4以上)。话不多说,开始踩坑,如有错误,感谢指正。
0. 系统安装
参考 http://bbs.eeworld.com.cn/thread-503614-1-1.html?_t=t
远程桌面连接 https://blog.csdn.net/wsj_wsj_123/article/details/72353892
换国内软件源 https://blog.csdn.net/la9998372/article/details/77886806
dfrobot 3.5tft屏 http://wiki.dfrobot.com.cn/index.php?title=(SKU:DFR0428)3.5%22_TFT_Touchscreen_for_Raspberry_Pi
1. miniconda3的安装。
首先安装wget和bzip2
sudo apt-get update
sudo apt-get install -y wget bzip2
然后下载安装脚本
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-armv7l.sh #这里是保存到当前路径 -O /path/name 指定路径及文件名
运行安装脚本
bash Miniconda3-latest-Linux-armv7l.sh
然后回车回车回车...etc(注意中间有两次输入,第一次是是否同意,yes,第二次是添加到环境变量,yes,否则自己添加到环境变量:sudo nano /home/pi/.bashrc # -> add: export PATH="/home/pi/miniconda3/bin:$PATH" # 根据自己的安装路径修改)
重启下shell,然后conda list一下,显示出当前已装好的包,即安装成功。
python一下,发现是3.4版本,这还挺坑,不过也没有找到3.5版本的,欢迎补充。
安装前,可以建立一个环境方便管理各种python
conda create -n name python=3.4
source activate name
激活环境
source activate name
# source deactivate #关闭
2. opencv的安装。
这个包import没错,用的时候报错,编译方法参考:点击打开链接等我装好conda版再做修正
opencv从3.3开始支持dnn模块,所以选择安装opencv3.3,直接conda install 是没有的。然后我去https://anaconda.org查了一番,找armv7l平台-python3.4-opencv3.3。找到了这个https://anaconda.org/lisaong/opencv是可以的。
需要安装一些依赖,免得以后受苦(不装依赖也能装上opencv)。
# 安装基本的依赖项:
sudo apt-get install -y build-essential cmake pkg-config #编译用,这里似乎用不到
# 安装和图像相关的库:
sudo apt-get install -y libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
# 安装视频IO包:
sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libv4l-0 libxvidcore-dev libx264-dev
# 安装highgui相关的依赖库:
sudo apt-get install -y libgtk2.0-dev
# 安装opencv进阶依赖库,操作矩阵等:
sudo apt-get install -y libatlas-base-dev gfortran #这玩意pip装的numpy1.14需要
(如果你要安装tensorflow,请在这里跳转到第三步先安装tensorflow,因为pip装的是numpy1.14,而conda装opnecv是1.19,而且1.14会报错)
3. tensorflow安装。
装这个装到吐血啊!github上的whl是py35和py27的,pip直接装的是1.1.0版本的,mmp哦。
最后成功的版本:http://ci.tensorflow.org/view/Nightly/job/nightly-pi-python3/从这里下载tensorflow-1.7.0-cp34-none-any.whl,然后pip install tensorflow-1.7.0-cp34-none-any.whl,如果还报错,听天由命吧。我是成功了......
总结:因为懒,所以不想编译安装这两个包,结果是今天一下午共重装了4次树莓派系统,最终“莫名其妙”的装好了环境,均可正常使用,仅供参考。缺点:(tensorflow用pip装,其他用conda,挺乱的)。同时,因为新系统带的python3.5,因此探索中装好了它的tensorflow,等装好opencv再写一次原python3.5上的opencv3.3+tensorflow1.7安装踩坑历程。
感谢您的阅读,没了。