概要
強化学習を勉強するための環境構築メモを残しておく。
参考サイト
https://github.com/keras-rl/keras-rl
他多数の環境構築手順を紹介しているサイト
PC環境
項目 | 値 |
---|---|
OS | 18.04.1 LTS |
CUDA | 10.0.130 |
cuDNN | 7.4.2.2 |
Python環境 | Anaconda 3.5.2(Python3.6.8) |
TensorFlow | 1.14.0 |
Keras | 2.2.4 |
Keras-rl | 0.4.2 |
gym | 0.13.1 |
gym[atari] | 0.13.1 |
CUDAやcuDNNのインストール手順は省略する。
作業項目
- anacondaインストール
- 環境変数の設定
- openCV3インストール(オプション)
- TensorFlowインストール
- numpyダウングレード
- TensorFlow 動作確認(import確認)
- kerasインストール
- keras-rlインストール
- OpenAI gymインストール
- keras-rl動作確認
anacondaインストール
anaconda 3.5.2をダウンロードする。
wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
実行権を付与して、インストールを実行する。
chmod 744 ./Anaconda3-5.2.0-Linux-x86_64.sh
./Anaconda3-5.2.0-Linux-x86_64.sh
インストール時の選択。
Do you accept the license terms? [yes|no]
[no] >>> yes
[/(ホーム)/anaconda3] >>> $(ホーム)/anaconda/anaconda352_rl
-> インストールが開始される。
to PATH in your /(ホーム)/.bashrc ? [yes|no]
[no] >>>
Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]
>>> no
これでインストール完了。
環境変数の設定
.bash_profileに環境変数を設定する。
cudaとcuDNNの環境変数もここでセットしておく。
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# anaconda(python3) "base" environment
export ANACONDA=$HOME/anaconda/anaconda352_rl
export LD_LIBRARY_PATH=$ANACONDA/lib:$LD_LIBRARY_PATH
export PATH=$ANACONDA/bin:$PATH
# cuda10.0
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
export PATH=$CUDA_HOME/bin:$PATH
# cudnn7
export CUDNN=$HOME/cudnn/cudnnv742_cuda100
export LD_LIBRARY_PATH=$CUDNN/lib64:$LD_LIBRARY_PATH
openCV3インストール(オプション)
たぶん要らないと思うけど念のため。
conda install -c menpo opencv=3
TensorFlowインストール
Tensorflow2.0はまだ手を出してない。
余談だけど、テンサフローって読むらしい。どっちでもいいのかな。
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.14.0-cp36-cp36m-linux_x86_64.whl
numpyダウングレード
1.16系だとエラーになるっぽいので念のため。
pip install numpy==1.15.4
TensorFlow 動作確認(import確認)
pythonを対話形式で実行して、importできること、tensorflowバージョンが返ってくればOK。
import tensorflow as tf
hello = tf.constant('Hello, Tensorflow!')
sess = tf.Session()
print(sess.run(hello))
tf.__version__
kerasインストール
主要なライブラリは、バージョン指定してインストールするほうがよい。
バージョン未指定のインストール手順はあまり好きじゃない。
pip install keras==2.2.4
keras-rlインストール
pip install keras-rl==0.4.2
OpenAI gymインストール
pip install gym==0.13.1
pip install gym[atari]==0.13.1
keras-rl動作確認
有名なcartpoleのexampleを実行してみる。
git clone https://github.com/keras-rl/keras-rl.git
CUI環境での動作確認なので、実行ファイルの中身を一部修正する(visualize=Falseに書き換え)
keras-rl/examples/dqn_cartpole.py
# 46行目(visualize=False)
dqn.fit(env, nb_steps=50000, visualize=False, verbose=2)
# 52行目(visualize=False)
dqn.test(env, nb_episodes=5, visualize=False)
実行する。
python keras-rl/examples/dqn_cartpole.py
実行ログ。こんな結果が返ってくればOK。
Using TensorFlow backend.
WARNING: Logging before flag parsing goes to stderr.
(省略)
49936/50000: episode: 309, duration: 0.848s, episode steps: 195, steps per second: 230, episode reward: 195.000, mean reward: 1.000 [1.000, 1.000], mean action: 0.523 [0.000, 1.000], mean observation: 0.353 [-1.283, 2.271], loss: 4.842455, mean_absolute_error: 41.189602, mean_q: 82.372498
done, took 213.446 seconds
Testing for 5 episodes ...
Episode 1: reward: 200.000, steps: 200
Episode 2: reward: 200.000, steps: 200
Episode 3: reward: 200.000, steps: 200
Episode 4: reward: 200.000, steps: 200
Episode 5: reward: 191.000, steps: 191
以上。