微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

例外:ms_pacman 缺少 ROM,有关说明,请参阅 https://github.com/openai/atari-py#roms

如何解决例外:ms_pacman 缺少 ROM,有关说明,请参阅 https://github.com/openai/atari-py#roms

我对 OpenAi 健身房完全陌生,我刚刚安装了健身房,然后尝试为 env = gym.make('MsPacman-v0') 所以我收到以下错误

---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-21-e04adf623175> in <module>
----> 1 env = gym.make('MsPacman-v0')

~\Anaconda3\envs\env_project\lib\site-packages\gym\envs\registration.py in make(id,**kwargs)

~\Anaconda3\envs\env_project\lib\site-packages\gym\envs\registration.py in make(self,path,**kwargs)

~\Anaconda3\envs\env_project\lib\site-packages\gym\envs\atari\atari_env.py in __init__(self,game,mode,difficulty,obs_type,frameskip,repeat_action_probability,full_action_space)

~\Anaconda3\envs\env_project\lib\site-packages\atari_py\games.py in get_game_path(game_name)
 18     path = os.path.join(_games_dir,game_name) + ".bin"
 19     if not os.path.exists(path):
---> 20         raise Exception('ROM is missing for %s,see https://github.com/openai/atari-py#roms 
for instructions' % (game_name,))
 21     return path
 22 

Exception: ROM is missing for ms_pacman,see https://github.com/openai/atari-py#roms for instructions

此后我也尝试在网上找到解决方案并下载ROMs然后点击命令python -m atari_py.import_roms <path where ROMs downloaded>,运行此命令后我也收到以下错误

(env_project) C:\Users\ME>python -m atari_py.import_roms C:\Users\ME\Downloads\roms_folder\

copying adventure.bin from HC ROMS/BY ALPHABET (PAL)/A-G/Adventure (PAL).bin to 
C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\atari_roms\adventure.bin
Traceback (most recent call last):
File "C:\Users\ME\Anaconda3\envs\env_project\lib\runpy.py",line 193,in _run_module_as_main
"__main__",mod_spec)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\runpy.py",line 85,in _run_code
exec(code,run_globals)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py",line 93,in <module>
main()
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py",line 89,in main
import_roms(args.dirpath)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py",line 78,in import_roms
_check_zipfile(f,save_if_matches)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py",line 23,in _check_zipfile
process_f(innerf)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py",line 67,in save_if_matches
f.seek(0)
io.UnsupportedOperation: seek

我不知道我做错了什么。提前致谢。

解决方法

下载 ROMs 后,它将在 Downloads 文件夹中以 Roms.rar 的形式提供,它在 HC ROMS.zipROMS.zip 中包含 2 个 zip 文件,我必须解压 Roms.rar再次提取ROMS.zip。然后运行命令。

python -m atari_py.import_roms C:\Users\ME\Downloads\Roms\ROMS

,

此脚本应该可以解决问题

import urllib.request
urllib.request.urlretrieve('http://www.atarimania.com/roms/Roms.rar','Roms.rar')
!pip install unrar
!unrar x Roms.rar
!mkdir rars
!mv HC\ ROMS.zip   rars
!mv ROMS.zip  rars
!python -m atari_py.import_roms rars

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。