YOLOv5 适配新环境修改摘要

环境: Python 3.9+ | PyTorch 2.11.0+cu128 | NumPy 1.26.4
项目: YOLOv5 5.0
目标: 解决 train.py 运行时的兼容性错误

1. 依赖版本修复

bash

pip install numpy==1.26.4 tensorboard==2.13.0 protobuf==3.20.1 opencv-python==4.5.5.62

2. 数据集下载

  • 手动下载 coco128.zip 并解压至 yolov5-5.0/../coco128,确保路径 coco128/images/train2017/ 存在,避免 SSL 下载失败。

3. PyTorch 2.6+ torch.load 安全模式修改

  • 全局搜索 torch.load(,在所有加载模型权重/缓存处添加 weights_only=False

  • 涉及文件:train.pyutils/datasets.pymodels/experimental.py 等。

4. NumPy 旧式别名替换

  • 全局替换 np.int → intnp.float → floatnp.bool → bool

  • 涉及文件:utils/datasets.py(第411、439行)、utils/general.py(第222行)等。

5. 损失函数索引类型错误修复

  • 文件:utils/loss.pybuild_targets 函数。

  • 在 indices.append 前添加 gain = gain.long(),并确保网格索引为整型:

    python

    gain = gain.long()
    indices.append((b, a, gj.clamp_(0, gain[3] - 1), gi.clamp_(0, gain[2] - 1)))

最终结果: 训练正常启动并运行,所有兼容性问题均已解决。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