Help us understand the problem. What is going on with this article?

WindowsのWSLにOpenAI gymとchainerrlをインストールした時のメモ

More than 1 year has passed since last update.

はじめに

この記事はWSL (Windows Subsystem for Linux) 上にOpenAIのgym(強化学習フレームワーク)の実行環境を構築した時のメモです。

インストールしたもの

  • python3.6
  • pip
  • 強化学習で使いそうなライブラリ
  • VcXsrv(XServerクライアント)

この記事には以下の内容は含まれません。

  • WSLはインストール済みであることが前提です。
  • 強化学習の説明はしませんので、別の記事をご参照ください。

インストールするもの

Linux側

WSL(ubuntu)のデフォルトはpython3.5が入っているので、Python3.6とpipを使えるようにする。
このページを参考にapt-getでインストールする。

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt install python3.6 python3-pip
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

python3 -Vでpython3.6が有効になっていればOK。

今回は仮想環境とかは作らずにWSL上に環境を作っていく。
pipでさしあたって使いそうなものをインストール。

pip3 install --user numpy tensorflow keras chainer chainerrl gym jupyter scipy

Windows側

XServerクライアントが必要になります。
Xmingが有名ですが、こちらでVcXsrvが勧められていたのでVcXsrvをインストールしてみました。

ダウンロード:SourceForge
インストール方法など:WindowsでリモートのLinuxのGUIアプリを表示させる-Xサーバ VcXsrv

インストールは特に難しいことはなく、インストーラを起動してボタンをクリックしていくだけ。
インストール後はデスクトップにあるXLaunchというのを起動して、タスクバーに"X"マークのロゴが出ればOK。

一応、ロゴをマウスオーバーしてディスプレイのポートが0.0であることを確認しておく。
("ホスト名:0.0 - 0 clients"となっているはず。)

WSL側の設定は.bashrcに以下の二行を追加。localhostの後ろの0.0はロゴのマウスオーバーで確認した値にしておく。
二行目は"failed to load driver: swrast wsl"というエラーメッセージを消すために入れているが、なくても動く。

export DISPLAY=localhost:0.0
export "LIBGL_ALWAYS_INDIRECT=1"

.bashrc変更後はsource ~/.bashrcするか、再起動する。

OpenGymのGUIが動くように以下をインストール。

sudo apt-get install python3.6-gdbm python-opengl

実際に試してみる

簡易確認

以下の内容でファイルを作ってコマンドラインから実行。テストなので、ランダムに行動させています。

最後の一行を入れないと終了時にエラーが出るみたいです。(2018/4/2時点)

import gym
env = gym.make('CartPole-v0')
observation = env.reset()
for _ in range(100):
  env.render()
  action = env.action_space.sample()
  observation, reward, done, info = env.step(action)
env.close()

自動でXwindowが最前面に来ないこともあるので、タスクバーを見ていないと見落とすかも。

jupyter + chainerrl

jupyterを起動すれば、ChainerRLのクイックスタートも実行できる。

jupyterはjupyter notebookで起動して、Windows側のブラウザから表示されたURLにアクセスすればOK.

exy81
しばらくZennとQiitaに同じ記事を投稿します。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away