Open24
Gym Retro 使ってみる
概要
以下目的達成のために、試しにGymRetro使ってみる。
公式
セットアップ
pipインストールしようとしたらエラーになったので、
Anacondaで専用環境作る
conda create -n GymRetroEnv python=3.8
うまく行った。
まずは、環境切り替え
conda activate GymRetroEnv
の後に、GymRetro インストール
pip install gym-retro
romファイルがあるパスを指定して、retroGymにインポート。
多分nesのファイル名を合わせる必要がある。
python -m retro.import 'D:\xxx'
以下を実行したらエラー。
gymの0.26から hash_seed
関数が削除されたっぽい。
env = retro.make(game='SuperMarioBros-Nes')
以下を参考に 0.25 に落として解決。
gym 0.21.0 に下げないとだめかも。
ただ下げようとするとエラー。
今度は setuptoolのバージョンが問題っぽい。
以下を参考に 65.4.1 に戻してみる。
だめ。
そもそも記法の問題?
上のリンクを参考に、以下コマンド入れたら、
pip install --upgrade pip wheel==0.38.4 setuptools==65.5.1
下が通った!
pip install gym==0.21.0
動いた!
しばらくするとエラーが出るので、正しい状況確認できたら、
セットアップ手続きを記事化する。
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>
CUDA
nvidia-smi
でGPU情報表示
以下コマンドで 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
ライブラリまわりでエラー出たので、次のpipもやった
pip install chardet
pip install requests
pip install charset_normalizer