LoginSignup
11
13

More than 5 years have passed since last update.

イーロン・マスク氏が関わるOpenAIの人工知能プラットフォーム「Universe」を動かしてみる

Last updated at Posted at 2016-12-28

Universeとは

イーロン・マスク氏のOpenAI、人工知能学習プラットフォーム「Universe」をオープンソース化 - ITmedia ニュースの説明がわかりやすいので引用します。

Universeでは、AIエージェントは人間と同じようにコンピュータを使えるという。画面を見たり、仮想キーボードとマウスを使って操作する。これにより、人間がコンピュータでこなすタスクをエージェントに学習させることができるとしている。

さらに、

Universeには、環境として2600のAtariゲーム、1000のFlashゲーム、ブラウザのタスクなどが含まれる。

準備

conda(オプション)

READMEより、condaの環境があった方が良いということなので、Quick installを参考にインストールします(これは必須ではないので飛ばしても良いと思います)。

Minicondaを開いて、必要なファイルをダウンロードします。

ダウンロードしたファイルを実行します。

$ sh Miniconda3-latest-MacOSX-x86_64.sh

ダイアログ形式で訪ねてくるので、それに回答してインストール完了です(ただし、pythonに詳しくないのでconda環境を構築するのが良いことなのかはわかりません...)。

Universeのインストール

README通り。

$ git clone https://github.com/openai/universe.git
$ cd universe
$ pip3 install -e .

で、うまくいくかと思ったのですが、エラーが出ました。必要に応じて下記の対応を行います。

$ xcode-select --install
$ pip3 install numpy incremental
$ brew install golang libjpeg-turbo

エラーが出た場合は、XQuartzを入れる必要があるということです。

$ brew install Caskroom/cask/xquartz

さらに、

configure: error: unable to find XShmQueryVersion in -lXext!
  specify XSHM_LIBS or configure --without-xshm to disable the extension
  See `config.log' for more details.
  Could not build fastzbarlight: ...
...
Failed to build fastzbarlight

と出た場合は(これには苦しめられました...)、ログやIssueなど探ったのですが、うまくいかず結局、fastzbarlightのファイルをダウンロードして、個別にインストールしようとするもうまくいかず、fastzbarlightがsetup時に利用しているzbar(fastzbarlightはzbarのラッパー)自体がおかしいいというヒントを得たので、ダウンロードしたfastzbarlightの setup.py の中にあるzbarの指定をhomebrewで入れたものに変えました(ちなみに、homebrewで入れたバージョンは念のため --without-xshm しました)。

変更した箇所です。

# extra_link_args=[os.path.join(os.path.dirname(__file__), 'src/fastzbarlight/vendor/zbar-0.10/zbar/.libs/libzbar.a')],
extra_link_args=[os.path.join(os.path.dirname(__file__), '/usr/local/Cellar/zbar/0.10_2/lib/libzbar.a')],

そして、pipを使わずマニュアルインストールです。

$ cd /path/to/fastzbarlight
$ python setup.py install

これで、fastzbarlightのインストールが成功しました...はぁはぁ...。

本家のIssueに手順を書いておきました...: fastzbarlight build failed on MacOSX 10.11.6 · Issue #51 · openai/universe

再度、

$ pip install -e .

を実行して成功することを確認します。

Dockerをインストールします。おすすめは、Docker for Macということです。Dockerアプリケーションを立ち上げて、

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

ができることを確認します。

起動!

READMEにあるコードをPythonのREPLに貼り付けます(とりあえず!)。起動にはちょっと時間がかかりました(15分くらい?)。

import gym
import universe  # register the universe environments

env = gym.make('flashgames.DuskDrive-v0')
env.configure(remotes=1)  # automatically creates a local docker container
observation_n = env.reset()

while True:
  action_n = [[('KeyEvent', 'ArrowUp', True)] for ob in observation_n]  # your agent here
  observation_n, reward_n, done_n, info = env.step(action_n)
  env.render()

これで、接続して...、パスワードはREADMEに書いてあります。

$ open vnc://localhost:5900

Dec-29-2016 05-12-10.gif

やったー!

参考

11
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
13