我在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]
?
答案 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])