yolov5 多版本共存

x33g5p2x  于2021-11-23 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(397)

在做工业项目时,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

相关文章