https://gymnasium.farama.org/environments/classic_control/mountain_car/

起動できるゲームのリスト  https://gist.github.com/jamad/03e13abf5e1ab122ba578020957bfdcf
てゆーか、gym は Gymnasium に移行しているんだよな。また、そちらをやり直した方が将来的には近道なのかもしれない。 例えば Pooyan-v0を試そうとして https://stackoverflow.com/q/63080326 に遭遇した。
https://qiita.com/ishizakiiii/items/5eff79b59bce74fdca0d#q-learning は図になっているので理解の助けになりそう image
20240522ymd pip install gymnasiumを実行した image
InvertedDoublePendulum-v4を試した時、mujoco のインストールは pip install gymnasium[mujoco]を指示通りに実行したが、まだエラーに遭遇した。

最終的にpip install mujoco==2.3.7 で解決したぞ
image
自動でなく手動でゲームをプレイするにはpython C:\Users\jamad\.pyenv\pyenv-win\versions\3.10.9\Lib\site-packages\gymnasium\envs\box2d\car_racing.pyをすれば良かった image
image
gymnasium の場合は MountainCar-v0 のドキュメントはhttps://gymnasium.farama.org/environments/classic_control/mountain_carだった image

まとめ 2nd version

  • 1stの流れからして、動くようになった最短の手順はおそらく下記のようになるだろう (Windows11, Python 3.10.9, cmdにてコマンドを実行)
  • https://spinningup.openai.com/en/latest/user/installation.html#installing-spinning-up の手順をERROR: No matching distribution found for tensorflow<2.0,>=1.8.0に遭遇するまで進める
  • setup.py を変更 して 再び pip install -e . を実行

まとめ 1st version

  • 結局、一番参考になった情報は https://stackoverflow.com/a/46739299
    • メインマシンでも試した
    • pip install -f https://github.com/Kojoley/atari-py/releases atari_py してから
    • pip install git+https://github.com/Kojoley/atari-py.git したが、これだけだと gym.error.NameNotFound: Environment SpaceInvaders doesn't exist.
    • pip install gym[atari] をしたが、今度はgym.error.Error: We're Unable to find the game "SpaceInvaders". Note: Gym no longer distributes ROMs
    • なので、もう一度 https://spinningup.openai.com/en/latest/user/installation.html#installing-spinning-up の手順を行い ERROR: No matching distribution found for tensorflow<2.0,>=1.8.0までを確認した
    • そして setup.py の中を 'tensorflow', 'torch',のようにバージョンを削ったものにしてから、再び pip install -e . を実行 error: command 'swig.exe' failed: None に遭遇
    • pip install swig を実行してから再び pip install -e . を実行 Failed to build matplotlib に遭遇
    • setup.py の中を 'matplotlib',のようにバージョンを削ったものにしてから、再び pip install -e . を実行
    • この段階で、やっとpip install -e .のコマンドでエラーが出なくった image
    • そして W:\openai_gym>python MountainCar-v0.py のようにして ゲームの起動コードが作動するようになった image
  • https://github.com/Kojoley/atari-py
  • invader 等が起動するようになった今、やっと
    • https://github.com/openai/gym/wiki/Pendulum-v1とか
    • https://qiita.com/ishizakiiii/items/75bc2176a1e0b65bdd16とか
    • https://qiita.com/nsd24/items/7758410128872d684e05とか
    • https://uu64.hatenablog.jp/entry/2018/05/13/233959 に注目できるようになった
  • https://www.youtube.com/watch?v=gMgj4pSHLww の動画も参考になるかもしれない (https://gymnasium.farama.org/content/basic_usage/ という派生も今日知った)
  • https://github.com/pybox2d/pybox2d も個別に興味がわいた

次の日 再びチャレンジ

  • “D:\self_development_spinningup\spinningup\setup.py” の中でバージョンを削ってみた
  • image
  • pip install -e .を実行したら error: command 'swig.exe' failed: None に遭遇したので、pip install swig してみた
  • pip install -e .を実行したら ` ERROR: Failed building wheel for matplotlib に遭遇したので ==3.1.1` を削った (”D:\self_development_spinningup\spinningup\setup.py”)
  • 結局 image
  • 先に進めたので python -m spinup.run ppo --hid "[32,32]" --env LunarLander-v2 --exp_name installtest --gamma 0.999 を実行してみた。
  • 暫く経過して エラーが発生 ImportError: DLL load failed while importing MPI: The specified module could not be found. なので pip install mpi4pyを実行したが Requirement already satisfied: mpi4py
  • https://stackoverflow.com/a/54907810 を見つけたので https://www.microsoft.com/en-us/download/details.aspx?id=105289 からmsmpisdk.msi をダウンロードした
  • pip uninstall mpi4py してからmsmpisdk.msi を実行したが 今度は ModuleNotFoundError: No module named 'mpi4py' 認識されていないようだ。
  • https://stackoverflow.com/a/57781714 を見つけたので 色々試すが、解決方法は不明だった。
  • pip install -e . をもう一度実行した。 そしてpython -m spinup.run ppo --hid "[32,32]" --env LunarLander-v2 --exp_name installtest --gamma 0.999 を実行。 解決せず。
  • だめだ、一旦中止する。
  • ちょい待て https://stackoverflow.com/a/46739299 を見つけたので pip install git+https://github.com/Kojoley/atari-py.git を実行してみた
  • そして image
  • おお、起動できたぞ! image
  • env = gym.make(‘CartPole-v0’) に変更すると別のゲームになった

