解決報錯 cuDNN error: CUDNN_STATUS_NOT_SUPPORTED. This error may appear if you passed in a non-contiguous input.

BooTurbo發表於2024-06-12

訓練模型出現報錯 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!

相關文章