重塑输出或tf.gather(),tensorflow

时间:2016-02-25 14:18:42

标签: reshape tensorflow

我在tf.gather(W,X)的{​​{1}}中有一个张量,我想将其重塑为[None, 100, 250]) 但由于图表的动态方面,使用tf.reshape (even with tf.pack)会显示Dimension(None)的错误。 有没有办法首先重塑tensor [100,5,50]的内部,只要图中已知尺寸,然后使用set_shape [None, 100, 250]

1 个答案:

答案 0 :(得分:1)

tf.reshape()操作不了解部分形状(即一个或多个维度为None的形状),因为它们可能不明确:例如:对于部分形状[None, None, 50],可能存在许多可能的具体形状。

但是,tf.reshape()还允许您将尺寸的一个指定为通配符,这将自动选择,因此您可以在您的情况下使用它。要指定通配符,请使用-1作为维度之一:

input = ...
print input.get_shape()  ==> [None, 100, 5, 50]

reshaped = tf.reshape(input, [-1, 100, 250])