云端上训练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,仍报这一错误,请问该如何解决?
yolov8的没有确定性实现的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 【以下回答由 GPT 生成】
这个问题是由于YOLOv8的训练过程中使用了
scatter_add_cuda_kernel
操作,而这个操作没有确定性的实现,同时你又设置了torch.use_deterministic_algorithms(True)
。你可以尝试以下几个解决方案:- 关闭确定性算法:通过将
torch.use_deterministic_algorithms(True)
设置为False
来关闭确定性算法。确保你在训练之前将其设置为False
。
import torch torch.use_deterministic_algorithms(False)
- 忽略警告:如果你的应用程序可以接受警告信息,则可以在具有问题的操作上使用
warn_only=True
选项来忽略警告。
with torch.no_grad(warn_only=True): # 问题代码
- 提交问题:如果上述解决方案无效,你可以将问题提交给PyTorch的GitHub仓库,以帮助开发团队优先解决这个问题。你可以在https://github.com/pytorch/pytorch/issues上提交问题。
请注意,由于确定性算法变化的原因,你可能无法完全消除这个警告。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报- 关闭确定性算法:通过将
悬赏问题
- ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
- ¥15 虚拟机检测,可以是封装好的DLL,可付费
- ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
- ¥30 使用matlab将观测点聚合成多条目标轨迹
- ¥15 Workbench中材料库无法更新,如何解决?
- ¥20 如何推断此服务器配置
- ¥15 关于github的项目怎么在pycharm上面运行
- ¥15 内存地址视频流转RTMP
- ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
- ¥15 有没有整苹果智能分拣线上图像数据