模型部署——rknn-toolkit-lite2部署RKNN模型到开发板上(python版)

这篇具有很好参考价值的文章主要介绍了模型部署——rknn-toolkit-lite2部署RKNN模型到开发板上(python版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

欢迎学习RKNN系列相关文章,从模型转换、精度分析,评估到部署,推荐好资源:
一、Ubuntu系统上安装rknn-toolkit
二、使用rknn-toolkit将Pytorch模型转为RKNN模型
三、RKNN模型的评估和推理测试
四、RKNN模型量化精度分析及混合量化提高精度
五、RKNN模型性能评估和内存评估
六、rknn-toolkit-lite2部署RKNN模型到开发板上(python版)
七、RKNN C API开发板上落地部署RKNN模型
八、RKNN零拷贝API开发板落地部署RKNN模型


rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

在RKNN模型部署前,需要注意以下几点:

(1)硬件平台兼容性:
确保你的开发板与 RKNN Toolkit Lite2 兼容。目前,RKNN Toolkit Lite2 支持 Rockchip RK3566、RK3588、RK3399 等平台。
确认开发板的 NPU 型号和版本与 RKNN 模型的 NPU 算子兼容。

(2)模型转换:
使用 RKNN Toolkit 或 RKNNConverter 工具将 PyTorch、TensorFlow 等框架模型转换为 RKNN 模型。
转换时,需要指定目标硬件平台和 NPU 型号。
确保模型转换成功,并生成相应的 RKNN 模型文件。
关于模型转换的教程,参考我另外一篇博文:Pytorch转RKNN模型

(3)部署环境:
在开发板上安装 RKNN Runtime 和相关依赖库。
确认开发板的系统版本和编译环境与 RKNN Toolkit Lite2 兼容。

(4)模型加载:
使用 RKNN Toolkit Lite2 提供的 API 加载 RKNN 模型。
需指定模型文件路径以及其他参数。

(5)模型推理:
使用 RKNN Toolkit Lite2 提供的 API 进行模型推理。
需提供输入数据和相关参数。

(6)性能优化:
可以使用 RKNN Toolkit Lite2 提供的性能分析工具分析模型性能。
根据分析结果,可以对模型进行优化,以提高推理速度和降低功耗。

一、源码包准备

本配套源码包的获取方式为文章末扫码到公众号「视觉研坊」中回复关键字:RKNN Lite2开发板部署。获取下载链接。

下载解压后的样子如下:

rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

二、环境准备

先在开发板上运行rknn_server,通过adb连通开发板,在开发板系统上安装python编译环境。

2.1 安装Miniconda

在开发板系统上安装Miniconda的详细教程,见我另外一篇博客:Miniconda安装

2.2 新建虚拟环境

上一步Miniconda安装好后,在此基础上安装一个新的虚拟环境,如下,:
查看已有虚拟环境命令为:

conda env list

创建新虚拟环境命令为:

conda create -n name python=3.9

rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉
rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

上面步骤创建好后激活虚拟环境,如下:

激活命令为:

conda activate name

rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

2.3 安装rknn_toolkit_lite2包

rknn_toolkit_lite2包的轮子文件,在我提供源码包中的packages文件夹中,如下:

rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

在激活的虚拟环境中,进入到存放轮子文件目录下,使用下面命令安装:

pip install rknn_toolkit_lite2-1.6.0-cp39-cp39-linux_aarch64.whl -i https://pypi.mirrors.ustc.edu.cn/simple/

rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

2.4 安装OpenCV包

在同样的虚拟环境下,使用下面命令安装opencv:

pip install opencv-python -i https://pypi.mirrors.ustc.edu.cn/simple/

rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

三、推理

上面环境都准备好后,在终端通过命令进入到源码包目录下,运行下面命令即可在开发板上推理RKNN模型。

python rknntoolkit_lite2_inference.py

rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

3.1 代码

此代码对应源码包中的rknntoolkit_lite2_inference.py脚本。

from rknnlite.api import RKNNLite
import cv2
import numpy as np

def show_outputs(output):
    output_sorted = sorted(output,reverse = True)
    top5_str = '\n----------top5-----------\n'
    for i in range(5):
        value = output_sorted[i]
        index = np.where(output == value)
        for j in range(len(index)):
            if (i + j) >= 5:
                break
            if value > 0:
                top1 = "{}:{}\n".format(index[j],value)
            else:
                top1 = "-1:0.0\n"
            top5_str += top1
    print(top5_str)

def show_perfs(perfs):
    perfs = "perfs:{}\n".format(perfs)
    print(perfs)

def softmax(x):
    return np.exp(x)/sum(np.exp(x))

if __name__ == "__main__":
    rknn = RKNNLite()

    # 使用load_rknn接口直接加载RKNN模型
    rknn.load_rknn(path="resnet18.rknn")

    # 调用init_runtime接口初始化运行时环境
    rknn.init_runtime(
        core_mask = 0,  # core_mask表示NPU的调度模式,设置为0时表示自由调度,设置为1,2,4时分别表示调度某个单核心,设置为3时表示同时调度0和1两个核心,设置为7时表示1,2,4三个核心同时调度
        # targt = "rk3588"
    )

    # 使用Opencv读取图片
    img = cv2.imread("space_shuttle_224.jpg")
    img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)

    # 调用inference接口进行推理测试
    output = rknn.inference(
        inputs=[img],
        data_format=None
    )

    show_outputs(softmax(np.array(output[0][0])))  # 根据概率排名,打印出前5名的概率

    rknn.release()

3.2 开发板推理结果

运行上面脚本,输出推理结果如下:

rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

