“Failed to get convolution algorithm. This is probably because cuDNN failed to initialize”錯誤的解決辦法
一、總結
一句話總結:
錯誤原因是我的圖像比較大,消耗GPU資源較多。但我的顯卡(RTX2060)顯存只有6GB,所以會出現這個錯誤。
解決方法就是加一段對GPU進行按需分配代碼
from tensorflow.compat.v1 import ConfigProto from tensorflow.compat.v1 import InteractiveSession config = ConfigProto() config.gpu_options.allow_growth = True session = InteractiveSession(config=config)
二、“Failed to get convolution algorithm. This is probably because cuDNN failed to initialize”錯誤的解決辦法
轉自或參考:“Failed to get convolution algorithm. This is probably because cuDNN failed to initialize”錯誤的解決辦法
https://blog.csdn.net/tsyccnh/article/details/102938368
最近在使用TF2.0。運行程序出現以下錯誤。
Failed to get convolution algorithm. This is probably because cuDNN failed to initialize
一開始懷疑是CUDA和CuDNN配置錯誤(要求版本匹配)。反復試驗后,還是有這個錯誤。
最后發現可能是GPU內存不足造成的。需要在程序前加以下一段代碼:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
意思是對GPU進行按需分配。
主要原因是我的圖像比較大,消耗GPU資源較多。但我的顯卡(RTX2060)顯存只有6GB,所以會出現這個錯誤。這個錯誤提示有很大的誤導性,讓人一直糾結CUDA和CuDNN的版本問題。故在此立貼,以免后人重蹈覆轍。
參考:
https://github.com/tensorflow/tensorflow/issues/24828