树莓派+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安装踩坑历程。

        感谢您的阅读,没了。


            

没有更多推荐了,返回首页