pytorch加载预训练模型出现错误:ModuleNotFoundError: No module named 'models'


问题描述:

在使用pytorch加载预训练模型的时候,出现错误:ModuleNotFoundError: No module named 'models',该预训练模型是从官方下载的yolov5s.pt

 

 解决方案:

在出错的文件目录下,构建yolov5的目录结构。即需要存在yolov5的models和utils,复制这两个文件夹到该文件目录下。例如,此时我报错的位置是yolov5/train.py,因为我是使用yolo5做移植,yolov5目录下并不是真正的yolov5,所以会报缺失models。更深层次的原因是使用了如下的方式保存weights(还有另一种方式保存和加载模型,可在pytorch官方文档中查看,那种方式不会出现此问题,更加利于移植):

 以这样的方式保存的权重,会将你模型的源代码的相对位置也默认保存(这里指yolov5里面的models文件夹和utils文件夹),从官方下载的yolo5s.pt必然是在该目录结构下训练出来的,所以我们构建该目录结构即可。

 


 

补充:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM