Open24

Gym Retro 使ってみる

beckybecky
beckybecky

pipインストールしようとしたらエラーになったので、

Anacondaで専用環境作る

conda create -n GymRetroEnv python=3.8
beckybecky

うまく行った。

まずは、環境切り替え

conda activate GymRetroEnv

の後に、GymRetro インストール

pip install gym-retro
beckybecky

romファイルがあるパスを指定して、retroGymにインポート。
多分nesのファイル名を合わせる必要がある。

python -m retro.import 'D:\xxx'
beckybecky

上のリンクを参考に、以下コマンド入れたら、

pip install --upgrade pip wheel==0.38.4 setuptools==65.5.1

下が通った!

pip install gym==0.21.0
beckybecky

GameOver時にエラー

GameOverになった時に以下のようなエラーが出る。

  File "C:\Users\Develop\.conda\envs\GymRetroEnv\lib\site-packages\gym\envs\classic_control\rendering.py", line 458, in __del__
    self.close()
  File "C:\Users\Develop\.conda\envs\GymRetroEnv\lib\site-packages\gym\envs\classic_control\rendering.py", line 454, in close
    self.window.close()
  File "C:\Users\Develop\.conda\envs\GymRetroEnv\lib\site-packages\pyglet\window\win32\__init__.py", line 299, in close
    super(Win32Window, self).close()
  File "C:\Users\Develop\.conda\envs\GymRetroEnv\lib\site-packages\pyglet\window\__init__.py", line 823, in close
    app.windows.remove(self)
  File "C:\Users\Develop\.conda\envs\GymRetroEnv\lib\_weakrefset.py", line 109, in remove
    self.data.remove(ref(item))
KeyError: <weakref at 0x0000020864A09A40; to 'Win32Window' at 0x0000020864606C70>
beckybecky

CUDA

beckybecky

以下コマンドで tourch のバージョン合わせて GPU 使えるようになった。
cuda は 12.4 だけど、当該バージョンなさそうだったので、 12.1 でやったらう一応動いてる。

conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=12.1 -c pytorch -c nvidia
beckybecky

ライブラリまわりでエラー出たので、次のpipもやった

pip install chardet
pip install requests
pip install charset_normalizer