Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)解決辦法

由於我很早就在 GitHub 下載了 TensorFlow 的源碼庫沒有更新,在運行 TensorFlow 官方的 CNN 例子的時候,總是報 ImportError 錯誤,找不到 cifar10 模塊,後來發現是 TensorFlow 的源碼庫更新了,這些模型實現都被移到了一個新的源碼庫:models

但是呢,在我 clonemodels 到本地後,按照 TensorFlow 官方的例子運行 python cifar10_train.py 的時候,問題又出現了……


運行環境

運行環境是首要前提 。

  • OS:Windows 10 家庭中文版
  • CUDA:Cuda compilation tools, release 8.0, V8.0.44
  • cuDNN:5.0
  • TensorFlow: 1.0.0

python -c "import tensorflow; print(tensorflow.__version__)" 的輸出:

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cublas64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cudnn64_5.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cufft64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library nvcuda.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library curand64_80.dll locally
1.0.0

問題

運行 python cifar10_train.py 的報錯信息如下:

E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:390] Loaded runtime CuDNN library: 5005 (compatibility version 5000) but source was compiled with 5105 (compatibility version 5100).  If using a binary install, upgrade your CuDNN library to match.  If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.
F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:605] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

解決

從報錯信息很明顯可以看出,是 cuDNN 的版本問題,那麼我只需要升級 cuDNN 版本就可以了。我現在的版本是 5.0,升級到 5.1 即可。可從 官網 下載或者從 這裏 直接下載我下載好的。

下載好後就是替換原有的 5.0 版本了。如果原先你安裝 cuDNN 的時候是用將 C:\cuda\bin 加進 Path 環境變量的方法安裝的,那麼你直接用 5.1 版本文件替換原有文件應該就可以。

但是我第一次安裝的時候稍微麻煩一些,是用 此文 中的方法安裝的,即將對應文件複製到對應位置,所以你在升級 cuDNN 版本的時候也要將對應文件複製到對應位置就可以了。當然,你也可以直接使用第一種方法。

然後,再次運行 python cifar10_train.py 就可以順暢的玩耍了。


END

發佈了54 篇原創文章 · 獲贊 454 · 訪問量 106萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章