牧野先生と西崎先生の「TensorFlowによる深層強化学習入門」をやってみたいと思いました。
本書の「第1章 はじめに」に環境構築方法が書かれていますがCPU前提のようなので、GPUを使う場合の環境構築の方法をメモしておきます。あとWindowsだとOpenAI Gymの拡張インストールでハマる部分があるので、その点についても記載しておきます。
#前提条件
- Windows 10 Home 20H2
- GeForce GTX 1060 with Max-Q Design (ドライバは記事執筆辞典で461.92)
- Anaconda 4.9.2 (Python 3.8)
#Visual Studioのインストール
自分の場合はVisual Studio Community版をインストールしてから進めました。
これをインストールしていないとCUDA Toolkitインストールの際にエラーが出るようです。
ただしWindows端末にCUDAをインストールする際に、「Visual Studio Integration」のインストールに失敗する場合に解説されている方法であれば、この手順は飛ばしてもいいかもしれません。
#CUDA関連のインストール
##バージョンの確認
https://www.tensorflow.org/install/source_windows#gpuに書いてあるバージョンを確認します。
今回はtensorflow-2.4を使おうと思うので、Pythonは3.6~3.8、cuDNNは8.0、CUDA Toolkitは11.0になります。
##CUDA Toolkitのインストール
CUDA Toolkitをhttps://developer.nvidia.com/cuda-toolkitからダウンロードしてインストールします。
ただし、このページから行くと最新版になってしまうので以前のバージョンを使いたい場合はhttps://developer.nvidia.com/cuda-toolkit-archiveから所定のバージョンを選択してください。
##cuDNNのインストール
cuDNNをhttps://developer.nvidia.com/cudnnからダウンロードします。
以前のバージョンを使いたい場合はhttps://developer.nvidia.com/rdp/cudnn-archiveから所定のバージョンを選択してください。
cuDNNはインストーラではないので、解凍して出てきたファイルをC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v〇〇〇
にコピーします。
#Conda仮想環境構築
続いてCondaのプロンプトを開いて仮想環境を構築します。先に確認したTensorFlowと対応したバージョンのPythonを入れるようにします。
conda create -n 仮想環境名 python=3.8
仮想環境に入ります。
conda activate 仮想環境名
#各種モジュールインストール
テキストを参考にしつつ各種モジュールをインストールします。
##TensorFlowのインストール
テキストではバージョンを指定していませんが、GPUを使う場合はTensorFlowも先に確認したバージョンを指定して入れるようにします。
pip install tensorflow==2.4.0
インストールしたらPythonを起動してTensorFlowのバージョンを確認します。
import tensorflow as tf
print(tf.__version__)
どうやらCUDA Toolkitの11.xを入れていると、Anacondaの起動ログにcusolver64_10.dll
が見つけられなったという旨のエラーが出てくるようです。この場合、C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
内のcusolver64_11.dll
をcusolver64_10.dll
に名称を変更すると回避できるようです。
詳しくはこちらを参照
TensorFlowをインストール出来たらGPUが利用できるか確認します。Pythonを起動して以下を入力し、GPUの項目が出てくれば成功です。
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
##TF-Agentsのインストール
これはテキスト通りで大丈夫なはず。
pip install tf-agents
##OpenAI Gymのインストール
これもテキスト通りで大丈夫なはず。
pip install gym
##PyBulletのインストール
これもテキスト通りで大丈夫なはず。
pip install pybullet
##OpenAI GymのAtari拡張版のインストール
テキストではOpenAI Gymの拡張版のインストール方法が出てきますが、Windowsだとたぶん「ale_c.dllが見つからない」というエラーが出てうまくいかないと思います。
自分の場合は以下の手順で成功しました。
pip install cmake
pip install gym[atari]
pip uninstall atari-py
pip install -f https://github.com/Kojoley/atari-py/releases atari_py
#参考資料
GeForce RTX 3060搭載のWindows10のPCでTensorFlowとCUDAを有効にする
Windows 10でtensorflow-gpuを使う方法
Windows版TensorFlow 1.13~1.15でGPUを使う (CUDAのインストール)