0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Tinker Board 2S系统与软件安装设定

jf_cVC5iyAO 来源:易心Microbit编程 作者:易心Microbit编程 2022-11-14 16:06 次阅读

/前一篇开箱文介绍了Tinker Board 2S / 2GB的相关硬件规格,可以看出TinkerBoard 2S / 2GB其实在硬件性能方面的已经具备不错的条件,此外,开箱文的介绍里,也提到了Tinker Board 2S采用了aarch64的操作系统架构,以Debian 10 Linux的LXDE桌面环境,更让使用者有着相当不错的GUI使用体验。/

Tinker Board 2S在官方网站上提供了Debian10 Linux操作系统给用户进行安装,相关LXDE桌面环境的套件软件程序,都有相当完整的支持,本文将会着眼在Tinker Board 2S应用在AI范畴中,所应该要在后续的套件软件程序的安装介绍,在这次的系统安装测试过程,我们发现了在Tinker Board 2S安装的Debian 10 Linux操作系统里,为了安装一些常用的AI支持套件程序,在安装过程中仍要补足许多缺漏的相依套件程序,甚至在测试安装的过程里,也发现了有部分的相依套件程序有断裂的问题,甚至无法单纯采用pip3 install或apt-get install的方式进行相依套件程序的安装,得要透过一些其他套件程序进行修补断裂的安装,这部分将会在后续的文章中详细说明。

本文将会针对以下这些AI应用程序设计中常用的套件程序安装进行说明:

1.nano (用于简易文本编辑器操作)

2.OpenCV 4.5.0 (用于相关视觉影像的接口操作)

3.imutils (用于视觉图像处理的接口操作)

4.pillow (用于视觉图像处理的接口操作)

5.tkinter (用于图形用户界面 GUI 程序设计)

6.Tensorflow 2.4.1 与Tensorflow-Lite Runtime 2.5.0 (用于神经网络运算)

7.Python3-Coral (用于GoogleCoral 边缘张量处理单元Edge-TPU加速器运算)

8.SciKit-Learn (用于神经网络运算)

一、安装简易文本编辑器nano

由于在许多的终端机操作环境下需要快速编修文件,采用精巧且功能完整的文本编辑器nano,一直是许多系统操作者的最爱之一,以下说明安装流程:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install nano

2ecf4c1a-63f3-11ed-8abf-dac502259ad0.jpg

二、安装GTK-2.0相依套件libgtk2.0-dev

本次安装测试的过程当中,在安装OpenCV 4.5.0套件程序时,发生了相依套件断裂的问题,在Tinker Board 2S的Debian 10 Linux系统中因为没有安装GTK-2.0 的libgtk2.0-dev套件程序,这将导致在OpenCV4.5.0因cmake无法将 libgtk2.0-dev相依套件进行编译设定,虽然在后续的make流程都能完成,但最后会在最后Python程序运行时间无法正确使用如imshow、putText等画面显示或绘图的函数,并且会在运行时间报错,并且提示需要重新进行cmake。

为了将libgtk2.0-dev相依套件程序安装至系统,笔者初期使用sudo apt-get install libgtk2.0-dev这种方式安装相依套件程序,但系统却又报错,表示还有许多其他相关相依套件有「相依断裂」的问题,笔者尝试再以sudo apt-get install去安装那些相依套件程序,却依然发现更多的「相依断裂」,更糟糕的是还发生「循环相依」,所谓「循环相依」表示其他的相依套件程序又循环相依libgtk2.0-dev。

为了解决这种「相依断裂」与「循环相依」的问题,最后只能透过额外安装「套件安装设定程序」的方式来解决,本次教学使用的是安装「aptitude」套件程序来解决这个问题。

透过「aptitude」套件程序便可以进行libgtk2.0-dev套件程序安装,以下说明安装流程:

sudo apt-get install aptitude

sudo aptitude install libgtk2.0-dev

三、安装OpenCV 4.5.0套件程序

在本篇教学采用OpenCV 4.5.0进行视觉影像接口处理,笔者曾尝试以sudo apt-get install python-opencv进行套件程序的安装,结果经过检查发现,以这种方式安装的OpenCV版本是3.6版,虽然简单Python程序函数还是可以执行,可是当遇到更进阶的函数如DNN等相关进阶应用时,便会产生函数缺漏的问题,有鉴于此,笔者选择重新以Build from Source的方式进行安装。

在这里要特别强调一个重要关键,在安装OpenCV 4.5.0套件程序之前,「必须」将前述的GTK-2.0相依套件libgtk2.0-dev先行安装完成,切莫跳过这个重要步骤。

