Pythonで強化学習が可能なOpenAI Gymのインストール

Pythonで強化学習が可能なOpenAI Gymのインストール プログラミング

「強化学習って、難しそう・・・」

そのように思う方は、とりあえずOpenAI Gymを触ってみてください。
そして、サンプルを実際に触ってみましょう。

「習うより慣れろ」の精神です。
そうすると、強化学習が少しは身近に感じることができるでしょう。

本記事の内容

  • OpenAI Gymとは?
  • OpenAI Gymのシステム要件
  • OpenAI Gymのインストール
  • OpenAI Gymの動作確認

それでは、上記に沿って解説していきます。

OpenAI Gymとは?

OpenAI Gymは、強化学習アルゴリズムを開発・比較するためのツールキットです。
そして、TensorFlowやTheanoなどの数値計算ライブラリと互換性があります。

また、OpenAI Gymには多くのサンプルが用意されています。
http://gym.openai.com/envs/#classic_control

上記にあるサンプルは、コードから簡単に呼び出せます。
次のように指定するだけです。

import gym 
env = gym.make("Acrobot-v1")

これらのサンプルを利用して、強化学習の方法を学んでいく形になります。

以上、OpenAI Gymに関する説明でした。
次は、OpenAI Gymのシステム要件を確認します。

OpenAI Gymのシステム要件

現時点(2021年8月)でのOpenAI Gymの最新バージョンは、0.18.3となります。
この最新バージョンは、2021年5月18日にリリースされています。

システム要件は、公式(GitHubページ上)には次のように記載されています。

We support Python 3.6, 3.7, 3.8 and 3.9 on Linux and macOS. 
We will accept PRs related to Windows, but do not officially support it.

上記を日本語にすると、以下。

Python 3.6, 3.7, 3.8, 3.9 を Linux と macOS でサポートしています。
Windowsに関するPRも受け付けていますが、公式にはサポートしていません。

つまり、公式としては次のOSのみをサポートしています。

  • Linux
  • macOS

そして、サポートしているPythonのバージョンは以下。

  • Python 3.6
  • Python 3.7
  • Python 3.8
  • Python 3.9

なんと、Windowsがサポート対象外になります。
しかし、これはあくまで公式的な意見です。

このような場合は、setup.py(インストールの際に利用)を確認します。
https://github.com/openai/gym/blob/master/setup.py

setup.pyを見る限り、OSに関する分岐はありません。
そもそも、OSに関する記述自体がない状態です。

したがって、インストールはWindowsに問題なくできます
実際に、Windowsへ何度もインストール済みです。

では、ちゃんと動くのか?
これが心配になりますね。

これに関しても、特に問題はありません。
コードを見た限り、OS依存するような箇所がないのです。

よって、OpenAI GymはWindowsでも動くと言えます。
実際、動きます。

以上、OpenAI Gymのシステム要件を説明しました。
次は、OpenAI Gymをインストールしていきます。

OpenAI Gymのインストール

まずは、現状のインストール済みパッケージを確認しておきます。

>pip list 
Package    Version 
---------- ------- 
pip        21.2.2 
setuptools 57.4.0

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、OpenAI Gymのインストールです。
OpenAI Gymのインストールは、以下のコマンドとなります。

pip install gym

インストールは、少しだけ時間がかかります。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list 
Package     Version 
----------- ------- 
cloudpickle 1.6.0 
gym         0.18.3 
numpy       1.21.1 
Pillow      8.2.0 
pip         21.2.2 
pyglet      1.5.15 
scipy       1.7.1 
setuptools  57.4.0

依存するパッケージが、何個かインストールされました。
その中において、変わり種はPygletですね。
Pygletに関しては、次の記事で説明しています。

強化学習する際に、ゲームを利用することになります。
そのために、Pygletが必要ということでしょう。

以上、OpenAI Gymのインストールの説明でした。
最後に、OpenAI Gymのインストールの動作確認を行います。

OpenAI Gymの動作確認

OpenAI Gymの動作確認用のコードです。

import gym 
env = gym.make("CartPole-v1") 
observation = env.reset() 
for _ in range(1000): 
  env.render() 
  action = env.action_space.sample() # your agent here (this takes random actions) 
  observation, reward, done, info = env.step(action) 
  if done: 
    observation = env.reset() 
env.close()

上記を実行します。
OpenAI Gymが適切に動作すると、次のような画面が表示されます。

強化学習している様子です。
いろいろな動きを試行錯誤しているのでしょう。
しばらくすると、画面は自動的に閉じます。

以上、OpenAI Gymの動作確認についての説明でした。

タイトルとURLをコピーしました