Tensorflow tf.reshape:无/-1,是一样的吗?

bei*_*ndo 3 reshape tensorflow

我只是有一个关于张量流重塑函数的简短问题。在张量流中,您可以使用 shape = (None, shape1, shape2, .. ) 初始化张量占位符的形状。现在我查看了重塑函数,他们使用 -1 进行新的重塑,

例如 new_tensor = tf.reshape(old_tensor, shape = (-1 , shape1, shape2, .. ) )

-1 等于 None 吗?如果不是,这两者有什么区别?

Uma*_*pta 5

不,它们并不等同。

当您使用None占位符时,这意味着尺寸将在运行时定义(通常是批量大小)。

-1在 reshape 中意味着 if (数据总大小为 s_0xs_1xs_2...) -1 将自动推断 s_0,我认为这与 numpy 的行为相同。您不能在重塑中使用 None 。