金子邦彦研究室人工知能強化学習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 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.

    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]