金子邦彦研究室人工知能強化学習OpenAI Gym, Gym Atari のインストール

OpenAI Gym, Gym Atari のインストール

OpenAI は、強化学習のツールキット. このページでは,インストール手順を示す.

謝辞:OpenAI Gym の作者に感謝します

前準備

前準備として,Python, Git のインストール: 別ページ »で説明

git の URL: https://git-scm.com/が終わっていること.

Git のインストール(Windows 上)

Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.

サイト内の関連ページ

Windows での Git のインストール: 別ページ »で説明している.

関連する外部ページ

Git の公式ページ: https://git-scm.com/

Python のインストール(Windows 上)

サイト内の関連ページ

関連する外部ページ

Python の公式ページ: https://www.python.org/

OpenAI Gym, Gym Atari のインストール

  1. Window でコマンドプロンプトを実行
  2. OpenAI Gym のダウンロード

    ダウンロードに,gitを用いる.

    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q gym
    git clone https://github.com/openai/gym
    

    [image]
  3. OpenAI Gym のインストール

    ※ 「pip install ...」は,Python パッケージをインストールするための操作. Ubuntu でシステム の python3 を使っているときは,「pip install ...」の代わりに「sudo pip3 install ...」のように操作すること.

    cd c:\pytools
    cd gym
    pip install -e .
    

    [image]
  4. OpenAI Gym のバージョン確認

    Windowsコマンドプロンプトで、次のコマンドを実行

    バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.

    python -c "import gym; print( gym.__version__ )"
    

    [image]
  5. Gym Atari のインストール

    pip install gym[atari]
    

    [image]

試しに動かしてみる

Python プログラムを実行する

Python プログラムの実行: 別ページ »で説明

Python のまとめ: 別ページ »にまとめ

SpaceInvaders-v0

import gym
env = gym.make('SpaceInvaders-v0')
observation = env.reset()
for i_episode in range(20):
    observation = env.reset()
    for t in range(100):
        env.render()
        print(observation)
        action = env.action_space.sample()
        observation, reward, done, info = env.step(action)
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break

[image]

[image]

CartPole-v0

import gym
env = gym.make('CartPole-v0')
observation = env.reset()
for i_episode in range(20):
    observation = env.reset()
    for t in range(100):
        env.render()
        print(observation)
        action = env.action_space.sample()
        observation, reward, done, info = env.step(action)
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break

[image]

Copy-v0

import gym
env = gym.make('Copy-v0')
observation = env.reset()
for i_episode in range(20):
    observation = env.reset()
    for t in range(100):
        env.render()
        print(observation)
        action = env.action_space.sample() # your agent here (this takes random actions)
        observation, reward, done, info = env.step(action)
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break

[image]

toy_text

import gym
env = gym.make('FrozenLake-v0')
observation = env.reset()
for i_episode in range(20):
    observation = env.reset()
    for t in range(100):
        env.render()
        print(observation)
        action = env.action_space.sample() # your agent here (this takes random actions)
        observation, reward, done, info = env.step(action)
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break

[image]