背景
YOLOv3に取り組んでいます。
その際にtensorflow-gpuをどう組み込むのかに直面する。
毎回ググるのが大変だったので、手順をまとめます。
知的好奇心様でも仰っていた通り、現在(2019/10/4)CUDA ver10.1はTensorflow-gpu 1.13.1に対応できていないのか、うまく行きませんできた。
(中途半端になるかもしれません)
実装環境
Windows 10 64bit
GeForce GTX 1050 Ti
Python 3.7.3
Tensorflow-gpu==1.13.1
CUDA Toolkit 10.0
cuDNN v7.6.4 (September 27, 2019), for CUDA 10.0
※CUDAのバーション(10.0)におけるcuDNNのバージョン(v7.6.4 for CUDA 10.0)を
対応させなくてはいけないです。
必要なダウンロードとインストール
pythonに組み込む際に、必要なことをまとめます。
ちなみに公式tensorflowがサポートしているのはNVIDIA®です。
またGPU自身が対応していることが重要です。
- GPU自体のドライバをインストール(NVIDIAドライバダウンロード)
- CUDA NVIDIAドライバのインストール(CUDA Toolkit 10.0 Archive)
- cuDNN v7.6.4 (September 27, 2019), for CUDA 10.0 をダウンロード(cuDNN Library for Windows 10)
※cuDNN v7.6.4をダウンロードするためにはアカウント作成が必要です。
ダウンロードとインストールした後の処理が非常に不親切となっています。
ご迷惑をおかけします。
ざっくりと説明すると、
GPU自身のドライバをインストールし(されている方はいりません)、
CUDA NVIDIAドライバのインストールし、
CUDA NVIDIAドライバのインストールしたときに作成されたディレクトリに進み、
cuDNN v7.6.4で得られたファイルを各ディレクトリに入れます。
余裕がありましたら、この工程のスクショを張りたいです(汗)。
環境変数の設定
金子邦彦研究室様のwebサイトをかなり参考にさせていただきました。
とても勉強になりました。
システム環境変数の変更は以下の手順で進みます。
コントロールパネル → システム → システムの環境変数
①スタートをクリック
②コントロールパネルと入力し、クリック
- システム環境変数
- CUDA_PATH
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
- PATH
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
動作チェック
コマンドプロンプトの管理者として実行で下記を実行
パスが通ってるかを確認できます。
where cudnn64_7.dll
次にpython側でtensorflow-gpuが認識しているかを以下のコードで確認できます。
import tensorflow as tf
print(tf.__version__)
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
うまく行かないときは、Tensorflow-gpu==1.13.1 を再度インストールしてみるのもありです。
実装できることを心よりお祈りします。
参考文献
CUDA Toolkit 10.0 Archive
Download cuDNN v7.6.4 (September 27, 2019), for CUDA 10.0
金子邦彦研究室 NVIDIA cuDNN 7.6 のインストール(Windows 上)
Windows 10でtensorflow-gpuを使う方法