.nb格式模型转换总结

本文详细介绍了如何在64位Ubuntu 16.04系统上进行模型转换,包括安装Python和依赖,量化配置,以及转换流程。量化过程中涉及int8、int16和uint8的选择,并提供了模型转换的步骤,如导入模型、量化和生成case代码,最终目标是将模型转换为适用于Khadas平台的.nbg格式文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Step 1       Prepare a computer with the 64-bit Ubuntu 16.04 system.

Step 2      Run the following command to install python3 and pip:

sudo apt-get install python3 python3-pip python3-virtualenv

Step 3      Do as follows to install the related dependencies:

Obtain the acuity-toolkit-binar toolkit and go to the root directory.

Execute: for req in $(cat requirements.txt); do pip3 install $req; done

Step 4 Check the environment

Execute: python3 bin/checkenv.py

Note: if check success, will have Env Pass: Env check SUCCESS!!! print .

量化:量化是将以往用 32bit 或者 64bit 表达的浮点数用 16bit、8bit 或者更低的2bit 方式进行存储。

模型转换过程是先将模型量化成 int8、int16 或者 uint8 数据格式,再转成基于khadas平台运行的 nbg 格式文件,并导出运行的 case 代码。

量化配置脚本如下:

1.通常情况下,选择u8/int8的方式均可。u8是google推荐量化方式。

2.一般建议不选取int16,相较8bit量化,模型大一倍,并在精度上没有明显的优势。

3.参考模型前处理后的取值范围选取量化方式。比如,如果模型前处理后的取值范围为(0~255),此时建议直接选取 u8 的量化方式。

4. 先随便选择一种量化方式,执行完量化操作后,查看生成的 xxxx.quan

我们需要将pt格式模型文件部署到RC605芯片中,由于端侧芯片存储空间非常有限,并且只能识别二进制文件,所以我们需要将训练好的模型文件进行模型转换,从而适配RC605端侧部署的条件。 为了将模型转换到可以部署的二进制文件,首先需要将模型文件转换成通用的onnx文件格式。运行train.py进行训练从而生成yolov5n.pt模型文件。在终端执行如下代码: Python export.py--weights yolov5n.pt--imgsz 256 256--include onnx 利用官方文档中的export.py文件,将模型文件进行转换并导出。为适配端侧存储空间,我们需要再将onnx模型文件进行简化,使用onnxsim函数简化模型文件,以便于后续部署。具体操作如下图所示: 图5.1.5-1 模型文件简化 然后我们需要将onnx文件转换成RC605可以识别的nb二进制文件,从而进行部署。首先将onnx文件通过ftp发送到虚拟机中,在linux系统下进行模型转换。 启动配置好的docker容器,代码如下所示: sudo docker start acuity 将导入的onnx模型文件复制到容器中,代码如下所示: sudo docker cp /home/(虚拟机的用户名)/yolov5n_sim.onnx acuity:/root 进入容器进行操作,代码如下所示: sudo docker exec -it acuity bash 然后修改转换脚本export_nb.sh,从而使其可以对导入的onnx文件进行操作。 如下图所示,图中修改黄色框内的文件名为自己生成的文件名,具体修改过程为先敲入i进入插入模式,然后进行修改,修改后按Esc键返回命令模式,之后敲入:x保存并退出,返回原来的终端界面。 图5.1.5-2 对onnx文件进行操作 然后运行脚本使导入的onnx文件进行转换,代码如下所示: ./export_nb.sh 具体操作如下图所示,需要进入脚本文件所在文件夹,然后再运行模型转换文件。 图5.1.5-3 进入所在文件夹 具体转换过程如下图所示: 图5.1.5-4 对onnx文件进行转换 然后将nb文件导出容器,代码如下所示: cp network_binary.nb /share_dir/ 最后使用filezilla将虚拟机中的.nb文件传到主机中,完成模型转换。 按要求修改这部分内容:1. 将步骤描述出来 2. 必要的指令解析要加上
04-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值