強化学習の勉強をしたいと思い強化学習学習がpythonで勉強できるようなツールを探していると『OpenAI Gym』というものを見つけたのでインストールしてみることにしました。

ただ、ATARIの環境構築をする際に手間取ったので本記事ではWindows10でOpenAI Gymをインストールする方法をまとめました。


動作環境


本記事における動作環境は下記の通りになります。
  • Windows10 Home
  • anaconda
  • Python 3.6.7
anacondaをまだインストールしていない人は下記の記事を参考にしてください。




OpenAI Gymのインストール

1. 仮想環境の作成


Anacondaでは "conda create -n 仮想環境の名前 python=x.x" というコマンドを使って仮想環境を作成することができます。

Python3.6でOpenAIという名前の仮想環境を作る場合は下記のコマンドを入力してください。

conda create -n OpenAI python=3.6


2. 仮想環境をActivateする


"activate 仮想環境の名前" で仮想環境をActivateすることができます。

activate OpenAI


3. gymのインストール


gymは下記のコマンドでインストールすることができます。

pip install gym


4. gymの動作確認


pipでgymを無事インストールすることができたら動作確認をしましょう。動作確認は下記のコードで行うことができます。

import gym

env = gym.make('CartPole-v0'# select game
observation = env.reset() # initialize

for i in range(100):
  env.render()
  observationrewarddoneinfo = env.step(1# go right
env.env.close()

上記のコードが実行できればCartPoleのゲーム画面が現れて台座が右に行き続けます。

本当はポールを倒さないようにするゲームですが今回はテストプログラムのためゲームができているかどうかは気にしない方向で。

無題






ATARIの環境構築


gymが無事インストールできたらここからはgymでATARIのゲーム(インベーダーゲームなど)をできるようにしていきます。

インストールの方法を調べているとpipで簡単にインストールできるという記述が多々あったのですが"pip install gym[atari]" "pip install gym[all]" などのコマンドを使ってもエラーがでてしまいインストールすることができませんでした。

エラー内容はMicrosoft Visual C++ 14.0が必要、cmakeがインストールされていない、zlibが必要などだったのですがそれらすべてをインストールしても上手くいかなかったため色々と調べていると下記のページがでてきました。



このページによるとATARIの環境構築はコマンド一つだけでできcmakeなども必要がないということだったので実際に書かれている通りのコマンドを入力すると環境構築することができました。

そのコマンドは下記になります。

pip install --no-index -f https://github.com/Kojoley/atari-py/releases atari_py

また次のコマンドでもインストールできるみたいです。

pip install git+https://github.com/Kojoley/atari-py.git

インストールすることができたら動作確認をしてみましょう。動作確認は下記のコードで行うことができます。

import gym

env = gym.make('SpaceInvaders-v0'# sellect game
env.reset() # initialize
for _ in range(1000):
    env.step(env.action_space.sample())
    env.render('human')
env.close()

インベーダー



最後に


無事Gymの環境構築を行うことができたので今後、強化学習のプログラムを作成したときはそちらの方も記事にしていこうと思います。