cqu20160901 / yolov8seg_rknn_Cplusplus

yolov8seg 瑞芯微 rknn 板端 C++部署,使用平台 rk3588。
BSD 3-Clause "New" or "Revised" License
17 stars 5 forks source link

.pt模型转onnx模型报错 #2

Closed liuqinglong110 closed 9 months ago

liuqinglong110 commented 9 months ago

作者,您好。我按照CSDN博客中的操作,先将Yolov8seg中的SiLU激活函数全部换成ReLU,重新训练。然后推理了一下结果基本正常。 再按照博客中的操作,完成了第一部分的代码修改后,成功生成了yolov8n-seg_relu_2class.pt。因为我训练的模型有两个类别,所以,此处我的命名改成了2class。 在完成第二步时,代码的修改都是按照博客中的内容直接复制上去的。但是第二步最后一行,执行生成生成onnx模型的代码时,如果只有model = YOLO('./ultralytics/models/v8/yolov8-seg.yaml')这一行代码,那么相当于没有推理吧?怎么可能会生成Onnx?。另外,我为了能够推理,增加了result = model(task='segment', mode='predict', source='/app/code/ultralytics/images/test.jpg', line_width=3, show=True, save=True, device='cpu')。结果直接报错: image 我有点儿奇怪,保存成.pt文件时,没有修改这么多结构,但是转Onnx时,这么多修改,难道作者没有报错? 还请作者帮忙看看是什么问题。

cqu20160901 commented 9 months ago

model = YOLO('./ultralytics/models/v8/yolov8-seg.yaml' 只运行上面一行,你看一下onnx生成了没有,改了这么多推理肯定会报错,只需生成onnx就可以了

liuqinglong110 commented 9 months ago

model = YOLO('./ultralytics/models/v8/yolov8-seg.yaml' 只运行上面一行,你看一下onnx生成了没有,改了这么多推理肯定会报错,只需生成onnx就可以了

实在抱歉,是第二步中最后一个模块的改动看错了函数。您的改动是在def _new()函数中。现在问题解决了。感谢分享。