ValueError:形状必须等于等级,但必须为1和2

时间:2019-03-08 11:54:57

标签: python tensorflow tensor

我希望有人能够对此提供帮助。我有以下占位符:

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上找到的代码示例拼凑在一起,尝试并满足我的需要。

如果有人能够提供帮助,我将非常感谢

0 个答案:

没有答案
相关问题