RKNPU2从入门到实践 --- 【5】一、加载非RKNN模型(以pt模型为例)进行模型评估【(1)在rknntoolkit2模拟器上推理测试(2)连板推理】二、RKNN模型【(1)连板推理】

前言

注:本次实验所使用的平台是x86机器上的Ubuntu 20.04虚拟系统,开发板为瑞芯微RK3588,开发板上面的系统为Ubuntu22.04。 
在进行本博文的实验前,你需要确保你的虚拟系统上已经搭建好了rknntoolkit2的环境。

任务:
【1】
      1. 将非RKNN模型转换为RKNN模型,即构建RKNN模型,进而进行模型在rknntoolkit2模拟器上的推理测试,最终完成图像的分类工作。
      2. 连板推理,将模型加载到RKNPU上进行推理测试。
本次所用到的模型为resnet18.pt(pytorch)。
【2】
      1. 将RKNN模型加载到RKNPU上进行推理测试,RKNN模型连板推理测试。
       

模型运行方式如下图所示: 

图1 模型运行方式判断图

图2 加载RKNN模型进行模型推理流程图
图3 加载非RKNN模型进行模型推理流程图

在pycharm中新建一个名为inference_learning文件夹,在该文件夹中创建一个名为inference_pytorch.py 的python文件,如下图所示:

将所需要的资料复制到inference_learning文件夹中,如下图所示:

模型文件:

dataset.txt是RKNN模型量化矫正数据集。

      我们将会按照 加载非RKNN模型进行模型推理流程图 进行逐步编写代码,最终模型能够成功推理图片。

一、非RKNN模型推理步骤 

1.1 RKNN模型构建步骤

前五步和最后一步代码请参考博主的这篇博文:RKNPU2从入门到实践 --- 【4】RKNN 模型构建【使用pycharm一步一步搭建RKNN模型】-优快云博客

前五步和最后一步的代码如下: 

from rknn.api import RKNN

if __name__ == '__main__':
    # 第一步:创建RKNN对象 
    rknn = RKNN(verbose=True)
    
    # 第二步:配置RKNN对象参数
    rknn.config(
        mean_values=[[123.675,116.28,103.53]],
        std_values=[[58.395,58.395,58.395]],
        target_platform='rk3588'
        # 其余参数保持默认即可
    )
    
    # 第三步:调用load_pytorch接口导入pt模型
    rknn.load_pytorch(model='./resnet18.pt',input_size_list=[[1,3,224,224]])
    
    # 第四步:调用build接口构建RKNN模型
    rknn.build(
        do_quantization=True, # 表示开启rknn模型量化
        dataset='dataset.txt', # 量化所用到的数据集
    )
    
    # 第五步:导出rknn模型
    rknn.export_rknn(export_path='./resnet.rknn')
    
   
    # 最后一步:释放RKNN对象
    rknn.release()

以上代码完成了以下流程:
      创建RKNN对象 -> 调用config接口配置RKNN对象的相关参数 -> 调用 load_pytorch 接口导入pt模型 -> 调用build接口构建RKNN模型 -> 调用 export_rknn 接口导出RKNN模型->......【省略步骤将会在下面介绍】-> 调用release方法释放RKNN对象。
导出RKNN模型步骤在模型推理阶段不是很需要,该

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值