由于OpenCV 4.5.0的安装过程需要大量的内存运作空间以进行后续的make流程,因此必须先行安装虚拟内存的套件程序,并且将虚拟内存设为10240MB,并且将Tinker Board 2S重新启动,以下说明虚拟内存设定流程:

sudo apt-get update

sudo apt-get upgrade

#安装dphys-swapfile套件程序

sudo apt-get install dphys-swapfile

#以nano编辑/etc/dphys-swapfile配置文件案

sudo nano /etc/dphys-swapfile

#寻找#CONF_SWAPSIZE= 字符串内容,并且将批注符号# 取消。

#设定CONF_SWAPSIZE=10240

#离开nano文本编辑器

2ef19e46-63f3-11ed-8abf-dac502259ad0.jpg

#重新启动

sudo reboot

下载并编译安装OpenCV 4.5.0,请注意,这个阶段的安装时间非常久,笔者大约安装了近4小时,且在make阶段时Tinker Board 2S的散热片会产生高温,笔者尝试使用make -j2或make -j4等多核心的编译指令,虽然可以加快make流程,但是这种编译方式会让CPU的散热片的温度飙升,甚至导致热当机的状况很多次,造成make失败多次,因此笔者建议只要采用make这种单核心的编译为佳,且在编译过程务必确保电源稳定,且适当以电风扇在旁边帮助散热,虽然时间很久,但可以确保编译过程安全无误,以下说明OpenCV 4.5.0的安装流程:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install cmake gitlibgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install libjpeg-dev libpng-dev

sudo apt-get install libavcodec-devlibavformat-dev libswscale-dev

sudo apt-get install libgtk2.0-devlibcanberra-gtk* libgtk-3-dev

sudo apt-get install python3-dev python3-numpypython3-pip

sudo apt-get install libtbb2 libtbb-devlibdc1394-22-dev

sudo apt-get install libv4l-dev v4l-utils

sudo apt-get install libopenblas-devlibatlas-base-dev libblas-de

sudo apt-get install liblapack-dev gfortranlibhdf5-dev

sudo apt-get install libprotobuf-devlibgoogle-glog-dev libgflags-dev

sudo apt-get install protobuf-compiler

sudo apt-get install qt5-default

wget -O opencv.ziphttps://github.com/opencv/opencv/archive/4.5.0.zip

wget -O opencv_contrib.ziphttps://github.com/opencv/opencv_contrib/archive/4.5.0.zip

unzip opencv.zip

unzip opencv_contrib.zip

mv opencv-4.5.0 opencv

mv opencv_contrib-4.5.0 opencv_contrib

cd ~/opencv

mkdir build

cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE

-D CMAKE_INSTALL_PREFIX=/usr/local

-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules

-D ENABLE_NEON=ON

-D WITH_OPENMP=ON

-D BUILD_TIFF=ON

-D WITH_FFMPEG=ON

-D WITH_TBB=ON

-D BUILD_TBB=ON

-D BUILD_TESTS=OFF

-D WITH_EIGEN=OFF

-D WITH_GSTREAMER=OFF

-D WITH_V4L=ON

-D WITH_LIBV4L=ON

-D WITH_VTK=OFF

-D WITH_QT=OFF

-D OPENCV_ENABLE_NONFREE=ON

-D INSTALL_C_EXAMPLES=OFF

-D INSTALL_PYTHON_EXAMPLES=OFF

-D BUILD_NEW_PYTHON_SUPPORT=ON

-D BUILD_opencv_python3=TRUE

-D OPENCV_GENERATE_PKGCONFIG=ON

-D BUILD_EXAMPLES=OFF

-D WITH_GTK=ON ..

make

sudo make install

sudo ldconfig

make clean

至 .bashrc 设定OpenCV 4.5.0路径,安装完成OpenCV 4.5.0之后,必须要设定相关执行路径,若跳过这个步骤,会导致Python程序在import cv2时产生allocation memory 报错,以下说明 .bashrc 路径设定方式:

cd ~

#以nano文本编辑器编辑.bashrc 配置文件

sudo nano ~/.bashrc

#到文件末端将以下叙述补在最后一行

exportLD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1

2f14349c-63f3-11ed-8abf-dac502259ad0.jpg

#执行 .bashrc 内容

source ~/.bashrc

2f33d572-63f3-11ed-8abf-dac502259ad0.jpg

四、安装其他视觉图像处理与图形用户界面套件程序

#安装pillow套件程序

cd ~

sudo apt-get update

sudo apt-get upgrade

pip3 install setuptools

pip3 install pillow

#安装tkinter套件程序

cd ~

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install python3-tk

sudo apt-get install python3-pil.imagetk

#安装imutils套件程序

cd ~

sudo apt-get update

sudo apt-get upgrade

pip3 install imutils

五、安装Tensorflow 2.4.1 神经网络运算套件程序

