运行yolov5代码时出现报错的问题

运行yolov5融合注意力机制的代码时,出现错误
报错代码如下

img

请博主们答疑解惑

在train.py文件中的scaler.scale(loss).backward()前添加torch.use_deterministic_algorithms(False)
这样就改好啦

报错不是提示你了吗,在backword() 前面加一句
torch.use_deterministic_algorithms(False)来适应不确定的算法接口

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7440016
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:yoloV5官方代码 运行报错|调参|训练自己的数据集
  • 除此之外, 这篇博客: 【深度学习】使用 YOLOv5 进行自定义目标检测训练中的 自定义训练代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    让我们开始编码部分。 所有代码都是 Jupyter notebook 的一部分,您可以从下载部分访问。

    在这里,我们将介绍所有必要和重要的编码部分。 这些包括:

    1. 数据集准备。
    2. 如上所述的三个模型的训练。
    3. 性能比较。
    4. 对图像和视频的推断。

    让我们回顾一下代码的所有重要部分,从导入我们在笔记本中使用的模块和库开始。

    import os
    import glob as glob
    import matplotlib.pyplot as plt
    import cv2
    import requests

    我们将需要 glob 用于捕获目录中的文件路径matplotlib 用于可视化,以及 cv2 用于读取图像

    接下来,我们定义一些常量和hyperparameters超参数。

    TRAIN = True
    # Number of epochs to train for.
    EPOCHS = 25

    上面,我们有一个名为 TRAIN 的布尔值。 如果这是真的,那么运行代码将训练笔记本中的所有三个模型。 如果我们将值提供为 False,那么如果结果目录中存在任何先前训练的模型,它将用于推理。 如果我们想要进行推理,这是一个很好的措施,可以确保我们不需要每次都训练所有模型。

  • 您还可以看一下 白老师老师的YOLOv5目标检测之知识蒸馏实战课程中的 知识蒸馏具体修改代码的讲解小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^