rknn yolo11 推理

目录

提供了工具下载地址:

[yolo 11 包含分割模型:](#yolo 11 包含分割模型:)

[yolov11 github地址,说是17ms](#yolov11 github地址,说是17ms)

[yolov11 项目地址:](#yolov11 项目地址:)

yolov5转rknn

onnx转rknn


提供了工具下载地址:

https://github.com/rokkieluo/yolo11_convert_rknn

yolo 11 包含分割模型:

https://github.com/yuking926/RKNN-YOLO11

yolov11 github地址,说是17ms

https://github.com/cqu20160901/yolov11_dfl_rknn_Cplusplus/tree/main

yolov11 项目地址:

https://gitcode.com/qq_42910179/lxmyzzs/tree/main/yolo11_rk3588

yolov5转rknn

https://gitcode.com/oYeZhou/yolov5-rknn?source_module=search_result_repo

onnx转rknn

python 复制代码
import sys
from rknn.api import RKNN

DATASET_PATH = '../../../datasets/COCO/coco_subset_20.txt'
DEFAULT_RKNN_PATH = '../model/yolo11.rknn'
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, rv1126b, rv1109, rv1126, rk1808]")
        print("       dtype choose from [i8, fp] for [rk3562, rk3566, rk3568, rk3576, rk3588, rv1126b]")
        print("       dtype choose from [u8, fp] for [rv1109, rv1126, rk1808]")
        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', 'u8', 'fp']:
            print("ERROR: Invalid model type: {}".format(model_type))
            exit(1)
        elif model_type in ['i8', 'u8']:
            do_quant = True
        else:
            do_quant = False

    if len(sys.argv) > 4:
        output_path = sys.argv[4]
    else:
        output_path = DEFAULT_RKNN_PATH

    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)
    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()
相关推荐
熙梦数字化几秒前
企业资源计划(ERP)系统是什么?有哪些特点?
大数据·人工智能·erp
core5122 分钟前
Google A2A (Agent-to-Agent) 协议实战 —— 用 Python 构建“智能体互联网”
python·agent·a2a
灵犀坠2 分钟前
前端面试&项目实战核心知识点总结(Vue3+Pinia+UniApp+Axios)
前端·javascript·css·面试·职场和发展·uni-app·html
GISer_Jing3 分钟前
SSE Conf大会分享——大模型驱动的智能 可视分析与故事叙述
前端·人工智能·信息可视化
zoujiahui_20184 分钟前
使用venv命令创建和使用python环境
开发语言·python
Lovely Ruby4 分钟前
前端er Go-Frame 的学习笔记:实现 to-do 功能(一)
前端·学习·golang
fruge5 分钟前
Vue3 与 Vue2 核心差异:响应式原理、生命周期及迁移方案
前端·javascript·vue.js
Wai-Ngai6 分钟前
自动驾驶控制算法——模型预测控制(MPC)
人工智能·机器学习·自动驾驶
资深低代码开发平台专家6 分钟前
Python自动化:一键搞定“文件批量重命名”
python
北京耐用通信7 分钟前
突破协议壁垒:耐达讯自动化Ethernet/IP转CC-Link网关在工业互联中的核心应用
人工智能·网络协议·安全·自动化·信息与通信