一、硬件条件

Firefly AIO-3399ProC + Ubuntu18.04官方固件(5.11号)

二、修改python版本(选做)

讲一下我需要修改Python版本的原因,如果读者不需要的话,没有必要修改。笔者板子中默认配置了Python-2.7.17和Python-3.6.9

首先,我需要安装tensorflow,由于和numpy版本兼容关系比较受限,并且在原来的程序中用了tensorflow.contrib组件,所以必须是是tensorflow1.x版本。
根据参考文章1选择了tensorflow1.14版本,并且根据参考文章2找到了兼容的numpy版本为1.16.0。

参考No module named ‘tensorflow.contrib’
参考tensorflow和numpy对应的版本

笔者是最后的最后才装的tensorflow,用pip3装的时候不论官方源还是国内源都一直提醒我没有匹配版本,然后才明白tensorflow对ARM的支持捉襟见肘。

随后笔者找了一堆资料才找到了参考文章3和4,弄明白了一些包在后缀名中的支持都是什么意思,并且知道了要下载特殊的ARM版本。
在此感谢github上的大佬给出的多个版本的tensorflow-on-arm。

参考如何查看pip支持的文件名和版本
参考aarch64架构下安装tensorflow详细过程
参考tensorflow-on-arm的github地址

此时我发现,在github里的tensorflow-1.14.0(忽略另一个带Buster的1.14.0版本,因为笔者不太懂)只支持Python-3.5和2.7因此笔者无奈选择了自己装Python-3.5.9。

笔者提醒:该过程是要求已经安装过pip的,笔者第一次先装了Python3.5.9,然后最后一步pip3改不了指向了,因为没有形成某些新的pip3文件。如果读者装的是pip,后边给出个人建议(但是不保证能成功)

以下过程
参考ubuntu安装python3.7,并更新python默认指向为python3.7
参考更改Ubuntu默认python版本的两种方法

0.安装pip3

sudo apt update
sudo apt upgrade
sudo apt install python3-pip

此时pip3会被安装在默认python3下

可能出现的错误:pip required SSL/TSL,解决方法:

sudo apt install libssl-dev

参考:安装python时出现Ignoring ensurepip failure:pip required SSL/TLS

1.下载官方源码包

wget  https://www.python.org/ftp/python/3.5.9/Python-3.5.9.tgz

如果下载慢,建议科学上网。
笔者是Windows下科学下载,然后拷贝到ARM开发板上的主目录下。

2.解压并进入

tar -zxvf Python-3.5.9.tgz
cd Python-3.5.9

3.配置并编译安装

./configure
make
sudo make install

此时,Python-3.5.9已经安装完成,但是需要额外的指向修改

4.修改指向

sudo mv /usr/bin/python /usr/bin/python.bak
sudo ln -s /usr/local/bin/python3 /usr/bin/python
sudo mv /usr/bin/pip3 /usr/bin/pip.bak
sudo ln -s /usr/local/bin/pip3 /usr/bin/pip3

(如果读者装的是pip,建议把后两句的/usr/bin/pip3改为/usr/bin/pip,即参考文章中的原语句。笔者不保证可以成功)

5.修改Python优先级

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 3

6.完成

输入python指令默认指向Python-3.5.9,并且会显示安装新Python的今天的日期。输入pip3 -V指令可以看到pip的版本和所属Python环境(python 3.5)。此时即为成功。此时推荐升级pip3:

sudo pip3 install –upgrade pip

把pip3包从9版本升级至最新20版本。

三、基本包安装和升级

1. 配置GCC

sudo apt install build-essential

2. 安装最基本的软件

sudo apt install cmake gedit git

分别为编译包、文件管理包(root修改文件)、和程序下载包

3.其他基本依赖包

sudo apt install python3-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

4.升级pip3包和setuptools包(仅建议升级,为后续工作更新工具)

sudo pip3 install --upgrade pip
sudo pip3 install --upgrade setuptools

如果没有setuptools就

sudo apt install setuptools

5.安装wheel包(仅建议安装,为后续工作准备工具)

pip3 install wheel

四、安装numpy和tensorflow

1.安装numpy-1.16.0

pip3 install numpy==1.16.0

如果网络连接错误或下载慢就指定源:

pip3 install numpy==1.16.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/

如果没装wheel的话,其中有一步Running setup.py install for numpy会很慢甚至报错,如果安装了wheel的话,这一步同样慢,但是不会出错。

