Pytorch Bug: RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

Pytorch Bug: RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

最近在做一个多器官分割的任务,总共22个类别器官! 使用 torch.nn.CrossEntropyLoss() 和 自定义的 DiceLoss作为损失函数,多机多卡运行。在运行的过程中产生了这个错误,记录一下。
原因产生在 torch.nn.CrossEntropyLoss() 损失函数。

RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

在这里插入图片描述

CUDA error: an illegal memory access was encountered

Pytorch Bug: RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED_第1张图片

看很多人都说是 torch 版本问题。
首先检查了一下版本,确定没有问题。
之后Debug了几个小时,终于解决!!!
主要原因是 Label 的类别数与模型输出不一致!
比如 Label 包含 22 个器官,加上背景,其应该是 23 个类别,因此模型输出通道应该是 23,而不是 22 !!!

你可能感兴趣的:(图像处理,医学图像分割,pytorch,pytorch,深度学习,神经网络,人工智能,机器学习)