Hydrargyrum292 2023-11-04 23:25 采纳率: 0%
浏览 10

yolov8的没有确定性实现的问题

云端上训练yolov8时出现如下报错:
RuntimeError: scatter_add_cuda_kernel does not have a deterministic implementation, but you set 'torch.use_deterministic_algorithms(True)'. You can turn off determinism just for this operation, or you can use the 'warn_only=True' option, if that's acceptable for your application. You can also file an issue at https://github.com/pytorch/pytorch/issues to help us prioritize adding deterministic support for this operation.
已试过将torch.use_deterministic_algorithms(True)修改为False,以及将default.yaml中的确定性参数修改为False,仍报这一错误,请问该如何解决?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-05 09:01
    关注

    【以下回答由 GPT 生成】

    这个问题是由于YOLOv8的训练过程中使用了scatter_add_cuda_kernel操作,而这个操作没有确定性的实现,同时你又设置了torch.use_deterministic_algorithms(True)。你可以尝试以下几个解决方案:

    1. 关闭确定性算法:通过将torch.use_deterministic_algorithms(True)设置为False来关闭确定性算法。确保你在训练之前将其设置为False
    import torch
    torch.use_deterministic_algorithms(False)
    
    1. 忽略警告:如果你的应用程序可以接受警告信息,则可以在具有问题的操作上使用warn_only=True选项来忽略警告。
    with torch.no_grad(warn_only=True):
        # 问题代码
    
    1. 提交问题:如果上述解决方案无效,你可以将问题提交给PyTorch的GitHub仓库,以帮助开发团队优先解决这个问题。你可以在https://github.com/pytorch/pytorch/issues上提交问题。

    请注意,由于确定性算法变化的原因,你可能无法完全消除这个警告。


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

报告相同问题?

问题事件

  • 创建了问题 11月4日

悬赏问题

  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
  • ¥30 使用matlab将观测点聚合成多条目标轨迹
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据