Tinker Board 2S 具有强大的CPU与GPU运算效能,可进行神经网络运算,搭配OpenCV可以进行各种AI影像辨识的应用,依照Tinker Board 2S的各种硬件规格,笔者认为神经网络的框架可采用Tensorflow 2.4.1来进行神经网络的推论(Inference)运算,以下说明套件程序安装流程:

#更新操作系统套件信息

sudo apt-get update

sudo apt-get upgrade

#更新安装pip3套件程序

sudo apt-get install python-pip python3-pip

#移除旧版Tensoflow套件程序

sudo pip uninstall tensorflow

sudo pip3 uninstall tensorflow

#安装各种系统相依套件程序

sudo apt-get install gfortran

sudo apt-get install libhdf5-devlibc-ares-dev libeigen3-dev

sudo apt-get install libatlas-base-devlibopenblas-dev libblas-dev

sudo apt-get install liblapack-dev

#安装各种Python3各种套件程序

sudo -H pip3 install --upgrade setuptools

sudo -H pip3 install pybind11

sudo -H pip3 install Cython==0.29.21

sudo -H pip3 install h5py==2.10.0

#安装下载工具

pip3 install gdown

sudo cp ~/.local/bin/gdown/usr/local/bin/gdown

#下载Tensorflow 2.4.1套件程序安装文件

gdownhttps://drive.google.com/uc?id=1WDG8Rbi0ph0sQ6TtD3ZGJdIN_WAnugLO

#安装Tensorflow 2.4.1套件程序

sudo -H pip3 installtensorflow-2.4.1-cp37-cp37m-linux_aarch64.whl

2f462dee-63f3-11ed-8abf-dac502259ad0.jpg

六、安装Tensorflow-Lite Runtime 2.5.0 套件程序

对于Tinker Board 2S / 2GB而言,由于受限于主存储器仅有2GB的缘故,因此对于神经网络进行推论运算时所需使用的主存储器容量,就必须要谨慎运用这有限的容量,若需要在神经网络推论时有较高的运算效能,往往就必须要选择神经网络模型规模较小的模型格式,在Tensorflow族系里有种Tensorflow-Lite格式就是一种模型规模较小的格式,在Tensorflow的原厂网站里也特别将Tensorflow-Lite格式定义适用于物联网IoT应用的场合当中,以下说明套件程序安装的方式:

cd ~

sudo apt-get update

sudo apt-get upgrade

pip3 installhttps://github.com/google-coral/pycoral/releases/download/v1.0.1/tflite_runtime-2.5.0-cp37-cp37m-linux_aarch64.whl

2f6054ee-63f3-11ed-8abf-dac502259ad0.jpg

七、安装google Coral Edge-TPU Pthon套件程序

若想在边缘装置提升神经网络的运算效能,常会在边缘运算装置上外加神经网络运算加速装置,最常用的做法,便是透过USB连接神经网络运算加速装置的方式进行扩充,Tinker Board 2S有强大的USB 3.0接口可以运用,笔者为了能够在Tinker Board 2S上充分发挥Tensorflow-Lite的效能,因此选择透过google推出的Coral Edge-TPU USB Accelerator安装在Tinker Board 2S上,透过Edge-TPU强大的运算效能,让AI的各种应用都能有高速的反应。

以下说明Python3-Coral套件程序安装方式:

echo "debhttps://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudotee /etc/apt/sources.list.d/coral-edgetpu.list

curlhttps://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

sudo apt-get update

sudo apt-get install libedgetpu1-std

sudo apt-get install python3-pycoral

八、安装其他支持神经运算的套件程序SciKit-Learn

cd ~

sudo apt-get update

sudo apt-get upgrade

sudo pip3 install sklearn

以上是针对Tinker Board 2S在后续应用在AIoT主题开发所安装的各种套件程序安装教学,笔者将会在后续文章中介绍Tinker Board 2S在神经网络运算的效能,将会透过笔者设计的Python3范例程序进行本篇各种套件程序的测试效能,敬请各位读者拭目以待啰!

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    4938

    浏览量

    87449
  • 程序
    +关注

    关注

    117

    文章

    3786

    浏览量

    81023
  • 编辑器
    +关注

    关注

    1

    文章

    806

    浏览量

    31168

原文标题:Tinker Board 2S系统与软件安装设定

