gpt4 book ai didi

python - SuperMarioBros-Nes 与 OpenAI 基线,如何?

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:26 27 4
gpt4 key购买 nike

我正在尝试在 OpenAI 基线中运行 SuperMarioBros 环境。通常这些复古环境与健身房图书馆支持的原生attari 2600不同。

为了使其与基线一起运行,需要安装 retro 附带的第三方库。使用从此链接获取帮助的代码 ( https://www.videogames.ai/2019/01/29/Setup-OpenAI-baselines-retro.html )

python -m retro.import .
python -m baselines.run --alg=a2c --env=SuperMarioBros-Nes --gamestate=Level3-1.state --network=cnn --num_env=2 --num_timesteps=1e3

但不幸的是,即使在此之后,它也无法运行并给出 rom not found 的错误。

虽然安装外部retro后应该没问题,但它需要直接从游戏模拟器获取原始rom文件。有没有什么办法可以找到转机呢?或者我在这里遗漏了什么

    Process SpawnProcess-2: Traceback (most recent call last): 
File "/usr/local/lib/python3.6/dist-packages/retro/__init__.py", line 49, in make retro.data.get_romfile_path(game, inttype)
File "/usr/local/lib/python3.6/dist-packages/retro/data/__init__.py", line 288, in get_romfile_path
raise FileNotFoundError("No romfiles found for game: %s" % game) FileNotFoundError:
No romfiles found for game: SuperMarioBros-Nes

最佳答案

我做了一个修改,并能够以复古方式运行马里奥(在 Windows 本身中)。以下是该技巧的逐步说明:

  1. 安装retro并安装 https://pypi.org/project/gym-super-mario-bros/在我之前给出的回答
  2. 从以下位置复制 .nes 文件lib/python3.7/site-packages/gym_super_mario_bros/_roms (这是其中gym-super-mario-bros安装在站点包中) -> 到Lib\site-packages\retro\data\stable\SuperMarioBros-Nes(这是其中 Retro 安装在站点包中)。
  3. 重命名 super 马里奥兄弟.nes 至 rom.nes
  4. 你已经完成了。您可以使用以下代码启动马里奥:
import retro
def main():
env = retro.make(game='SuperMarioBros-Nes')
obs = env.reset()
while True:
obs, rew, done, info = env.step(env.action_space.sample())
env.render()
if done:
obs = env.reset()
env.close()

if __name__ == "__main__":
main()

额外提示:如果您想在此之后手动玩马里奥,请运行以下命令。 (Z 代表跳跃,x 代表射击):python -m Retro.examples.interactive --game SuperMarioBros-Nes [享受]

关于python - SuperMarioBros-Nes 与 OpenAI 基线,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55309518/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com