app网站,免费简单门户网站开发,电器 东莞网站建设,打开有些网站显示建设中特别说明#xff1a;参考官方开源的yolov8代码、瑞芯微官方文档、地平线的官方文档#xff0c;如有侵权告知删#xff0c;谢谢。 模型和完整仿真测试代码#xff0c;放在github上参考链接 模型和代码。 之前写了yolov8、yolov8seg、yolov8obb 的 DFL 放在模型中和放在后处理… 特别说明参考官方开源的yolov8代码、瑞芯微官方文档、地平线的官方文档如有侵权告知删谢谢。 模型和完整仿真测试代码放在github上参考链接 模型和代码。 之前写了yolov8、yolov8seg、yolov8obb 的 DFL 放在模型中和放在后处理中的两种不同部署方法推荐放在后处理中而yolov8pose只写了一篇放在模型中有网友希望写一篇放在后处理中的yolov8pose的DFL放在后处理中的博客来了。
1 模型和训练 老规矩训练不涉及训练代码参考官方开源的yolov8训练代码。
2 导出 yolov8 onnx 修改两处、增加保存onnx代码一共修改三个地方。
修改第一处增加以下几行代码 # 导出 onnx 增加y []for i in range(self.nl):t1 self.cv2[i](x[i])t2 self.cv3[i](x[i])y.append(t1)y.append(t2)return y第二处增加以下几行代码 ps []for i in range(self.nl):ps.append(self.cv4[i](x[i]))x self.detect(self, x)return x, ps增加保存onnx模型代码 print( onnx )dummy_input torch.randn(1, 3, 640, 640)input_names [data]output_names [reg1, cls1, reg2, cls2, reg3, cls3, ps1, ps2, ps3]torch.onnx.export(self.model, dummy_input, ./yolov8n_pose.onnx, verboseFalse, input_namesinput_names, output_namesoutput_names, opset_version11)print( convert onnx Finished! .... )修改完以上几个地方运行以下两行。
from ultralytics import YOLO
model YOLO(./weights/yolov8n-pose.pt)3 yolov8n-pose onnx 测试效果 4 时耗
将DFL放后处理中模型和后处理时耗使用芯片rk3588模型输入分辨率640x640。部署rk3588板端代码
以下截图是将DFL放在模型中的时耗模型推理时会长一些但后处理会稍微快一点将DFL放在模型中部署【参考链接】