文章出处:【微信号:易心Microbit编程,微信公众号:易心Microbit编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    休眠时将adxl355的电断掉再重新上电,上电后会延时2s去读值再断电,有概率读到的FIFO值是7FFFF,怎么解决?

    项目做静态监测,需要低功耗设计,休眠时会将adxl355的电断掉再重新上电,上电后会延时2s去读值,再断电。有概率读到的FIFO值是7FFFF
    发表于 12-19 07:39

    Ubuntu系统的虚拟机安装步骤 如何在Ubuntu系统上编译软件

    Ubuntu系统安装虚拟机的步骤 在Ubuntu系统安装虚拟机是一个相对简单的过程,通常可以通过安装VirtualBox或KVM等虚拟化
    的头像 发表于 12-12 14:36 255次阅读

    如何在Windows中安装Ubuntu系统

    在Windows中安装Ubuntu系统通常有两种方法:使用虚拟机软件安装Ubuntu作为虚拟机,或者使用双启动安装Ubuntu与Window
    的头像 发表于 12-12 14:29 278次阅读

    ADS1018EVM开发板连接软件出错的原因?怎么解决?

    ADS1018EVM开发板,连接TI软件时报错。 尝试安装USB驱动,安装PAMB Windows USB Drivers Installer还是出现上述问题。每次刷新连接后,都会先显示2s
    发表于 11-29 06:52

    Efinity软件安装-v5

    感谢朋友提供的视频。1、软件下载易灵思管网地址为https://www.elitestek.com最近一段时间官网有些调整,软件的下载在产品中心。那当然软件的下载还是要先注册才能下载的。2
    的头像 发表于 11-01 11:06 255次阅读

    USB充电解决方案,适用于2节(2S)分立电池,使用带电池平衡的BQ25887

    电子发烧友网站提供《USB充电解决方案,适用于2节(2S)分立电池,使用带电池平衡的BQ25887.pdf》资料免费下载
    发表于 10-14 09:59 0次下载
    USB充电解决方案,适用于<b class='flag-5'>2</b>节(<b class='flag-5'>2S</b>)分立电池,使用带电池平衡的BQ25887

    请问ESP32-S3-LCD-EV-Board的驱动在哪里安装呢?

    请问ESP32-S3-LCD-EV-Board的驱动在哪里安装呢?直接用USB连接到电脑上识别不到端口信息。
    发表于 07-22 07:05

    如何在linux上安装多个版本的ESP-IDF?

    ,原因可能是之前的安装设定了IDF相关的环境变量和路径,导致后来安装的版本找不到正确的路径,我也不敢随便修改,怕把之前的版本也搞坏了。 请问有安全可靠的多版本并存的方法吗?
    发表于 06-18 08:09

    Big-Bit拆解:米家空气净化器2S

    在本期《产品拆解》专栏,我们精选了市场上颇受关注的米家空气净化器2S进行深入剖析!让我们一起来揭秘其运作原理以及内部的国产替代元器件吧! 【前言】 近年来,随着室内空气质量成为公众关注的焦点,人们
    的头像 发表于 05-13 14:37 1087次阅读
    Big-Bit拆解:米家空气净化器<b class='flag-5'>2S</b>

    【Vision Board 创客营】Vision Board上的DAC实践

    选择的是DAC功能的测试。 2、环境配置 配置 ​ 系统:Win11 ​ 开发板:RA8-M85-vision-board ​ 开发IDE:RTThread Studio 版本: 2.2.6 环境配置 下载
    的头像 发表于 04-24 21:55 601次阅读
    【Vision <b class='flag-5'>Board</b> 创客营】Vision <b class='flag-5'>Board</b>上的DAC实践

    为什么需要封装设计?封装设计做什么?

    做过封装设计,做过PCB板级的设计,之前和网友有过交流,问题是:为什么要封装设计?信号完整性体系从大的方面来看:芯片级->封装级->板级。
    的头像 发表于 04-16 17:03 853次阅读
    为什么需要封<b class='flag-5'>装设</b>计?封<b class='flag-5'>装设</b>计做什么?

    Efinity软件安装-v3

    安装python了,软件安装时会自己安装python3.8,也不需要下载。 step2 :安装e
    的头像 发表于 03-29 08:38 389次阅读

    今日看点丨传台积电2nm制程加速安装设备;吉利汽车新一代雷神电混系统年内发布

    1.传台积电2nm 制程加速安装设备 预计2025 年量产   据半导体供应链消息称,台积电2nm制程加速安装设备,台积电新竹宝山Fab20 P1厂将于4月进行设备
    发表于 03-25 11:03 939次阅读

    使用硬件TC212运行软件AURIX™,TDA5235_868_5_BOARD被随机重置的原因?

    我正在使用硬件 TC212 运行软件 AURIX™ ,但我的 TDA5235_868_5_BOARD 被随机重置,没有任何线索。我有 2 个硬件 COOLDIM_PRG_BOARD,测
    发表于 02-27 06:16

    表面安装设计和地面图案标准的一般要求

    电子发烧友网站提供《表面安装设计和地面图案标准的一般要求.pdf》资料免费下载
    发表于 02-21 09:24 2次下载