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

在 Windows 上的 python 中使用健身房 atari版本 0.9.5

如何解决在 Windows 上的 python 中使用健身房 atari版本 0.9.5

我正在尝试在 0.9.5 版本上安装gym atari 包(我特别需要这个版本),但是当我运行代码时(如果正确下载了gym 应该可以顺利运行),我收到以下错误:

AttributeError: 'AtariEnv' object has no attribute 'viewer'

当我尝试运行 gym.make() 时出现问题。

有人知道如何解决这个问题吗?


我在 python 3.9 上发生了同样的行为,但由于某种原因在 python 3.8 上没有发生(那里有一个不同的错误)。也许我缺少一些渲染库?


完整的错误信息是:

[2021-05-22 02:17:05,405] Making new env: PongNoFrameskip-v4
C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\envs\registration.py:17: PkgResourcesDeprecationWarning: Parameters to load are deprecated.  Call .resolve and .require separately.
  result = entry_point.load(False)
Traceback (most recent call last):
  File "C:/Users/1/PycharmProjects/University Homework/Reinforcement Learning/dqn/main.py",line 61,in <module>
    env = get_env(task,seed)
  File "C:\Users\1\PycharmProjects\University Homework\Reinforcement Learning\dqn\utils\gym.py",line 13,in get_env
    env = gym.make(env_id)
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\envs\registration.py",line 164,in make
    return registry.make(id)
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\envs\registration.py",line 122,in make
    env = spec.make()
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\envs\registration.py",line 89,in make
    env = cls(**self._kwargs)
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\envs\atari\atari_env.py",line 32,in __init__
    self.game_path = atari_py.get_game_path(game)
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\atari_py\games.py",line 20,in get_game_path
    raise Exception('ROM is missing for %s,see https://github.com/openai/atari-py#roms for instructions' % (game_name,))
Exception: ROM is missing for pong,see https://github.com/openai/atari-py#roms for instructions
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\utils\closer.py",line 67,in close
    closeable.close()
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\core.py",in close
    self.render(close=True)
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\core.py",line 150,in render
    return self._render(mode=mode,close=close)
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\envs\atari\atari_env.py",line 109,in _render
    if self.viewer is not None:
AttributeError: 'AtariEnv' object has no attribute 'viewer'
Exception ignored in: <function Env.__del__ at 0x00000203EE2174C8>
Traceback (most recent call last):
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\core.py",line 203,in __del__
    self.close()
  File "C:\Users\1\PycharmProjects\University Homework\venv37\lib\site-packages\gym\core.py",in _render
    if self.viewer is not None:
AttributeError: 'AtariEnv' object has no attribute 'viewer'

还有相关代码

if __name__ == '__main__':
    # Get Atari games.
    benchmark = gym.benchmark_spec('Atari40M')
    
    # Change the index to select a different game.
    task = benchmark.tasks[3]
    
    # Run training
    seed = 0 # Use a seed of zero (you may want to randomize the seed!)
    env = get_env(task,seed)

get_env 是:

def get_env(task,seed):
    env_id = task.env_id

    env = gym.make(env_id)

    set_global_seeds(seed)
    env.seed(seed)

    expt_dir = 'tmp/gym-results'
    env = wrappers.Monitor(env,expt_dir,force=True)
    env = wrap_deepmind(env)

    return env

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