gpt4 book ai didi

python - 如何更改A3C Tensorflow示例来玩Atari游戏?

转载 作者:行者123 更新时间:2023-12-01 08:18:26 24 4
gpt4 key购买 nike

我关注了Tensorflow tutorial为了在 cartpole 环境中表现出色,它实现了 A3C,并希望将其用作某些 Atari 游戏的游戏机器人的起点。但是,如果我只是将环境更改为 Frostbite-v0,那么当工作线程启动时,我会收到此错误:

Exception in thread Thread-4:
Traceback (most recent call last):
File "threading.py", line 917, in _bootstrap_inner
self.run()
File "a3c.py", line 286, in run
action = np.random.choice(self.action_size, p=probs.numpy()[0])
File "mtrand.pyx", line 1135, in mtrand.RandomState.choice
ValueError: object too deep for desired array

我在深度学习方面完全是菜鸟,但我想问题在于网络如何具有密集层来获取输入,在本例中,采用 this作为引用,具有不同形状的环境,这意味着不是 cartpole 示例中的 Box(4,) ,而是 Box(210, 160, 3)

如何更改示例,使其能够在这样的观察下正常工作?我必须添加/更改图层吗?一般来说,它可以在 Frostbite-v0 环境中正常运行吗?

编辑:另一件让我烦恼的事情是,ActorCriticModel 中的 state_size 参数已设置但从未使用过,至少从外部角度来看是这样。模型是否以任何方式使用它,或者它只是作为未使用的参数放在那里?

最佳答案

恐怕您将需要更改很多事情:首先,要处理图像输入,您需要添加卷积层。其次,传统上 Atari 游戏的图像会从 210x160x3 降采样到 64x64(微小的灰度图像)或类似的尺寸。因此,如果您是初学者,我认为最好查看其他一些教程。例如famous blog post from a famous guy Karpathy

关于python - 如何更改A3C Tensorflow示例来玩Atari游戏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54849443/

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