嘉楠勘智k230开发板上手记录(四)--HHB神经网络模型部署工具

按照K230_AI实战_HHB神经网络模型部署工具.mdHHB文档RISC-V 编译器和模拟器安装

一、环境

1. 拉取docker 镜像然后创建docker容器并进入容器
复制代码
docker pull hhb4tools/hhb:2.4.5
docker run -itd --name=hhb2_4 -p 22 "hhb4tools/hhb:2.4.5"
docker exec -it hhb2_4 /bin/bash
2. docker镜像我也上传到了网盘上
复制代码
链接:https://pan.baidu.com/s/1LKDwt4BM_rH76-W15KXykA 
提取码:zghq 
--来自百度网盘超级会员V5的分享
3. 安装一些需要的库
复制代码
sudo apt-get update
sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev llvm
4. RISC-V 编译器和模拟器安装

下载解压

复制代码
wget https://github.com/T-head-Semi/csi-nn2/releases/download/v2.0.20/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1-20220906.tar.gz

tar xf Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1-20220906.tar.gz

wget https://github.com/T-head-Semi/csi-nn2/releases/download/v2.0.20/xuantie-qemu-x86_64-Ubuntu-18.04-20221104-0752.tar.gz

mkdir xuantie-qemu-x86_64-Ubuntu-18.04-20221104-0752
cd xuantie-qemu-x86_64-Ubuntu-18.04-20221104-0752
tar xf ../xuantie-qemu-x86_64-Ubuntu-18.04-20221104-0752.tar.gz

设置查找路径

复制代码
echo "export PATH=/root/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.1/bin:$PATH" >> ~/.bashrc
echo "export PATH=/root/xuantie-qemu-x86_64-Ubuntu-18.04-20221104-0752/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

两个压缩包我都上传到了网盘上

复制代码
链接:https://pan.baidu.com/s/1F33VcOYAzhVr2mPeIAgdsw 
提取码:69ru 
--来自百度网盘超级会员V5的分享

二、编译模型

k230是基于玄铁c908的,但是docker中没有c908的案例。需要自己修改。因为嘉楠勘智官方文档中HHB镜像链接失效了,所以具体命令可能有点不一样。

拷贝c906并修改相关配置

复制代码
cd example/
cp -a basic/c906 c908
cd c908/onnx_mobilenetv2/

run.sh相关修改

  • 修改--board参数的值(c906改为c908)
  • 添加校正集参数( -cd )
  • 添加量化参数(--quantization-scheme)

最后修改后run.sh内容如下

复制代码
#!/bin/bash -x

hhb -S --model-file ../../basic/model/mobilenetv2-12.onnx  --data-scale 0.017 --data-mean "124 117 104" --board c908 --input-name "input" --output-name "output" --input-shape "1 3 224 224" -cd persian_cat.jpg   --quantization-scheme "int8_asym_w_sym"  --postprocess save_and_top5 --simulate-data persian_cat.jpg

更多有关hhb的命令行选项的可以看平头哥的官方文档

运行sh

复制代码
./run.sh

最后生成hhb_out目录,如下

将hhb_out目录拷贝到,导出到wsl的ubuntu中, 后续需要使用k230 rtt工具链重新交叉编译

没找到官方文档里的example/hhb文件夹,先暂停

相关推荐
邹诗钰-电子信息工程3 小时前
嵌入式自学第四十二天
单片机·嵌入式硬件
iCxhust3 小时前
使用 Visual Studio 创建安装包的完整指南
ide·单片机·嵌入式硬件·microsoft·c#·visual studio
技术流浪者5 小时前
PCB设计实践(三十六)PCB设计新手系统性注意事项总结
单片机·嵌入式硬件·硬件工程·pcb设计
小智学长 | 嵌入式5 小时前
Arduino入门教程:10、屏幕显示
单片机·嵌入式硬件·arduino
西北丰7 小时前
键盘 AK35I Pro V2 分析
单片机·嵌入式硬件·计算机外设
电子科技圈7 小时前
为AR眼镜等多种智能可穿戴设备添加穿戴状态检测功能
经验分享·后端·嵌入式硬件·ar·restful·智能硬件·智能手表
刘延林.8 小时前
使用 MicroPython 实现 ESP32-CH3 扬声器播放声音
嵌入式硬件
JXNL@9 小时前
STM32外设学习之ADC
stm32·嵌入式硬件·学习·adc
小坏坏的大世界10 小时前
mavros中的gcs_url和fcu_url的含义
嵌入式硬件·无人机
GodKK老神灭10 小时前
STM32 GPIO 寄存器开发
stm32·单片机·嵌入式硬件