Windows10にTensorFlow-gpuを導入できた話
◆目的
GPUを用いてTensorFlowを学習するため、
Windows10環境にTensorFlow-gpuを導入しました。
◆結果
紆余曲折ありましたが、何とか確認用コードが動作しました。
正しい環境かどうかは分かりません。(もしかすると少数派かも)
とにかく、峠を超えられた気がするので、一旦記事にします。
※一部セオリーとは異なっていると思います。
※セオリー通りで出来ない勢(自分含む)の力になれれば幸いです。
【ハード環境】
・Windows10 Home 64bit
・intelCore i7-8700
・32GBメモリ
・GeForce GTX 1080 ※ドライバ最新化済
【ソフトウェア】
・Anaconda Navigator 1.9.6
・CUDA 9.2
・cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.2
◆手順
【CUDA,cuDNN用意】
まずCUDA。2ファイルともダウンロードします。
CUDA Toolkit 9.2 Download | NVIDIA Developer
cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.2。
cuDNN Archive | NVIDIA Developer
CUDA9.2のインストールは
「Base Installer」、「Patch 1」の順番に実行するだけでOK。
cuDNNの方は一旦、適当なフォルダに解凍しておいたものを
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2
へ上書きコピーすれば完了。※画像は9.0です。読み替えて下さい
【Anaconda環境用意】
インストール後、最新版へ更新。
下図はAnaconda起動時にでた画面から更新した時の画像です。
起動後、「Encitoments」を選択肢、「Create」をクリック。
環境名(何でも良い)を入力、「Python3.6」を選択して「Create」
作成された環境をクリックし(読み込み時間がある場合は数秒待機)
右の三角をクリックし、リストから「OpenTerminal」を選択。
【TensorFlow-gpu インストール】
Anacondaで「Open Terminal」を押して起動したターミナルにて、
conda install tensorflow-gpu
を実行。※画像はログの一部です。数分かかります。
途中で「Proceed?([y],n)?」と出るので「y」を入力。
完了後、動作確認を行います。
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
こんなログだと成功です。exit()で動作確認終了します。
【Jupyterインストール】
※JupyterNotebookを使わない場合は不要です。
conda install -c anaconda jupyter
途中で「Proceed?([y],n)?」と出るので「y」を入力。完了後、
jupyter notebook
で起動できます。
◆まとめ
実際に私が試したCUDAとcuDNNの組み合わせですが
・CUDA10.0 × cuDNN v7.4.2 for CUDA 10.0
・CUDA9.2 × cuDNN v7.4.1 for CUDA 9.2
・CUDA9.0 × cuDNN v7.4.1 for CUDA 9.0
・CUDA9.0 × cuDNN v7.0.5 for CUDA 9.0
これらです。全部ダメでした。色々試行していたのでクリティカルな原因かは不明ですが全部pipでtensorflow-gpuを入れていました。
代わりにcondaを使ってみると上手く行ったわけですが、
はて。これでいいのかどうか…?
また続報あれば記事にします。