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

Windows上でOpenAI/gymを実行してみる

More than 3 years have passed since last update.

強化学習を学べるツールキットとしてOpenAI/gymが公開されています。
pythonの開発環境さえあれば動き、ATARIのゲームがいくつが同梱されている他、tensorflowなどと相性が良いということで、機械学習の勉強に大変効果がありそうです。

また、ちょうど最近、Windows 10の年に一度の更新、Anniversary Updateが公開され、適用することでなんとbashが動くようになりました。いろんな人が涙したことでしょう。
Ubuntuのネイティブライブラリが動くということで、pythonの開発環境とも相性が良いです。

Windowsのラップトップしか所有していない筆者でも、OpenAIの雰囲気を感じられるチャンスかもしれません。

今回はbash on Windows上でopenAI/gymを動かしてみます。
(べつにVagrantとか使えばいいのですが、新しさがないので今回はbash on Windowsに焦点を当てました)

bash on Windowsの動作の確認

下記atmarkITさんの記事が参考になります。
Windows 10のLinux/Ubuntu互換環境でbashを使う

基本的には下記の手順を踏みます。

  1. WSL機能を有効化する。
  2. 開発者モードをOnにする。
  3. 起動し、パスワードなどを設定する。

結果、「Bash on Ubuntu on Windows」というアプリへのショートカットがインストールされていれば成功です。

Bash上にOpenAI/gymをインストール

インストールされたbash on windowsを起動します。
下記コマンドで最初に必要なpipコマンドをインストールします。

sudo apt-get install python-pip

ちなみに、私の環境ではpython2.7がインストール済みでした。

次に、pipコマンドで必要なライブラリをインストールします。
OpenAI/gym document

sudo pip install gym

Windows側に画面を表示するためのXmingをインストール

bash on Windowsは開発途中で未実装の機能も多く、画面表示に関する部分も含まれます。
Running Linux desktop apps on the Windows Subsystem for Linux
OpenAI/gymが学習結果の画面を表示するときにXの画面を使用しますが、bash on Windowsには入っていません。
対策として、昔からXの画面をWindowsで表示するフリーのソフトはいくつも開発されていますから、bashとは別にそれらをインストールすればよいはずです。

筆者は下記Xmingを使いました。
フリーのWindows用Xサーバー「Xming」のインストールと基本設定、使い方

次に、bash on Windowsで画面をXmingに飛ばす設定をします。

export DISPLAY=:0

上記で設定が完了します。
完了できたか確認するには、bash上でX画面を使用するシンプルなアプリxeyesを実行して、その画面がXmingで表示されるかを確認すればいいです。

sudo apt-get install x11-apps
xeyes&

下記のように新しいウィンドウが作成され画面が表示されます。
2016-08-17 (2).png

簡単なOpenAI/gymサンプルを実行

今回は上記ドキュメントの一番簡単なenvironmentであるcartpole-v0を実行します。
一直線上を動くカートの上にグラグラ傾くポールが乗っていて、カートを前後させて倒立させるというシミュレーションアプリです。
bash上で下記のソースコードをcartpole.pyという名前で保存します。
(エディタはviなど何を使っても構いません)

cartpole.py
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
    env.render()
    env.step(env.action_space.sample())

bash上でソースコードを実行してみます。

python cartpole.py

結果、このような画面がWindows上に出てきます。

2016-08-17 (5).png

まとめ

まずcartpoleを実行し、OpenAI/gymがWindows上で動くことを確認しました。gymには幾つかいろんなアプリが入っているようなので、今後試してみたいと思います。

Hiroyuki_OSAKI
Certified engineer (CKA/CKAD), Sr. researcher(@Hitachi / Hitachi America) K8s/Helm/OPA/GraphQL/Python/Rails/Node.js/golang/Android/Scratch ここに記載の内容はあくまで個人的見解であり会社を代表するものではありません。
hitachi-services-computing
様々なサービスやOSSを活用して新しいサービスを創生・開発・運用するための技術を研究開発しています
https://www.hitachi.co.jp/rd/index.html
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