3 Star 51 Fork 23

LubanCat/lubancat_ai_manual_code

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
onnx2rknn.py 2.10 KB
一键复制 编辑 原始数据 按行查看 历史
monark 提交于 2024-09-04 11:58 +08:00 . update example
import os
import sys
import numpy as np
from rknn.api import RKNN
DATASET_PATH = '../datasets/COCO/coco_subset_20.txt'
DEFAULT_QUANT = True
def parse_arg():
if len(sys.argv) < 3:
print("Usage: python3 {} [onnx_model_path] [platform] [dtype(optional)] [output_rknn_path(optional)]".format(sys.argv[0]));
print(" platform choose from [rk3562,rk3566,rk3568,rk3576,rk3588]")
print(" dtype choose from [i8, fp]")
print("Ex: python onnx2rknn.py ./yolov10n.onnx rk3588 i8")
exit(1)
model_path = sys.argv[1]
platform = sys.argv[2]
do_quant = DEFAULT_QUANT
if len(sys.argv) > 3:
model_type = sys.argv[3]
if model_type not in ['i8', 'fp']:
print("ERROR: Invalid model type: {}".format(model_type))
exit(1)
elif model_type == 'i8':
do_quant = True
else:
do_quant = False
if len(sys.argv) > 4:
output_path = sys.argv[4]
else:
output_path = "./yolov10_"+platform+".rknn"
return model_path, platform, do_quant, output_path
if __name__ == '__main__':
model_path, platform, do_quant, output_path = parse_arg()
# Create RKNN object
rknn = RKNN(verbose=False)
# Pre-process config
print('--> Config model')
rknn.config(mean_values=[[0, 0, 0]], std_values=[
[255, 255, 255]], target_platform=platform)
print('done')
# Load model
print('--> Loading model')
ret = rknn.load_onnx(model=model_path)
#ret = rknn.load_pytorch(model=model_path, input_size_list=[[1, 3, 640, 640]])
if ret != 0:
print('Load model failed!')
exit(ret)
print('done')
# Build model
print('--> Building model')
ret = rknn.build(do_quantization=do_quant, dataset=DATASET_PATH)
if ret != 0:
print('Build model failed!')
exit(ret)
print('done')
# Export rknn model
print('--> Export rknn model')
ret = rknn.export_rknn(output_path)
if ret != 0:
print('Export rknn model failed!')
exit(ret)
print('done')
# Release
rknn.release()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/LubanCat/lubancat_ai_manual_code.git
git@gitee.com:LubanCat/lubancat_ai_manual_code.git
LubanCat
lubancat_ai_manual_code
lubancat_ai_manual_code
master

搜索帮助