yolov5 多版本共存
【摘要】
在做工业项目时,yolov5是比较好的检测算法,
但是如果一个项目中需要多个版本的yolov5检测项目,检测不同的物体,
加载不同版本的网络会报错
self.weights='yolov5s.pth'model = torch.load(self.weights)stride = int(model.stride.max())...
在做工业项目时,yolov5是比较好的检测算法,
但是如果一个项目中需要多个版本的yolov5检测项目,检测不同的物体,
加载不同版本的网络会报错
-
self.weights='yolov5s.pth'
-
model = torch.load(self.weights)
-
stride = int(model.stride.max()) # model stride
原因有:
1.网络结构不一样,比如激活函数不一样,层内容不一样
2.检测层Detect不一样。
解决方法:jit.trace方式。
导出:
-
self.model.model[-1].export = True
-
self.model.eval()
-
self.model=self.model.float()
-
-
x = torch.randn(1, 3, 544, 960).float().cuda()
-
traced_cell = torch.jit.trace(self.model, (x))
-
torch.jit.save(traced_cell, "jit_face_detect.pth")
加载部分代码:
-
face_model_path=r'D:\project\detect\face\yolov5-face-master\jit_face_detect.pth'
-
face_para
文章来源: blog.csdn.net,作者:AI视觉网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/121483050
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)