#1153·baselines

我如何在 tf2 分支中使用带有代码的 A2C?

作者: oximi123创建于 2020年12月17日更新于 2024年12月4日

我正在尝试使用调试来了解 tf2 分支中的 A2C 方法的过程,因此我在 a2c.py 中添加了以下代码: if __name__ == '__main__': import gym learn('mlp',gym.vector.make('PongNoFrameskip-v4',4)) 当我在 Pycharm 中运行时,我收到了以下异常: image 或您可以看到如下描述: Traceback (most recent call last): File "G:/Deep RL/baselines-tf2/baselines/a2c/a2c.py", line 205, in learn('mlp',gym.vector.make('PongNoFrameskip-v4',4)) File "G:/Deep RL/baselines-tf2/baselines/a2c/a2c.py", line 156, in learn max_grad_norm=max_grad_norm, lr=lr, alpha=alpha, epsilon=epsilon, total_timesteps=total_timesteps) File "G:/Deep RL/baselines-tf2/baselines/a2c/a2c.py", line 35, in init self.train_model = PolicyWithValue(ac_space, policy_network, value_network=None, estimate_q=False) File "G:\Deep RL\baselines-tf2\baselines\common\policies.py", line 33, in init self.pdtype = make_pdtype(policy_network.output_shape, ac_space, init_scale=0.01) File "G:\Deep RL\baselines-tf2\baselines\common\distributions.py", line 180, in make_pdtype raise ValueError('No implementation for {}'.format(ac_space)) ValueError: No implementation for Tuple(Discrete(6), Discrete(6), Discrete(6), Discrete(6)) 事实上,我并不明白为什么这个算法采用了分布式实现,当我尝试其他游戏时,我也会收到同样的异常。 有人能解释一下这种分布式实现的目的是什么以及我如何解决这个问题吗?

内容来源: openai/baselines