按照K230_AI实战_HHB神经网络模型部署工具.md,HHB文档,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文件夹,先暂停