当使用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

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