Ubuntu 18.04 / Windows 10で Open AI Gym API for Fighting ICEを使ってみた
Fighting ICEとは
立命館大学 ICEラボから提供されている、格闘ゲームを題材にAI研究を行えるプラットフォームです。Javaベースですが、OpenAI Gym環境を通してPythonでも操作・学習が行えるようになっています。
画像は立命館土曜講座より
環境
- Ubuntu 18.04 / Windows 10
- OpenJDK 8
- Gym-FightingICE API
- Fighting ICE 4.50
Ubuntu 18.04でのセットアップ
Javaのインストール
必要環境:OpenJDK (8 or later; Oracle JDK 11 is not supported)
となっているため、OpenJDK 8をインストールします。
(参考)Open JDK install
sudo apt-get install openjdk-8-jre
Fighting ICEのダウンロード
FightingICE Get started –installより、Version4.50として配布されているZIPアーカイブをダウンロードして適当なディレクトリに解凍します。
Gym-FightingICEのインストール
Fighting ICEの
TeamFightingICE / Gym – FightingICEのReadMeに従って作業する。
pip install gym
pip install py4j
pip install port_for
pip install opencv-python
gym周りやopenCVについて上手くインストールできない場合はこの辺りを参照するとよいかも。
Fighting ICEのダウンロードでZIPアーカイブを解凍したディレクトリに移動してからgit clone。
cd FTG4.50
git clone https://github.com/TeamFightingICE/Gym-FightingICE.git
ディレクトリを移動してからインストールを実行する。
cd Gym-FightingICE
pip3 install -e .
最終的な配置はこうなる。
実行用のファイルはFTG直下に置かないと動かないという記事もあったが、Gym-FightingICE直下に実行ファイルを置くと動作した。
(参考)OpenAI Gym API for Fighting ICEを動かしてみる
FTG4.50/
├── Gym-FightingICE <- git clone https://github.com/TeamFightingICE/Gym-FightingICE.git
| ├── setup.py
| └── test.py <- 実行用.pyファイルやJupyterNotebook
├── bat
├── data
├── lib
├── log
├── python
├── AIToolKit.jar
├── FightingICE.jar
└── ftg.sh
テスト稼働
サンプルコードでテスト
cd FTG4.50
python3 Gym-FightingICE/main.py
別のサンプルコード
cd FTG4.50
python3 Gym-FightingICE/gymexe.py
Windows 10 でのセットアップ
Javaのインストール
必要環境:OpenJDK (8 or later; Oracle JDK 11 is not supported)
となっていますが、OpenJDKの8でWindows版が見当たらなかったので、最新版のOpenJDK17で導入してみます。
(参考)Open JDK install
JDK 17 General-Availability Release
zipをダウンロードし解凍します。
C:\java\jdk-17
JDKのPATH設定
上記で解凍して置いたPATHをWindowsの環境変数として設定します。
Windowsマーク右クリックから[設定]→[システム]→[詳細情報]→[システムの詳細設定]
「システムのプロパティ」ウィンドウの中の「詳細設定」タブ内「環境変数」より設定します。
Fighting ICEのダウンロード
FightingICE Get started –installより、Version4.50として配布されているZIPアーカイブをダウンロードして適当なディレクトリに解凍する。
Python環境の用意
今回はAnacondaを用いてopenAI Gym用の仮想環境を用意した。
Gym-FightingICEのインストール
Fighting ICEの
TeamFightingICE / Gym – FightingICEのReadMeに従って作業する。
pip install gym
pip install py4j
pip install port_for
pip install opencv-python
gym周りやopenCVについて上手くインストールできない場合はこの辺りを参照するとよいかも。
Fighting ICEのダウンロードでZIPアーカイブを解凍したディレクトリに移動してからgit clone。
cd FTG4.50
git clone https://github.com/TeamFightingICE/Gym-FightingICE.git
ディレクトリを移動してからインストールを実行する。
cd Gym-FightingICE
pip3 install -e .
最終的な配置はこうなる。
実行用のファイルはFTG直下に置かないと動かないという記事もあったが、Gym-FightingICE直下に実行ファイルを置くと動作した。
(参考)OpenAI Gym API for Fighting ICEを動かしてみる
FTG4.50/
├── Gym-FightingICE <- git clone https://github.com/TeamFightingICE/Gym-FightingICE.git
| ├── setup.py
| └── test.py <- 実行用.pyファイルやJupyterNotebook
├── bat
├── data
├── lib
├── log
├── python
├── AIToolKit.jar
├── FightingICE.jar
└── ftg.sh
テスト稼働
サンプルコードでテスト
cd FTG4.50
python Gym-FightingICE/main.py
別のサンプルコード
cd FTG4.50
python Gym-FightingICE/gymexe.py
まとめ
強化学習においてはOpenAI Gymが有名ですが、流石に見栄えとして劣りますし既にいい結果が出されています。現実的な課題を対象に各OSでPythonで扱えるこのプラットフォームはまだまだ楽しめますし、似たような形でプラットフォームが増えることを楽しみにしています。