これちのPost-it

技術ネタをペラペラ貼っていくぞ!

Docker で openAI の gym 環境を作って強化学習サンプルを試してみた

目的

  • Docker のお勉強
  • openAI をお試し
    • とりあえず動くところまで!

開発環境

Windows 10 Pro

Docker 環境構築

qiita.com

ここを参考にしました。 ただし CPU 仮想化が無効になっていたので BIOS モードで起動して CPU 仮想化を有効にする必要がありました。

Docker を使った openAI/Gym の環境構築

https://hub.docker.com/r/eboraas/openai-gym/

今回これを使います。 スターもいくつかついているし良さそう。Windows PowerShell で以下のコマンドを叩いて Docker イメージをプル。

$ docker pull eboraas/openai-gym

Docker コマンドの簡単な使い方はここらへんを参考に。

qiita.com

qiita.com

Jupyter Notebook を使うことで インタラクティブに openAI のコードを試すことができるため、いくつか引数を指定します。

$ docker run -d -p 8888:8888 -p 6006:6006 -v /path/to/notebooks/:/mnt/notebooks/ eboraas/openai-gym

コンテナがたちあがったら http://localhost:8888 にブラウザでアクセスして Jupyter Notebook を閲覧できます。

python2 の notebook を作成して「Shift + Enter」で実行してみます。

Jupyter の使い方は以下を参考にしました。

Jupyterを使ってみた - Qiita

f:id:korechi:20181105113508p:plain

動いた!!!!

公式ドキュメントにあがっているサンプルコードだと Jupyter 上で実行してもウインドウが立ち上がらないため、一部書き換えました。

import gym
from IPython import display
import matplotlib.pyplot as plt
%matplotlib inline

env = gym.make('Breakout-v0')
env.reset()
for _ in range(1000):
    plt.imshow(env.render(mode='rgb_array'))
    display.clear_output(wait=True)
    display.display(plt.gcf())
    env.step(env.action_space.sample())

python3 の Notebook が作れないのが気になりますが今回はここまでとします。