【Tensorflow】Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)と出た時の対処法

どうも、keigotohuです。

先日、retrain.pyを使って、機械学習をさせていると次のようなエラーが、

Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)

 

調べてみたところtensorflowのバージョンが~云々

などとありましたが一向に解決しませんでした。

筆者の環境

Windows10 pro

GTX960

Tensorflow1.8.0

CUDA 9.0

cuDNN7.1

 

tensorflowのバージョンを1.5.0とか1.9.0とかいろいろ変えてみましたが

エラーに変化なし。

 

あと考えられる原因としてはCUDAのバージョンがよくないのかと思ったので、

再インストールを図ったところ、

ここでもエラーが。

一応解決はしました☟

 

keigotohu.hatenablog.com

 

んでなんだかんだ再インスコできたので試してみると

すんなり動きました。

 

CUDA9.0をインストールする際に、Nvidiaのグラフィックスドライバーを古いものにインストールし直したのでそれがよかったのかもしれません。

因みに、そのバージョンはCUDAをインストールした時しか出なかったので、

個人的には再インストールをおすすめします。

 

ここからは憶測ですが、エラーが出たのはドライバーの関係でCUDAがうまく動かなかったのではないかと思われます。

確かにエラーが出た前にドライバーの更新をしたような...

 

してないような...

 

まあどっちかはわかりませんが解決はしてので良しとしましょう。

その他質問があればコメント欄へどうぞ。