当前位置:   article > 正文

【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~4.导出模型(亲测有效)_rknn输出处理过的图像

rknn输出处理过的图像

保姆级教程,看这一篇就够用了。
在翻阅了网络上很多资料后,发现很多版本的信息不匹配。
花了一周的时间配置环境,以及环境验证,然后写了这篇长文。
有过程,有代码,有经验,欢迎大家批评指正。

一、环境准备
【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~1.环境准备(亲测有效)

二、环境验证
【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~2.环境验证(亲测有效)

三、yolov5 训练自己的模型
【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~3.YOLOv5训练自己的模型(亲测有效)

四、导出模型
【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~4.导出模型(亲测有效)

五、部署模型
【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~5.模型部署(亲测有效)

四、导出模型

前提条件: 已经创建了虚拟环境 rknn
前提条件: 已经创建了虚拟环境 rknn
前提条件: 已经创建了虚拟环境 rknn

问题及解决方案
解决 AttributeError: module ‘numpy‘ has no attribute ‘int‘ 训练yolo时的问题 原因:np.int在NumPy 1.20中已弃用,在NumPy 1.24中已删除。
一步真实解决RuntimeError: result type Float can‘t be cast to the desired output type long int

在训练之前确定 ./models/yolo.py 文件中的 class Detect(nn.Module):line:55forward 代码是否注释了。

此时应修改 forward 代码为:

    def forward(self, x):
        z = []  # inference output
        for i in range(self.nl):
            x[i] = self.m[i](x[i])  # conv
        return x # 此处如果是训练, 请注释
  • 1
  • 2
  • 3
  • 4
  • 5
1. 修改参数
  1. 修改 config_onekey.sh 相关参数
  2. 将测试用的图片放到 export 文件夹下,修改 proj_dataset.txt 的内容为自己的图片列表
2. 开始一键导出

前提条件: 已经创建了虚拟环境 pytorch
前提条件: 已经创建了虚拟环境 pytorch
前提条件: 已经创建了虚拟环境 pytorch

bash onekey_bash/export_rknn.sh
  • 1

终端显示如下:

(base) jxxx@desk:~/workspace/algo/yolov5_rknn$ bash onekey_bash/export_rknn.sh 
export: weights=runs/train/drp/weights/best.pt, img_size=[320], batch_size=1, device=cpu, include=['torchscript', 'onnx'], half=False, inplace=False, train=False, optimize=True, dynamic=False, simplify=True, opset=12
YOLOv5          本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签