MuJoCoが無償化したということで、今一度Baselinesを触ってみる。
なぜOpen AI Gymか
AIが学習する環境設定などめんどくさい部分をOpenAIGymがやってくれて、コーディングに集中するため。
環境
Ubuntu18.04
必要パッケージをインストール
$ sudo apt update && sudo apt install cmake libopenmpi-dev python3-dev zlib1g-dev
GPUを使う場合
Nviida Driverをインストールする。
$ sudo ubuntu-drivers autoinstall $ sudo reboot
Virtual envを構築
pythonスクリプトをpython3へ紐づける必要があります。 そうでなければ、コードがエラーになってしまうため、仮想環境構築は必須です。
$ sudo apt install virtualenv ($ pip install virtualenv)
virtualenv作成
$ virtualenv /path/to/venv --python=python3 (ex. $ virtualenv env1 --python=python3)
virtualenvをアクティベートしてvirtualenv環境に入ります。
$ . /path/to/venv/bin/activate (ex. $ . env1/bin/activate
BaseLinesをインストール
(virtualenv上で構築)
$ git clone https://github.com/openai/baselines.git $ cd baselines
$ pip install tensorflow-gpu==1.14 # CUDAのGPU環境がある場合 or $ pip install tensorflow==1.14#CPUのみ
baselinesパッケージをインストール
$ pip install -e .
テストとイントール
$ pip install pytest $ pytest
トレーニングモデルの使い方
python -m baselines.run --alg=<name of the algorithm> --env=<environment_id> [additional arguments]
Example(Mujoco)
無償になったMujocoをダウンロードする。
リンクをたどるとGitHubのReleaseにたどり着けるので、
mujoco-2.1.1-linux-x86_64.tar.gz
を解凍する。
ホームディレクトリ配下にMujocoをインストール
$ mkdir -p ~/.mujoco/
先ほど解凍したmujoco-2.1.0にmujoco210があるので.mujoco配下にコピペする。
.bashrcにパスを追加
$ vi ~/.bashrc export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/[username]/.mujoco/mujoco210/bin $ source ~/.bashrc(再読み込み) $ . ~/env1/bin/activate (再アクティベート)
pipインストールする。
$ pip install mujoco-py
Humanoid-v2実行
$ python -m baselines.run --alg=ppo2 --env=Humanoid-v2 --network=mlp --num_timesteps=2e7
※1, ※2
TroubleShooting
※1
distutils.errors.CompileError: command 'x86_64-linux-gnu-gcc' failed with exit status 1
$ sudo apt install libx11-dev $ sudo apt-get install libglew-dev
※2
FileNotFoundError: [Errno 2] No such file or directory: 'patchelf': 'patchelf'
$ sudo add-apt-repository ppa:jamesh/snap-support $ sudo apt-get update $ sudo apt install patchelf