|
|
1. 我通过 yolov11,训练一个7个分类的模型。然后 用 如下代码 导出 onnx 模型。
from ultralytics import YOLO
if __name__ == '__main__':
# 加载你的 YOLOv11 模型
model = YOLO('runs/detect/train/best.pt') # 替换为你的模型路径
# 导出为 ONNX
#model.export(format='tflite',int8=True)
#model.export(format='tflite',opset=12,int8=True)
model.export(format="onnx", opset=12)
# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
#model.export(format="rknn", name="rv1106") # creates '/yolo11n_rknn_model'
2. 我使用 rknn toolkit 用如图片代码 导出rknn 模型。
582
583 # pre-process config
584 # 配置模型运行的相关参数,具体如下
585 print('--> Config model')
586 rknn.config(reorder_channel='0 1 2', # 调整通道输入顺序
587 mean_values=[[0, 0, 0]], # 均值
588 std_values=[[255, 255, 255]], # 方差
589 optimization_level=3, # 打开所有优化选项
590 target_platform = 'rv1126', # 指定RKNN的运行平台
591 output_optimize=1, # 官方文档未提供该参数的说明
592 quantize_input_node=QUANTIZE_ON) # 是否对输入节点进行量化
593 print('done')
594
595 # Load ONNX model
596 # 加载待转换模型(onnx)
597 print('--> Loading model')
598 ret = rknn.load_onnx(model=ONNX_MODEL)
599 if ret != 0:
600 print('Load yolov5 failed!')
601 exit(ret)
602 print('done')
603
604 # Build model
605 # 构建RKNN模型
606 # do_quantization:是否进行量化
607 # dataset:参与量化的输入数据
608 print('--> Building model')
609 ret = rknn.build(do_quantization=QUANTIZE_ON, dataset=DATASET)
610 if ret != 0:
611 print('Build yolov5 failed!')
612 exit(ret)
613 print('done')
614
615 # Export RKNN model
616 # 导出模型为rknn
617 print('--> Export RKNN model')
618 ret = rknn.export_rknn(RKNN_MODEL)
619 if ret != 0:
620 print('Export yolov5rknn failed!')
621 exit(ret)
3.但是推理 没有输出结果。命令如下!
python yolo11_lite_all_test1.py --model_path ../model/best_12.rknn --target rv1126 --img_show --img_folder ../model/
但是我使用 onnx 模型推理,是有结果输出的
python yolo11_lite_all_test1.py --model_path ../model/best_12.onnx --target rv1126 --img_show --img_folder ../model/
请问这个是我模型转换的问题么? |
|