やりたいこと
PythonでTensorflow, KerasをGPUで動かしたい
KerasはTensorflowから使えます。
以下のコードが実行できるようになります。
from tensorflow.config.experimental import list_physical_devices
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, LSTM
physical_devices = list_physical_devices('GPU')
Keras
Kerasは個別にimport keras
利用可能ですがKeras自体の開発は終了し、今ではimport tensorflow.keras
で使用することが推奨されているようです。
なのでpip install keras
で個別にKerasをインストールする必要はありません。
https://keras.io/about/
必要なもの
- Visual Studio (C++によるデスクトップ開発)
- Anaconda
- tensorflow-gpu (バージョン指定)
- Geforce Experience(Nvidia GPU Driver)
- Nvidia CUDA Toolkit (バージョン指定)
- NVIDIA cuDNN(バージョン指定)
互換性の確認
インストールしたいバージョンのTensorFlowが「どのバージョンのPythonに対応している」「どのバージョンのCUDA Toolkitに対応している」「どのバージョンのcuDNNに対応している」かを下のリンクから確認しましょう。
https://www.tensorflow.org/install/source?hl=ja#gpu
例
Tensorflow-gpu 2.4.0を入れたい場合インストールするものは以下になります。
Visual Studioのインストール
- Visual Studioを以下リンクからダウロード
https://visualstudio.microsoft.com/ja/downloads/ - ダウンロードしたVisual Studio Installerを開いて「C++によるデスクトップ開発」「Desktop development with C++」にチェックを入れてインストール
Gerforce Experience
-
Geforce Experience(Nvidia GPU Driver)を以下リンクからダウンロード
https://www.nvidia.com/ja-jp/geforce/geforce-experience/ -
ダウンロードしたら開いてインストール
Nvidia CUDA Toolkitインストール
-
互換性のあるバージョンを以下リンクから探してダウンロード
https://developer.nvidia.com/cuda-toolkit-archive
Nvidia cuDNNインストール
-
互換性のあるバージョンを以下リンクから探して「cuDNN Library for Windows」をダウンロード
Nvidia Developのアカウントでログインする必要があります。
https://developer.nvidia.com/rdp/cudnn-download
-
ダウンロードしたZIPファイルを展開する。
-
「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0」的なところにCUDA Toolkitがインストールされているのを確認する。
システム環境変数(Path)の確認
Pathに以下のものが入っていれば大丈夫。なければ追加する
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\libnvvp
Anacondaをインストール
以下リンクからAnacondaをインストール
https://www.anaconda.com/products/individual
Anacondaの新しい環境を作成
-
Anaconda Navigatorを開いて、Environmentsで新しい環境を作成
-
Pythonのバージョンは上で互換性を確認したものを選択
-
ターミナルが開いたら「pip install tensorflow-gpu==version」を実行してTensorflow-gpuをインストール
versionには上で確認したバージョンが入る
pip install tensorflow-gpu==version
例
pip install tensorflow-gpu==2.4.0
動いているか確認
先ほど開いたターミナルで以下コマンドを実行
python -c "from tensorflow.python.client import device_lib;print(device_lib.list_local_devices());"
出力
出力が以下のように**「device_type: "GPU"」**という表記があれば成功です!!
[
name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {}
incarnation: 408926561584540200,
name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 9988323456
locality {
bus_id: 1
links {}
}
incarnation: 8775696053629801602
physical_device_desc: "device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1"
]