OK3588的NPU加速推理resnet18—rknn_toolkit_lite2的Python语言篇(八)

文章介绍了如何在OK3588芯片上利用RKNNToolkitLite2进行NPU加速的Python推理。首先,通过Miniconda创建虚拟环境并安装所需库,然后加载RKNN模型,初始化运行时环境,最后执行模型推理并显示结果。
摘要由CSDN通过智能技术生成

Rknn_toolkit_lite2

RKNN Toolkit Lite2 主要用于 RKNN 模型在 Rockchip NPU 上的部署。
在使用 RKNN Toolkit Lite2 之前,用户需要先通过 RKNN Toolkit2 将各深度学习框架导出的模
型转成 RKNN 模型。转换模型的方法在这篇博客里面讲到 使用rknn-toolkit2把YOLOV5部署到OK3588上
RKNN-Toolkit-Lite2 为 Rockchip NPU 平台(RK3566、RK3568、RK3588)提供 Python 编程接口,帮助用户部署 RKNN 模型并加速 AI 应用程序的实现。提供了一种在RK3588上用python加速,开发应用的方法。
先把rknn_toolkit_lite2下载到板卡上
git clone https://github.com/rockchip-linux/rknn-toolkit2
cd rknn-toolkit2
ls
就看到了rknn_toolkit_lite2

Miniconda安装

Miniconda下载地址
选择这个版本下载
在这里插入图片描述
bash Miniconda3-py38_23.5.2-0-Linux-aarch64.sh
安装注意选择yes

创建虚拟环境并运行NPU加速推理

conda create -n ok3588 python=3.8
conda activate ok3588
cd rknn_toolkit_lite2/
pip install rknn_toolkit_lite2-1.5.0-cp38-cp38-linux_aarch64.whl #python3.8的虚拟环境,安装python3.8的rknn_toolkit_lite轮子
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple # 通过清华源安装opencv
进入相应的路径
cd rknn-toolkit2/rknn_toolkit_lite2/examples/inference_with_lite/
python test.py
如图
在这里插入图片描述

代码注释

if __name__ == '__main__':

    host_name = get_host()#获取硬件平台信息
    if host_name == 'RK3566_RK3568':
        rknn_model = RK3566_RK3568_RKNN_MODEL
    elif host_name == 'RK3562':
        rknn_model = RK3562_RKNN_MODEL
    elif host_name == 'RK3588':
        rknn_model = RK3588_RKNN_MODEL
    else:
        print("This demo cannot run on the current platform: {}".format(host_name))
        exit(-1)

    rknn_lite = RKNNLite()

    # load RKNN model
    print('--> Load RKNN model')
    ret = rknn_lite.load_rknn(rknn_model)#导入RKNN模型
    if ret != 0:
        print('Load RKNN model failed')
        exit(ret)
    print('done')

    ori_img = cv2.imread('./space_shuttle_224.jpg')#读取图片
    img = cv2.cvtColor(ori_img, cv2.COLOR_BGR2RGB)#数据格式转换

    # init runtime environment
    print('--> Init runtime environment')#初始化runtime 环境
    # run on RK356x/RK3588 with Debian OS, do not need specify target.
    if host_name == 'RK3588':
        ret = rknn_lite.init_runtime(core_mask=RKNNLite.NPU_CORE_0)
    else:
        ret = rknn_lite.init_runtime()
    if ret != 0:
        print('Init runtime environment failed')
        exit(ret)
    print('done')

    # Inference
    print('--> Running model')
    outputs = rknn_lite.inference(inputs=[img])#执行推理
    show_top5(outputs)  #打印推理结果
    print('done')

    rknn_lite.release()
rknn_toolkit2是Rockchip公司推出的一款人工智能开发工具集。它是基于Rockchip NPU(神经网络处理单元)的深度学习推理工具集,可用于将训练好的深度学习模型部署到Rockchip处理器上进行推理任务。rknn_toolkit2为开发者提供了一套完整的工具和接口,使他们能够轻松地将深度学习模型集成到他们的应用中。 rknn_toolkit2具有以下主要特点和功能: 1. 高性能推理:rknn_toolkit2通过充分利用Rockchip NPU的计算能力,可以实现高效的深度学习推理。它能够快速处理大规模的数据集,并实时响应用户的请求。 2. 复杂模型支持:rknn_toolkit2支持训练好的多种复杂深度学习模型,包括CNN、RNN、LSTM等。它能够自动优化模型结构,并进行模型压缩和量化,以提高性能和减少模型大小。 3. 简化部署流程:rknn_toolkit2提供了简单易用的API接口和命令行工具,使开发者能够方便地将模型集成到自己的应用程序中。它还支持多种常见的开发环境和框架,如TensorFlow、Caffe和PyTorch。 4. 跨平台支持:rknn_toolkit2不仅适用于Rockchip处理器,还可以在其他平台上进行移植和使用。它支持Linux和Android系统,并具有良好的兼容性和扩展性。 总之,rknn_toolkit2是一个功能强大且易于使用的人工智能开发工具,它能够帮助开发者充分发挥Rockchip处理器的性能优势,快速实现深度学习模型的部署和推理任务,推动人工智能在各个领域的应用与发展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值