干货|树莓派4B 搭建 OpenVINO 环境

01环境介绍

 

  1. 硬件:

    树莓派4B 8G内存版

    神经计算棒(NCS2)

    USB3.0 的读卡器

    64GB SD卡

    HDMI线(因为要连接显示器)

    键盘(USB接口,连接树莓派用)

     

  2. 软件:

    Ubuntu20.04

    OpenVINO 2021.3

    Raspberry Pi Imager(用于烧录系统)

    任意命令行工具(我用的是Windows Terminal)

 

02安装操作系统

 

1. 从官网下载Ubuntu系统镜像

[Install Ubuntu on a Raspberry Pi | Ubuntu]

➡️ https://ubuntu.com/download/raspberry-pi

干货|树莓派4B 搭建 OpenVINO 环境_第1张图片

干货|树莓派4B 搭建 OpenVINO 环境_第2张图片

干货|树莓派4B 搭建 OpenVINO 环境_第3张图片

 

 2. 等待镜像写入完成后,将SD卡插入树莓派。

 3. 开机

 如果连接显示器后显示没有信号,将树莓派重启即可。

干货|树莓派4B 搭建 OpenVINO 环境_第4张图片

如果看不到登录,输入回车即可。

干货|树莓派4B 搭建 OpenVINO 环境_第5张图片

默认账号和密码都是 ubunu。

第一次登录后,会让你修改密码

干货|树莓派4B 搭建 OpenVINO 环境_第6张图片

 

03系统配置

 

1. swap设置

Ubuntu 20.04 默认是没有设置swap的,如果你没有比较非内存的应用可以跳过这一步,如果有,但是没有设置那么很容易出现死机的情况。

这里以8G为例:

sudo fallocate -l 8G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfilesudo sh -c 'echo "/swapfile\tnone\tswap\tsw\t0\t0" >> /etc/fstab'

> 注意第一行的不是数字1而是字母l

 

2. 设置WIFI

输入 ip a 可以看到如下内容

干货|树莓派4B 搭建 OpenVINO 环境_第7张图片

wlan0即使wifi模块

编辑Netplan文件

sudo vim /etc/netplan/50-cloud-init.yaml

干货|树莓派4B 搭建 OpenVINO 环境_第8张图片

> 在编辑的时候,如果输入回车,它会自动输入四个空格,记得把他们删除掉。

sudo netplan apply

再次输入 ip a

干货|树莓派4B 搭建 OpenVINO 环境_第9张图片

可以看到已经有了IP地址。

 

3. 用ssh登录

默认是开通了ssh服务的,现在我们便可以通过 windows 连接到树莓派了。

> 这样截图会方便很多,哈哈哈

干货|树莓派4B 搭建 OpenVINO 环境_第10张图片

设置一下系统时间

timedatectl set-timezone Asia/Shanghai

干货|树莓派4B 搭建 OpenVINO 环境_第11张图片

 

4. 安装桌面

sudo apt update && sudo apt dist-upgrade -ysudo apt install -y ubuntu-mate-desktop

这有可能花费很多时间,根据网络情况而定

干货|树莓派4B 搭建 OpenVINO 环境_第12张图片

干货|树莓派4B 搭建 OpenVINO 环境_第13张图片

这两个根据自己的喜好选择就可以了。

干货|树莓派4B 搭建 OpenVINO 环境_第14张图片

等待安装完成。

 

5. 配置vnc

有的时候我们不想用HDMI连接显示器,这时可以使用VNC Viewer来查看树莓派的内容。

sudo apt install tightvncserver

启动服务

vncserver

然后启动 windows 上的 vnc viewer 软件。

干货|树莓派4B 搭建 OpenVINO 环境_第15张图片

干货|树莓派4B 搭建 OpenVINO 环境_第16张图片

输入密码

干货|树莓派4B 搭建 OpenVINO 环境_第17张图片

可以看到桌面了。

 

6. 配置FTP

由于我们后面会经常进行文件的传送,因此FTP还是很有必要的。

sudo apt-get install vsftpd

干货|树莓派4B 搭建 OpenVINO 环境_第18张图片

cd /etc/sudo vim vsftpd.conf

通过上面的命令,进行配置,具体修改内容有以下几个地方:

干货|树莓派4B 搭建 OpenVINO 环境_第19张图片

重启服务

service vsftpd restart

打开  Windows 里面的一个文件夹,并输入 ftp://192.168.2107。

干货|树莓派4B 搭建 OpenVINO 环境_第20张图片

 

然后输入密码即可。

干货|树莓派4B 搭建 OpenVINO 环境_第21张图片

 

04编译 OpenCV 4.5.2-openvino

1. 下载源代码

git clone --depth 1 -b 4.5.2-openvino https://github.com/opencv/opencv.git opencv-4.5.2-openvino

