使用YOLOv5加载模型时出现未调用模块的弃用警告求助
YOLOv5弃用警告问题分析与解决
原因
这个警告确实出自YOLOv5仓库的内部调用,和你的代码无关。
- 你用
torch.hub.load('ultralytics/yolov5', 'yolov5s')加载模型时,YOLOv5的内部代码仍在引用Ultralytics库的旧路径(ultralytics.yolo.v8、ultralytics.yolo.utils),而这些路径在Ultralytics 8.0.136及以上版本已被标记为弃用,因此触发警告。 - 本质是YOLOv5仓库的代码还没完全适配Ultralytics库的最新路径规范,属于仓库内部的依赖兼容问题。
解决方法
1. 临时忽略警告
如果不影响功能运行,可以在代码开头添加过滤规则:
import warnings warnings.filterwarnings("ignore", category=DeprecationWarning)
2. 锁定Ultralytics版本
安装低于8.0.136的Ultralytics版本,避开弃用警告:
pip install ultralytics==8.0.135
3. 改用YOLOv5本地加载方式
跳过torch.hub,直接克隆YOLOv5仓库后加载模型,避免版本冲突:
# 先执行克隆命令:git clone https://github.com/ultralytics/yolov5.git from yolov5 import models model = models.load('yolov5s.pt', device=device)
后续建议
等待YOLOv5仓库更新代码,适配Ultralytics库的最新路径规范,届时警告会自动消失。
内容的提问来源于stack exchange,提问作者Mr. x
相关产品推荐
相关产品推荐

