インストールに必要な情報
参考にしたサイトとか手順をメモ
Keras & Tensorflow (GPU有)の環境構築 on Windows with Anaconda
全部ここに従えば大丈夫です。
ただ、僕が知識なさ過ぎてミスがあったりして躓いただけです…
Anaconda3はもともと入れてあった。
バージョンについては、よくわからなかったので参考サイト準拠
ただし、cuDNNは7.4.1 for CUDA9.0があったのでそれを使った。
環境変数は、「システムのプロパティ>環境変数」で、システム環境変数に新規でcudnnを追加し、cudaのbinを追加した。
ユーザー環境変数のPathにcudaのbinを追加した。
こういうのGUIでできるのは手軽でいいですね。
Anaconda PromptでTensorFlowをインストールする際、ドライブの書き込みが終わってるのに終了表示ないなーと思ってたら、Enter一回売ったら出ました。
これってどういう仕様なんだろう…
あと、Bash on Windowsもインストール。
BashからもPython叩きたいなーと思ったんだけど、デフォルトだと起動しなかったのでこちらを参照
Git bash 上から Python インタプリタを起動する
今回は、Anacondaで作ったtensorflow用の仮想環境を直接叩きたかったので、
~/.bashrc
に、
alias python='winpty H:/Anaconda3/envs/tf35/python.exe
のように書いた。
ダサい失敗メモ
同じ轍を踏む人がいないように。
先に結論を言っておくと、環境変数の設定をミスっていた。
環境変数は、「システムのプロパティ>環境変数」で、ユーザー環境変数のPathにcudaのbinを追加した。
ここをはじめは「システム環境変数に新規でcudnnを追加し、cudaのbinを追加」にしていたのが原因です。
さていよいよtensorflow動かしてみようと思ったら、importでエラー発生。
ImportError: DLL load failed: The specified module could not be found.
だったと思う。
必要なモジュールが読み込めないとかなんと出て、エラー内容に従うままにリンクをたどった。
Win10: ImportError: DLL load failed: The specified module could not be found #22794
同じようなエラーの人たちがいて、「俺はこれで解決したぜ」みたいな情報もちょこちょこあった。
基本的にはCUDAのバージョンとか初めのリンクにあった通りで全然わからなかった。
ただ、tensorflowのバージョンを1.12.0で動いたぜって人のほかに、1.10.0で動いた人もいたので試してみることに。
pip install tensorflow-gpu==1.10.0
で、再びimportを試してみたら、エラーが変わって、
cudnn64_7.dllが見つからないよ!
(正確に覚えてないので意訳)というメッセージになった。
さすがにこうなると、「環境変数の設定違ってたんじゃね?」ということでここを見直したら無事起動しました。
で、「そもそも環境変数が悪かったのが原因なら、tensorflowのバージョンも1.12.0でいいのでは?」となって再びバージョンを戻したら無事に行けた、という感じです。
結局のところ、
Keras & Tensorflow (GPU有)の環境構築 on Windows with Anaconda
の情報をありのまま再現できれば大丈夫だった。というダサい失敗でした。
やっとこさ構築ができたので、ちょっとずつ触っていきたいですね。