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

调整一个由 4 帧组成的健身房环境的状态atari 环境

如何解决调整一个由 4 帧组成的健身房环境的状态atari 环境

我正在开发基于 DQN 的自治代理。我正在使用健身房库来制作我想要测试的环境,但我一直在处理状态的帧。健身房环境返回的状态,使用FrameStack包装器,有如下观察空间:

env = gym.make('Bowling-v0')
env = gym.wrappers.FrameStack(env,4)
print(env.observation_space)

Box(0,255,(4,210,160,3),uint8)

我希望观察空间为 Box(0,88,80,1),uint8)。我能怎么做?我试过使用另一个这样的包装器:

env = gym.wrappers.ResizeObservation(env,1))
print(env.observation_space)

但是产生的观察空间是Box(0,1,uint8)。我做错了什么?

解决方法

固定!我只是做错了。

env = gym.make('Bowling-v0')
print(env.observation_space)

Box(0,255,(210,160,3),uint8)

必须首先应用调整大小,然后仅在调整大小之后应用堆叠!

env = gym.wrappers.ResizeObservation(env,(88,80))
print(env.observation_space)

Box(0,80,uint8)

所以现在我们可以继续使用 FrameStack 包装器进行堆叠

env = gym.wrappers.FrameStack(env,4)
print(env.observation_space)

Box(0,(4,88,uint8)

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