LoginSignup
1
0

<簡単>Pythonで強化学習の環境を構築

Posted at

導入

こんにちは、
12月30日に強化学習をしたくなったので備忘録です、
Akira_0809です、

必要なやつら

  • Python
  • Gymnasium

Gymnasiumとは前身のOpenAIGymのサポート終了後にメンテナンスを引き継いだ団体によるライブラリです。

インストール

pip install gymnasium[box2d]

今回は、box2dベースの物理演算とPyGameベースのレンダリングを使用した、物理演算に基づいたおもちゃのゲームをインストールします。

他のものは公式ドキュメントに載っているので気になるものをインストールするといいでしょう。

コード

コードについて解説していきます。

import gymnasium as gym

env = gym.make("CarRacing-v2", render_mode="human")

observation, info = env.reset()

for _ in range(1000):
    action = env.action_space.sample()
    observation, reward, terminated, truncated, info = env.step(action)
    if terminated or truncated:
        observation, info = env.reset()

env.close()

まず初めに謎のレースゲームの環境を作成します。

env = gym.make("CarRacing-v2", render_mode="human")

ゲーム環境の初期化を行います。

observation, info = env.reset()

環境からランダムな行動を取得します。
本来であればAIが行動を決定するところです。

action = env.action_space.sample()

行動を実行すると環境の状態が更新される。

observation, reward, terminated, truncated, info = env.step(action)

ゲームが終了したら、環境を初期化して再開。

if terminated or truncated:
    observation, info = env.reset()

環境を閉じる。メモリの解放とかしてる。

env.close()

実行すると画面が出てきてプレイ画面が見えるはず、

人間がプレイするためには

自分で試してみたいときはライブラリをインストールした所でこれを実行するとプレイできます。

python gymnasium/envs/box2d/car_racing.py

最後に

意外と簡単に環境構築が出来たので強化学習にチャレンジしてみようと思います。
間違ってたら教えて!!

参考文献

1
0
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
1
0