以下は古い情報 (紛らわしくなる前に削除しよう)

  • もう一度やってみる
  • image
  • やっぱり同じエラーだ
ERROR: Could not find a version that satisfies the requirement tensorflow<2.0,>=1.8.0 (from spinup) (from versions: 2.8.0rc1, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.9.0rc0, 2.9.0rc1, 2.9.0rc2, 2.9.0, 2.9.1, 2.9.2, 2.9.3, 2.10.0rc0, 2.10.0rc1, 2.10.0rc2, 2.10.0rc3, 2.10.0, 2.10.1, 2.11.0rc0, 2.11.0rc1, 2.11.0rc2, 2.11.0, 2.11.1, 2.12.0rc0, 2.12.0rc1, 2.12.0, 2.12.1, 2.13.0rc0, 2.13.0rc1, 2.13.0rc2, 2.13.0, 2.13.1, 2.14.0rc0, 2.14.0rc1, 2.14.0, 2.14.1, 2.15.0rc0, 2.15.0rc1, 2.15.0, 2.15.1, 2.16.0rc0, 2.16.1)
ERROR: No matching distribution found for tensorflow<2.0,>=1.8.0

* 今回試したのは Python 3.10.9 をキープするのを優先した作業

  • pip install --upgrade spinup
  • pip install tensorflow
  • pip install spinup
  • pip install -e .

まとめ

  • openai_gym と、その教材に該当するspinningup.openai.com を知る。
  • だが windows は公式にサポートされていないので、WSL でLinux環境を作ることに。
  • WSL をインストールしたが bash が使えない。下記のようなエラーでストップ中
C:\Windows\System32>wsl --install
Ubuntu is already installed.
Launching Ubuntu...
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/enablevirtualization
Press any key to continue...

参考にする資料

  • https://qiita.com/ishizakiiii/items/75bc2176a1e0b65bdd16
  • https://qiita.com/shu223/items/a9cfe9107447b327b564
  • https://qiita.com/goodboy_max/items/f11bc4bd71e0e2e1cd37
  • https://qiita.com/God_KonaBanana/items/c2cee09bc35cca722f2b
  • https://qiita.com/nsd24/items/7758410128872d684e05

  • https://spinningup.openai.com/en/latest/index.html という学習サイトを知ったぞ。

まず行ったのはpip

|image| |-|

|image| |-|

  • てゆーか、先にすべきはこっちだったかも?

|image| |-|

|image| |-|

|image| |-|

  • cartpole.py を見つけた。なぜなら https://github.com/openai/gym/blob/master/gym/envs/classic_control/cartpole.py がパスだから

|image| |-|

  • でも cartpole.py を実行したが、何も起こらない。エラーすら発生しない。何故だろう?

|image| |-|

  • デバッグメッセージを追加してみたが、どうやら2回起動している。そしてどちらも最終的にはCloseしているぞ?

|image| |-|

  • pip3 install gym[all]してみることに

  • spinningup というサイトを知ったので、最初から、別のディレクトリを作成して試してみることに。

|image| |-|

  • そして ERROR: No matching distribution found for tensorflow<2.0,>=1.8.0 に遭遇

|image| |-|

  • D:\self_development_spinningup\spinningup>pip install tensorflow . を試したら

image


だめだ、公式のドキュメントに従おう

  • そして https://github.com/openai/spinningup/issues/23 を見つけた。Windowsで実行するには重要そうだぞ!
  • まず admin で wsl --install image

  • 再起動が必要なのかよ! |image| |-|

  • 再起動した後に開けるよう リンクをメモ
  • https://spinningup.openai.com/en/latest/user/installation.html#installing-spinning-up
  • https://github.com/openai/spinningup/issues/23
  • https://qiita.com/coffee_g9/items/b5789a7e3b555122f079

  • 再起動してもエラーで進めない。

chatgpt に聞いたが 既に、オンになっている image

image

後で試すことに。

でも、とにかくタスクマネージャーで確認したら、仮想化がオンになってないやんけ! image

BIOSの設定変更で、目的を達成できた。


別の方法を模索。gpt に聞いた時のメモ通りにやってみる   まずは、PRIME B450M-A のマシンにて cmdで直接pip install gym

image

image