2.安装tensorflow-1.14.0

参考aarch64架构下安装tensorflow详细过程
笔者是在Windows下科学下载https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.14.0/tensorflow-1.14.0-cp35-none-linux_aarch64.whl并拷贝到ARM板主目录下

有懂哥的话自行用git指令或者wget指令下载。

pip3 install tensorflow-1.14.0-cp35-none-linux_aarch64.whl

但是这个过程会需要下载很多的依赖包,如果网不行或者是用网高峰期,建议

pip3 install tensorflow-1.14.0-cp35-none-linux_aarch64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/

如果出错了,大概率是网的问题,再运行几次多半就好了。

这其中有一个h5py的包,在笔者安装的过程中出错了。

sudo apt install libhdf5-dev
sudo pip3 install h5py

可以解决,同样,如果pip3安装网速慢,继续指定用清华的源

sudo pip3 install h5py -i https://pypi.tuna.tsinghua.edu.cn/simple/

参考Ubuntu中安装Python h5py

五、安装opencv和dlib

1.安装opencv(因为某些原因,笔者需要自行编译opencv)

参考Firefly-RK3399安装opencv3
参考OpenCV-Ubuntu 16.04中安装OpenCV+OpenCV_Contrib

(1)下载opencv
git clone https://github.com/opencv/opencv.git

这一步笔者是在Windows上opencv官网下载的opencv-3.4.10和opencv-contrib3.4.10并解压,把后者放入了opencv的根目录(两个文件夹名字都去掉-3.4.10)做成的文件包,放到ARM板根目录下

(2)进入opencv并建立release文件夹
cd opencv
mkdir release
cd release
(3)cmake编译
sudo cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
(4)build

比较慢,按照ARM的算力可能有一两个小时,注意板子的散热

sudo make -j4
(5)安装
sudo make install
(6)环境配置
sudo gedit /etc/ld.so.conf

在后边另起一行加上/usr/local/lib
保存关闭

然后更新环境配置

sudo /sbin/ldconfig

2.安装dlib

参考Ubuntu下dlib库编译安装

(1)安装boost库
sudo apt-get install libboost-all-dev
(2)从github克隆库
git clone https://github.com/davisking/dlib.git
(3)编译
cd dlib
mkdir build
cd build
sudo cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1
cmake --build .
(4)安装
cd ..
sudo python setup.py install --no DLIB_USE_CUDA

3.完成

完成后建议在python中import一下,以测试是否安装成功。

opencv版本号查看:

python
import cv2
cv2.__version__

dlib版本号查看:

pip3 list

五、注意事项

1.本文实际是记录笔者为了毕设进行环境配置的过程,在此期间(算上另一篇博客)一共花了近两周的时间,实在是想原地去世

2.可能过程中出的一些其他的错误没有随时记录下来,出了的话请自行查询。我遇到的比较突出的错误所看的文章大多都已经放在文章里了,读者可以取参考一下他们的方法。

3.中间pip3 install指令前边加不加sudo感觉都差不多吧。如果不加sudo出错了,那就加上试试。

六、参考文章

https://www.cnblogs.com/whenyd/p/7721989.html
https://www.cnblogs.com/nlpwangdong/p/12525178.html
https://blog.csdn.net/xinjieyuan/article/details/103738396
https://bbs.csdn.net/topics/392479170
https://www.cnblogs.com/ming-4/p/11684474.html
https://blog.csdn.net/u014775723/article/details/85213793
https://blog.csdn.net/djs123djs/article/details/83858088
https://blog.csdn.net/yanhuatangtang/article/details/54615068
https://www.cnblogs.com/ming-4/p/11684474.html
https://blog.csdn.net/linmingan/article/details/50736300
https://blog.csdn.net/qq_25680531/article/details/80854344
https://www.cnblogs.com/fx-blog/p/8213704.html
https://www.cnblogs.com/whenyd/p/7721989.html

———————————————————————————————————————————
本人新手,在校学生,刚接触ubuntu和python
非常感谢CSDN上各路大佬的帖子,感觉要回馈社区,所以开始写CSDN博客
欢迎咨询

