我看过很多针对特定案例特定问题的特定帖子,但没有基本的动机解释。这是什么错误:
RuntimeError: CUDA error: device-side assert triggered
Run Code Online (Sandbox Code Playgroud)
意思?具体来说,正在触发的断言是什么,为什么断言在那里,我们如何向后工作以调试问题?
按原样,此错误消息在诊断任何问题时几乎无用,因为它似乎是在说“某处触及 GPU 的某些代码”有问题。Cuda 的文档在这方面似乎也没有帮助,尽管我可能是错的。 https://docs.nvidia.com/cuda/cuda-gdb/index.html
我所做的就是,
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
torch.tensor([123,123]).to(device)
Run Code Online (Sandbox Code Playgroud)
我得到:
RuntimeError: CUDA error: device-side assert triggered
Run Code Online (Sandbox Code Playgroud)
我真的不明白为什么。
编辑:奇怪的是,我发现这种情况只有在我事先运行一些代码后才会发生。重启内核即可解决。但为什么有些代码会导致这样的问题呢?我无法分享代码,因为它不是我的,但我仍然欢迎任何猜测。谢谢!
我正在尝试 在我的自定义形状数据集上从此 repo https://github.com/eriklindernoren/PyTorch-YOLOv3训练 yolo-v3 模型,但我不断收到错误“运行时错误:CUDA 错误:触发设备端断言”
我试图查找解决方案并尝试了不同答案中建议的几件事(例如修复注释中类的索引),但错误仍然存在。
我正在按照 repo 自述文件中的描述对自定义数据集进行训练,并相应地调整了 custom.data 和 data/custom/。
我一直收到这个输出。
C:/w/1/s/windows/pytorch/aten/src/ATen/native/cuda/IndexKernel.cu:60: block: [0,0,0], thread: [32,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
C:/w/1/s/windows/pytorch/aten/src/ATen/native/cuda/IndexKernel.cu:60: block: [0,0,0], thread: [33,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
C:/w/1/s/windows/pytorch/aten/src/ATen/native/cuda/IndexKernel.cu:60: block: [0,0,0], thread: [34,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
C:/w/1/s/windows/pytorch/aten/src/ATen/native/cuda/IndexKernel.cu:60: block: [0,0,0], thread: [35,0,0] Assertion `index …
Run Code Online (Sandbox Code Playgroud)