keras上运行Tensorflow-gpu的艰难历程(最新版,更新中)
話不多說,讓我們看看遇到的報錯以及解決辦法。
在解決問題之前,先確保我們的是否在使用tensorflow-gpu版本,代碼如下
import os from tensorflow.python.client import device_lib os.environ['TF_CPP_MIN_LOG_LEVEL'] = '99' if __name__ == '__main__':print(device_lib.list_local_devices())?如過不是,那么請看您是否遇到下面1中遇到的報錯情況(我就遇到了,難受)
1.首先,當然是常見的cuda+cudnn+tensorflow+keras之間的版本對應問題!!!不管遇到什么樣的報錯,一定要先確定版本對應(前車之鑒)。
cuda與cudnn到如下鏈接查詢:
cuDNN Archive | NVIDIA Developer
其次,cuda和tensorflow到如下鏈接查詢:
Build from source ?|? TensorFlow
最后是tensorflow和keras的對應關系:
? 如果是tensorflow是1.x版本的:那么請參考這位博主的:tensorflow和keras版本對應關系 - 知乎
? 如果是tensorflow是2.x版本的,雖然網上有人說已經可以兼容了,但是我發(fā)現不行。我的tensorflow是2.2的,但是如果使用keras2.3.1,會報錯!!!后面我使用keras2.4.0就可以了。
各位可以嘗試提高keras版本(一點點就行,太高也報錯。。。)
Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.?最離譜的是,居然說是cudnn的問題!當然遇到這種問題也可能是cpu內存不足也會這樣的報錯,在終端輸入nvidia-smi,看gpu是否被占滿了,如果是請參考這位博主的:“Failed to get convolution algorithm. This is probably because cuDNN failed to initialize”錯誤的解決辦法_史丹利復合田的博客-CSDN博客
至于具體的tensorflow2.x和keras對應關系,我在網上未找到具體的表格。各位如果沒有遇到如上的報錯,可以先跳過。
2.版本問題確認之后,如果還是無法運行,我們可以進行檢查問題所在
nvidia-smi nvcc -V1.再次確認,這里nvidia-smi的版本一定要>=nvcc- V的!如果你下載了多個cuda版本,請參考以下博主的鏈接(還有注意看該博客的評論):ubuntu 安裝多個CUDA版本并可以隨時切換_yinxingtianxia的博客-CSDN博客_安裝多個cuda
2.確認tensorflow-gpu是否啟用
python >>>import tensorflow as tf >>>tf.__version__ 2.2.0 >>>tf.test.is_gpu_available() True看是否返回True,如果是False,那么就是這里出現了問題,并且出現了以下報錯(類似的)
Could not load dynamic library 'libcudart.so.11.0' ?
很可能就是你的cudnn配置有問題,請查看配置(在終端輸入):
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如果報錯或者版本不是你下載的,可以嘗試卸載cudnn,重新下載,具體卸載安裝請看以下博主的(簡單全面):ubuntu18.04中安裝和卸載cuDNN - 努力奮斗的阿貝拉 - 博客園
如上報錯是我遇到的比較棘手的報錯了(在我遇到的報錯里,其他報錯,我在網上都比較好找到解答的。),如果還有什么問題可以在評論區(qū)和我討論呀。
新手上路,如果有寫錯的地方,還清多多指教。
參考文章:
tensorflow2.x使用cuda10.2(非常簡單)_YouAreLion的博客-CSDN博客_cuda10.2 tensorflow
ubuntu 安裝多個CUDA版本并可以隨時切換_yinxingtianxia的博客-CSDN博客_安裝多個cuda
“Failed to get convolution algorithm. This is probably because cuDNN failed to initialize”錯誤的解決辦法_史丹利復合田的博客-CSDN博客
?
總結
以上是生活随笔為你收集整理的keras上运行Tensorflow-gpu的艰难历程(最新版,更新中)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加息怎么股市下跌呢
- 下一篇: Spring Cloud与Dubbo怎么