You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyTorch从2.5.1升级到2.6.0后加载YOLOv5模型失败求助

解决PyTorch 2.6.0升级后YOLOv5权重加载失败问题

核心原因

PyTorch 2.6.0对模型权重加载的API做了细微调整,旧版本YOLOv5的torch.hub.load逻辑未适配该变化,导致权重加载失败及后续异常。

具体解决步骤

1. 手动修改YOLOv5加载逻辑(推荐)

打开本地YOLOv5仓库的hubconf.py文件,找到custom函数,替换权重加载代码:

def custom(path='path/to/model.pt', source='local', device='cpu', force_reload=False):
    # 保留原函数其他逻辑,替换权重加载部分
    from models.yolo import Model
    import yaml
    import torch

    device = torch.device(device)
    # 加载对应配置文件
    cfg_path = path.replace('.pt', '.yaml')
    with open(cfg_path, 'r') as f:
        cfg = yaml.safe_load(f)
    # 手动构建模型
    model = Model(cfg=cfg, ch=3, nc=cfg['nc'])
    # 加载权重参数
    ckpt = torch.load(path, map_location=device)
    model.load_state_dict(ckpt['model'].float().state_dict())
    model.to(device).eval()
    return model

修改后重新运行加载代码,绕开torch.hub的自动适配逻辑,手动完成模型构建与权重加载。

2. 更新YOLOv5到兼容版本

切换本地YOLOv5仓库到官方最新稳定分支,已修复PyTorch 2.6.0兼容问题:

cd /path/to/your/yolov5
git pull origin master
git checkout tags/v7.0  # 可替换为最新兼容标签

3. 临时回退PyTorch版本

若上述方法无法快速生效,回退到PyTorch 2.5.1保证业务运行:

pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu121

注意根据本地CUDA版本调整--index-url参数(如cu118对应https://download.pytorch.org/whl/cu118)。

排查'str' object has no attribute '__module__'异常

该异常通常由路径错误或配置缺失导致:

  • 确认yolomodelpath是有效权重文件路径,文件存在且无拼写错误
  • 确保权重文件对应的.yaml配置文件与权重文件同目录、同名(如best.pt对应best.yaml)
  • 检查yolov5path指向YOLOv5仓库根目录,而非子文件夹

内容的提问来源于stack exchange,提问作者user3734568

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:03:19