2016-02-25 5 views
2

У меня есть тензор в [None, 100, 5, 50] от tf.gather(W,X), и я хочу, чтобы изменить его [None, 100, 250]) но с использованием tf.reshape (even with tf.pack) показывает мне ошибку Dimension(None) из-динамического аспекта графика. есть ли способ сначала изменить внутренность tensor [100,5,50], насколько размеры известны на графике, а затем используя set_shape с [None, 100, 250]?Reshape или tf.gather(), tensorflow

ответ

1

tf.reshape() op не понимает частичные формы (то есть те, у которых None для одного или нескольких измерений), поскольку они могут быть неоднозначными: например, может быть много возможных конкретных форм для частичной формы [None, None, 50].

Однако tf.reshape() также позволяет указать один размерностей в качестве шаблона, которые будут выбраны автоматически, так что вы можете использовать это в вашем случае. Чтобы указать шаблон, используйте -1 в качестве одного из следующих размеров:

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

reshaped = tf.reshape(input, [-1, 100, 250]) 
Смежные вопросы