当使用torch.load时,报错No module named 'models'
在网上查了很多资料说目录结构得和保存时一模一样,话虽如此,但一直没理解要如何一样

因为我是用detect.py调用yolov5的best.pt模型,该模型被自动保存在runs/train/exp/weights/下,但即便改成了这样,还是报同样的错

最后调试发现,No module named 'models'报错说没有models,确实是因为没有才报错的。我用的是ultralytics的yolov5,其结构目录如下
在这里插入图片描述
可以看到,里面真的有两个module:utils和models,即便把detect.py里修改得没有引用这两个module里任何py文件,但在torch.load模型时,还是得把这两个module放在和detect.py同一路径,而.pt模型在哪里都无所谓,最终解决这个bug

花了大概数小时,气死

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