はじめに
近年の強化学習アルゴリズムは,MuJoCoと呼ばれるシミュレーターにおけるタスクの性能によって評価されることが多いです.MuJoCoはかつてライセンスが必要だったのですが,DeepMindさんが無料で公開してくださった(ニュースリリース)ので,mujoco-pyをインストールしてみました.以下,試行錯誤で見つけたインストール手順を記します.
インストール対象はUbuntu 16.04 LTSです.
MuJoCoのダウンロード
まず,MuJoCoの公式サイトから,「Linux」をクリックしてダウンロードします.
ダウンロードしてきたmujoco210-linux-x86_64.tar.gzを解凍すると,「mujoco210」のフォルダが現れます.これをそのまま,次のようにコピーします.
mkdir ~/.mujoco
cp -r mujoco210 ~/.mujoco/mujoco210
mujoco-pyのインストール
いくつかのエラー対策
環境変数の登録
まず,環境変数の登録が必要です.
/etc/environmentを編集します.
sudo gedit /etc/environment
このファイルに次の一行を追記します.HOGEはユーザー名に変更してください.
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/HOGE/.mujoco/mujoco210/bin:/usr/lib/nvidia
ちなみにエラーだと.bashrcを編集するように指示されますが,environmentの方を編集しないといけないようです.(参考)
libglew-devのインストール
「fatal error: GL/glew.h」が起きることを防ぐために,libglew-devをインストールします.(ある場合はスキップ)
sudo apt-get install libglew-dev
libopengl0のインストール
「ImportError: libOpenGL.so.0: cannot open shared object file」が起きることを防ぐために「libopengl0」をインストールします.
sudo apt install libopengl0
自分の場合は上記の手順でできなかったので,次の手順でインストールしました.(ある場合はスキップ)
wget http://ftp.br.debian.org/debian/pool/main/libg/libglvnd/libglvnd0_1.3.4-2+b1_amd64.deb
sudo dpkg -i libglvnd0_1.0.0-2ubuntu2.3_amd64.deb
wget http://ftp.br.debian.org/debian/pool/main/libg/libglvnd/libopengl0_1.3.4-2+b1_amd64.deb
sudo dpkg -i libopengl0_1.3.4-2+b1_amd64.deb
mujoco-pyのインストール
最後に,mujoco-pyをインストールします.pipでそのままインストールできる,MujoCo v.2.1.0に対応したバージョンはまだリリースされていないので,GitHubのリポジトリからインストールします.(参考)
sudo pip3.7 install git+https://github.com/openai/mujoco-py
リポジトリページにある
To play with mujoco-py interactively, follow these steps:
のコードが動けばおそらくインストール成功です.お疲れ様でした.
メモ
mujoco-pyのインストールに失敗するときはエラーメッセージを確認してみてください.
エラー例:MuJoCoが見つからない
You appear to be missing MuJoCo. We expected to find the file here: /root/.mujoco/mujoco210
のようになっている場合は,指定されているディレクトリにコピーし,上記のenvironmentの追加部分も適宜変更してみてください.
参考文献
備考
ERROR: GLEW initalization error: Missing GL version
描画した時にこのエラーが出た.上の手順でGLEW自体は入っているはず.
/etc/environment に次の一行を追記:(参考)
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so