解决报错 cuDNN error: CUDNN_STATUS_NOT_SUPPORTED. This error may appear if you passed in a non-contiguous input.

 

 

训练模型出现报错 cuDNN error: CUDNN_STATUS_NOT_SUPPORTED. This error may appear if you passed in a non-contiguous input.

1. 尝试了对可能的tensor添加 .contiguous()函数,不能解决问题,排除。

2. 尝试将batch_size=12 减小到10, 不再报错,但实验要求不能减小batch_size,并且测试发现不是显存不够问题。

3. cudnn和CUDA版本问题的可能性不大,因为用同样的环境,其他实验都能运行良好。

4. 网上搜到的amp(fp16) 和 tf32问题,经过测试也能排除此项。

 

5. 最后尝试了pytorch discuss提供的方案见链接

在train.py 脚本的开始加上一句 torch.backends.cudnn.enabled = False 问题就解决了,最后的solution起作用了。

或者使用 torch.backends.cudnn.benchmark = True   或   torch.backends.cudnn.deterministic = True

 

 

Enjoy it!

 

posted @ 2024-06-12 15:26  BooTurbo  阅读(542)  评论(0编辑  收藏  举报