打开源码包中的图片和imagenet1000标签.txt文件对照查看,推理预测的结果与标签文件对应的类名一致,说明开发板推理结果正确,如下:

rknn-toolkit2可以在板子上运行吗,模型实战部署,python,持续部署,计算机视觉

四、总结

以上就是rknn-toolkit-lite2部署RKNN模型到开发板上的详细过程,CAPI开发板部署见下一期博文。

总结不易,多多支持,谢谢!

感谢您阅读到最后!关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!文章来源地址https://www.toymoban.com/news/detail-848010.html

到了这里,关于模型部署——rknn-toolkit-lite2部署RKNN模型到开发板上(python版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RK3588平台开发系列讲解(AI 篇)RKNN-Toolkit2 API 介绍

    沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要讲解 RKNN-Toolkit2 API 详细说明。 在使用 RKNN Toolkit2 的所有 API 接口时,都需要先调用 RKNN() 方法初始化 RKNN 对象,当不再使用该对象时,通过调用该对象的 release() 方法进行释放。 初始化 RKNN 对象时,可以设置

    2024年02月09日
    浏览(49)
  • yolov5训练pt模型并转换为rknn模型,部署在RK3588开发板上——从训练到部署全过程

    目录 一、任务介绍 二、实验过程 2.1 使用正确版本的yolov5进行训练(平台:x86机器windows系统) 2.2 best.pt转换为best.onnx(平台:x86机器window系统) 2.3 best.onnx转换为best.rknn(平台:x86机器Linux系统) 2.3.1 环境准备和工具包安装 2.3.2 onnx转换为rknn 2.4 RK3588部署rknn实现NPU加速(平台:

    2024年02月03日
    浏览(45)
  • RKNN模型部署(1)—— 相关介绍

       Rockchip板载AI芯片,内置高能效NPU,拥有强劲算力,支持多种AI框架和AI应用开发SDK,易于开发,拥有面向AI应用的丰富接口,便于扩展,适用于语音唤醒、语音识别、人脸识别等功能应用场景。    RKNN 是 Rockchip npu 平台使用的模型类型,以.rknn后缀结尾的模型文件。Ro

    2024年02月09日
    浏览(40)
  • RKNN模型部署(3)—— 模型转换与测试

    初始化函数: 初始化RKNN对象时,可以设置verbose和verbose_file参数,以打印详细的日志信息。 参数 解析 verbose 指定是否要在屏幕上打印详细日志信息 verbose_file 如果verbose参数为True,日志信息将写到该参数指定的文件中,一般将verbose设置为True,verbose_file不设置,将日志显示到

    2023年04月22日
    浏览(35)
  • rv1109/1126 rknn 模型部署过程

    rv1109/1126是瑞芯微出的嵌入式AI芯片,带有npu, 可以用于嵌入式人工智能应用。算法工程师训练出的算法要部署到芯片上,需要经过模型转换和量化,下面记录一下整个过程。 模型量化需要安装rk的工具包: rockchip-linux/rknn-toolkit (github.com) 版本要根据开发板的固件支持程度来,

    2024年02月14日
    浏览(36)
  • rknn_toolkit以及rknpu环境搭建-rv1126

    rknn_toolkit安装------------------------------------------------------------------------------- 环境要求:ubutu18.04 建议使用docker镜像 安装docker 参考https://zhuanlan.zhihu.com/p/143156163 镜像地址 百度企业网盘-企业云盘-企业云存储解决方案-同步云盘 rknn_toolkit目录结构 docker load --input rknn-toolkit-1.7. 3 -d

    2024年02月10日
    浏览(41)
  • yolov8 瑞芯微 RKNN 的 C++部署,部署工程难度小、模型推理速度快

       之前写过两次yolov8目标检测部署,后续继续思考,针对部署还有优化空间,本示例的部署方式优化了部署难度,加快了模型推理速度(略微增加了后处理的时耗)。 特别说明:如有侵权告知删除,谢谢。 【完整代码】代码和模型    onnx转rknn模型这一步就不再赘述,请

    2024年01月23日
    浏览(39)
  • 香橙派5 RK3588 yolov5模型转换rknn及部署踩坑全记录 orangepi 5

    由于距离写这篇文章过去很久,有的部分,官方已更新,请多结合其他人的看,并多琢磨、讨论~ 另外打个小广告: 博客 https://blog.vrxiaojie.top/ 欢迎大家前来做客玩耍,提出问题~~ 以后的文章都会在博客发布了,CSDN这边可能这是最后一篇文章。 (1) 使用官方提供的Ubuntu镜像:

    2024年02月05日
    浏览(47)
  • yolov8n 瑞芯微RKNN、地平线Horizon芯片部署、TensorRT部署,部署工程难度小、模型推理速度快

      特别说明:参考官方开源的yolov8代码、瑞芯微官方文档、地平线的官方文档,如有侵权告知删,谢谢。   模型和完整仿真测试代码,放在github上参考链接 模型和代码。   因为之前写了几篇yolov8模型部署的博文,存在两个问题:部署难度大、模型推理速度慢。该篇解

    2024年01月16日
    浏览(62)
  • 36、RK3399Pro 环境搭建和Yolov5 c++调用opencv进行RKNN模型部署和使用

    基本思想:记录rk3399 pro配置环境和c++ npu开发记录,主要想搞一份c++代码和其它图像算法结合一下,好进行部署,淘宝链接见附录  需要的python3.7对应的aarch64的whl包:包含opencv-whl 、h5py-whl包: 链接: https://pan.baidu.com/s/1cvCAmHBa_4KgEjrcFIYnig 提取码: 5ui4 链接: https://pan.baidu.com/s/1hrc

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包