2. 开始编译

sudo apt install libtbb-dev libjpeg-dev libtiff-dev libwebp-devmkdir opencv-4.5.2-openvino/buildcd opencv-4.5.2-openvino/buildcmake\         -DCMAKE_INSTALL_PREFIX=/opt/intel/openvino/opencv \         -DCMAKE_BUILD_TYPE=Release \         -DWITH_INF_ENGINE=ON \         -DENABLE_CXX11=ON \         -DWITH_TBB=ON \         -DPYTHON_EXECUTABLE=/usr/bin/python3.8 \        -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.8.so \         -DPYTHON_INCLUDE_DIR=/usr/include/python3.8 .make -j 4sudo make install

这是一个比较漫长的过程,大概一个小时左右。

干货|树莓派4B 搭建 OpenVINO 环境_第22张图片

干货|树莓派4B 搭建 OpenVINO 环境_第23张图片

 

05安装 OpenVINO 开发套件

1. 做一点点事情准备

sudo apt install git-lfs cython3

2. 从 GitHub 拉取资源

cd ~git clone -b 2021.3 https://github.com/openvinotoolkit/openvino.git openvino-2021.3cd openvino-2021.3git submodule update --init --recursive

3. 编译

cd openvino-2021.3./install_build_dependencies.sh
mkdir build & cd build
cmake \    -DCMAKE_INSTALL_PREFIX=/opt/intel/openvino \    -DCMAKE_BUILD_TYPE=Release \    -DENABLE_SSE42=OFF \    -DTHREADING=SEQ \    -DENABLE_GNA=OFF \    -DENABLE_PYTHON=ON \    -DPYTHON_EXECUTABLE=/usr/bin/python3.8 \    -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.8.so \    -DPYTHON_INCLUDE_DIR=/usr/include/python3.8 \     ..     make -j 4sudo make install

同样需要一个小时左右

干货|树莓派4B 搭建 OpenVINO 环境_第24张图片

4. 配置环境变量

配置完成后,新打开一个窗口如果看到下面的画面表示配置成功。

echo "source /opt/intel/openvino/bin/setupvars.sh" >> ~/.bashrc

5. 配置NCS驱动

将神经计算棒插入树莓派,并查看。

sudo usermod -a -G users "$(whoami)"sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh
sudo usermod -a -G users "$(whoami)"sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh

6. 配置一下其他环境变量

export ngraph_DIR=/opt/intel/openvino/deployment_tools/ngraph/cmakeexport OpenCV_DIR=/opt/intel/openvino/opencv export PYTHONPATH=$OpenCV_DIR/lib/python3.8/site-packages:$PYTHONPATH

7. 注意事项

由于安装时软件之间存在依赖关系,请按照如下顺序进行安装:

OpenCV → OpenVINO →OpenCV(Python库)

 

06验证是否安装成功


1. 安装 Open Model Zoo

pip3 install networkx defusedxml protobuf test-generator==0.1.1pip3 install opencv-python

2. 下载与OpenVINO版本相符的 Open Model Zoo

cd ~git clone https://github.com/openvinotoolkit/open_model_zoo.git -b 2021.3 --depth 1

3. 下载 Alexnet

cd ./open_model_zoo/tools/downloader./downloader.py --name alexnet --precisions=FP16

4. 转换成Neural Compute Stick可识别的形态

./converter.py --name alexnet --precisions=FP16

5. 最终确认

下载一个图片或者自己通过FTP上传一张也可以。

干货|树莓派4B 搭建 OpenVINO 环境_第25张图片

 

cd ~wget https://www.pdclipart.org/albums/Food__D-M/lemon_3.png
python3 ~/openvino/inference-engine/ie_bridges/python/sample/classification_sample_async/classification_sample_async.py -m ~/open_model_zoo/tools/downloader/public/alexnet/FP16/alexnet.xml -i ~/lemon_3.png -d MYRIAD

干货|树莓派4B 搭建 OpenVINO 环境_第26张图片

classid为951时的准确率是0.76,这里的 classid 相对于 Alexnet 学习时的图片id,我们查看一下发现,951的确为 lemon。

干货|树莓派4B 搭建 OpenVINO 环境_第27张图片

 

text: imagenet 1000 class idx to human readable labels (Fox, E., & Guestrin, C. (n.d.). Coursera Machine Learning Specialization.) · GitHub

➡️https://gist.github.com/yrevar/942d3a0ac09ec9e5eb3a

 

07说在最后的话

我们在编译过程中会多次访问 GitHub,因此一个良好的外网环境很有必要。最开始尝试过各种加速方法,最终还是用了梯子。顺便重装了一次系统,细心的小伙伴发现,后面的IP地址从107变成了114。另外整个编译时间大概花费4个小时左右。 

你可能感兴趣的:(OpenVINO,人工智能)