我希望有人能够对此提供帮助。我有以下占位符:
self.actions = tf.placeholder(tf.int32, [None, ], 'action')
然后我分配a_indices(在代码中的其他地方使用):
a_indices = tf.stack([tf.range(tf.shape(self.actions)[0], dtype=tf.int32), self.actions], axis=1)
但是,当我尝试更新模型时,未在占位符中指定第二张量维会导致问题:
ValueError:无法为Tensor'action:0'输入形状(64,2)的值, 形状为'(?,)'
因此,我更改了占位符以提供操作维度:
self.actions = tf.placeholder(tf.int32, [None, 2], 'action')
但是随后a_indices行抛出一个错误:
ValueError:形状必须等于等级,但必须为1和2 将形状0与其他形状合并。对于输入形状为[?],[?, 2]的“损耗/演员损耗/堆叠”(操作:“包装”)。
我想我需要对a_indices的赋值进行一些重塑,但是说实话,我不确定那行代码在做什么(我只是将我在github上找到的代码示例拼凑在一起,尝试并满足我的需要。
如果有人能够提供帮助,我将非常感谢