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