如何把Openvino以及Myriad插件移植到Hi3559

如何把Openvino以及Myriad插件移植到Hi3559 thatk 2023-11-08 13:43:24 160

最近在研究如何把Intel的神经网络计算软件包Openvino以及Myriad插件移植到华为的Hi3559,这事目前还没有人做过,先记录一下。

1. 升级cmake到3.14

1.1 官网下载3.14或更新的安装包https://cmake.org/download/

   1.2 tar -zxvf cmake-3.14.0.tar.gz

   1.3 cd cmake-3.14.0

   1.4 ./bootstrap

   1.5 make -j8

   1.6 make install

2. 下载openvino代码并且在x86上装一遍确定没有问题,官网的source code不包含myriad,要从内网搞。

   2.1 git clone git@gitlab-icv.inn.intel.com:inference-engine/dldt.git

   2.2 cd inference_engine

   2.3 ./build-after-clone.sh 编译会不过

  2.4 cd build; make会卡在36%的地方,貌似是一个命令cmake中间有分号cmake认不了。按下面的办法改:

       2.4.1 cd inference_engine/temp/validation_set/src

       2.4.2 cmake -P /home/hunter/openvino/dldt/inference-engine/temp/validation_set/tmp/validation_set-gitclone.cmake   会下载一堆图片

       2.4.3 gedit inference_engine/temp/validation_set/src/validation_set-stamp/validation_set-download-Release.cmake

        删除execute_process那个大括号

       2.4.4 cd build; make -j4直接都能过

3. 安装Hi3559编译器

   3.1 tar -zxvf aarch64-himix100-linux.tgz

   3.2 cd aarch64-himix100-linux

   3.3 ./aarch64-himix100-linux.install

   3.4 编译器装到/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin下面,并且在/etc/profile最后加了一段PATH

4. 安装libusb1.0

  4.1 sudo gedit /etc/apt/source.list  (原来的先备份一下)

  4.2 全文替换"# deb-src"为"deb-src"

  4.3 sudo apt update

  4.4 apt source libusb-1.0-0-dev

  4.5 cd libusb-1.0-1.0.20

  4.6 ./configure --build=i686-linux --host=arm-linux CC=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc --prefix=`pwd`/install_hi3559 --disable-udev

  4.7 make; make install

  4.8 libusb.h 在 install_hi3559/include/libusb-1.0 下面

      libusb-1.0.so.0.1.0 在install_hi3559/lib 下面


5. 交叉编译inference-engin

  5.1 copy -r 之前编过的dldt到一个新的目录

  5.2 cd inference_engine

  5.3 删除/bin和build下面的内容

  5.4 把cmake/arm64.toolchain.cmake中的gcc和g++改成/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc和/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-g++

  5.5 把thirdparty/movidius/XLink/CMakeLists.txt和thirdparty/movidius/mvnc/CMakeLists.txt中的find_library那行改成find_library(LIBUSB_LIBRARY libusb-1.0.so.0.1.0 "/home/hunter/src/libusb-1.0-1.0.20/install_hi3559/lib") 就是libusb交叉编译的so路径

  5.6 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../cmake/arm64.toolchain.cmake -DENABLE_SSE42=OFF -DVERBOSE_BUILD=ON -DENABLE_PLUGIN_RPATH=ON -DENABLE_UNSAFE_LOCATIONS=ON -DENABLE_INTEL_OMP=OFF -DTHREADING=SEQ -DENABLE_PROFILING_ITT=OFF -DENABLE_TESTS=OFF -DENABLE_FUNCTIONAL_TESTS=OFF -DENABLE_BEH_TESTS=OFF -DENABLE_PERFORMANCE_TESTS=OFF -DENABLE_INTEGRATION_TESTS=OFF -DENABLE_STRESS_UNIT_TESTS=OFF -DENABLE_SEGMENTATION_TESTS=OFF -DENABLE_OBJECT_DETECTION_TESTS=OFF -DENABLE_MODELS=OFF -DENABLE_PRIVATE_MODELS=OFF -DENABLE_PRIVATE_HDDL_MODELS=OFF -DENABLE_MODELS_FOR_CVSDK=OFF -DENABLE_VALIDATION_SET=OFF -DENABLE_SAMPLES=OFF -DENABLE_SAMPLES_CORE=OFF -DENABLE_SERVICE_AGENT=OFF -DENABLE_OPENVX_CVE=OFF -DENABLE_GNA=OFF -DENABLE_DLIA=OFF -DENABLE_CLDNN=OFF -DENABLE_MKL_DNN=OFF -DENABLE_OPENCV=OFF -DENABLE_KMB=OFF -DENABLE_HDDL=OFF ..

  5.7 make -j8

  5.8 编译的结果在 inference_engine/bin/aarch64/Release/myriad_perfcheck

6. 安装tftp server

  6.1 sudo apt-get install tftpd-hpa,  tftp-hpa

  6.2 sudo mkdir /tftp

  6.3 sudo chmod 777 /tftp

  6.4 sudo gedit /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/tftp"  -->这个是你的工作目录,需要自己选定,chmod 777 /tftp我是在根目录下搞了个

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"

  6.5 sudo service tftpd-hpa restart

7. 安装minicom (Hi3559 USB转串口驱动默认不支持win10)

  7.1 sudo apt install minicom

  7.2 sudo minicom

  7.3 CTRL-A o

      Serial port setup里面改ttyUSB0,Save setup as dfl

  7.4 CTRL-A x退出

8. Hi3559刷机

  8.1 Hi3559资料链接https://pan.baidu.com/s/1ntmC9pPBPaSMkonKuYh25A密码r02t

  8.2 按"HI3559AV100烧写文件"目录里面的帮助文件刷机,bootargs里面加上"clk_ignore_unused rw"否则刷完机文件系统只读

  8.3 reset 重启Hi3519

9. 运行

  9.1 ifconfig eth0 192.168.8.200 netmask 255.255.255.0

  9.2 在ubuntu上把myriad_perfcheck,lib下面的libinference_engine.so libmyriadPlugin.so libformat_reader.so MvNCAPI-ma2450.mvcmd以及libusb-1.0.so.0.1.0拷贝到/tftp

  9.3 在板子上tftp -l myriad_perfchec -g 192.168.8.100

  9.4 cd /usr/lib 把so文件和mvcmd放这里

  9.5 插上myriad 2计算棒

  9.6 找个FP16的例子,比如vehicle-liense-plate-detection-barrier-0106

  9.7 ./myriad_perfcheck model/vehicle-liense-plate-detection-barrier-0106.xml pic/ 1000 1

      运行完得到min fps = 12.1914; max fps = 21.6535


声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
thatk
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
thatk
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区