Firefly AIO-3399ProC ARM开发板环境配置过程相关推荐

  1. 100ASK_全志V853-PRO开发板 环境配置及编译烧写

    0.前言 本章主要介绍关于100ASK-V853-PRO开发板的Tina SDK包的下载和编译打包生成镜像,并将镜像烧录到100ASK-V853-PRO开发板上.在进行100ASK-V853-PRO开 ...

  2. fl2440 开发板环境配置(仅供个人参考,记忆力不好)

    1.samba启动: 保证防火墙关闭,且保证IP地址与需要访问的地址保持一致,然后重启samba服务. setup 设置防火墙 . IP地址设置:ifconfig eth0 192.168.42.12 ...

  3. 一个简单的Arm开发板的制作过程

    2019独角兽企业重金招聘Python工程师标准>>> http://www.linuxidc.com/Linux/2011-02/32771.htm 转载于:https://my. ...

  4. arm开发板用无线网卡连接ap

    首先arm开发板上一定要有无线网卡的驱动!2.6内核支持10多种无线网卡芯片的驱动在买网卡的时候最后芯片是linux内核里有的! 要不找着合适的驱动很麻烦! 接下来就是命令来连接ap 我用vista系 ...

  5. Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置

    Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置 第一步:在PC机安装Ubuntu18.04LTS 具体安装步骤参见上一篇文章 第二步:安装arm-linux-gcc交叉编 ...

  6. ARM开发板配置rzsz

    @TOC 1 交叉编译rzsz 这里说的rzsz并不是真的是rzsz库,发现并不好用,而确实好用. rzsz-3.48.tar.gz==>不好用,建议别下了 https://ohse.de/uw ...

  7. 配置SSH服务器到ARM开发板中使用

    本例中所使用的硬件平台是GEC6818 ARM开发板 SSH_config.tar.bz下载 链接:https://pan.baidu.com/s/12xqy3ZxhBEjNm8lGQ0ZjAA 提取 ...

  8. 电脑向linux板卡传文件,ARM 开发板嵌入式linux系统与主机PC通过串口传输文件

    ARM 开发板嵌入式linux系统与主机PC通过串口传输文件 本来以为按以下两篇文章就可以几步轻松搞定这个问题,没想到遇到两个小麻烦: 1,我用的xp虚拟机下redhat9.0做主机,按照下面第一篇文 ...

  9. QEMU imx6ul开发板环境搭建

    QEMU imx6ul开发板环境搭建 文章目录 QEMU imx6ul开发板环境搭建 0. 前言 1. 基本环境 2. 安装KVM 3. 下载开发板的QEMU镜像文件 4. 运行QEMU系统 4.1 ...

最新文章

  1. 青龙羊毛——某世界扶持及新脚本
  2. python菜鸟教程官网绘图-NumPy Matplotlib
  3. 合并两个有序数组为一个新的有序数组
  4. 携程SQL面试题忘大牛解答解决思路
  5. Java EE EJB拦截器教程和示例
  6. Docker 精通之 docker-compose
  7. hdu_4742_Pinball Game 3D(cdq分治+树状数组)
  8. 诺顿企业版安装找不到路径
  9. C - 51 38译码器 动态数码管显示
  10. 数据分析的软件最全场景盘点
  11. excel设置下拉菜单多选_如何设置多选Excel下拉菜单
  12. ECMASript 6 新特性
  13. 有了这个列表,程序员不愁没练手的小项目了
  14. 飞机大战(简单版)(C/C++) (VS)
  15. 2022年京东新百货七夕礼遇季活动有什么亮点?
  16. Unity3D的3D音效的实现
  17. QQ5.1 去广告显IP新春完美版【木子李作品】
  18. mac登陆远程服务器
  19. 【GStreamer 】2-ubuntu v4l2-ctl 查看USB 相机基本参数
  20. 山东理工大学ACM平台题答案关于C语言 2101 正方形面积

热门文章

  1. MMA8452加速传感器的应用(简)
  2. #175-【线段树与树状数组】砍树
  3. Rocky Linux 8 安装 socks5 服务器步骤
  4. 电阻 电容表 电感表 频率表 测量套件 51单片机 STC89C52 程序 万用表
  5. 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 Standard NLP tasks with specific vocabulary
  6. 我的物联网项目(二十四) 订单编号生成规则
  7. 我的物联网项目(二十三) 统计数据优化
  8. 剑魂之刃服务器维护,剑魂之刃全服合服停机维护预告
  9. 批量更新用户mous余额
  10. 能否构成三角形的条件代码_平面几何之三角形篇