Изменение формы тензора с адаптивной формой приводит к неожиданной результирующей форме - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь изменить тензор с формой (?, 32, 32, 64).Результирующий тензор должен быть что-то вроде (? * 32 * 32, 64).Tensorflow дает мне что-то вроде (?,?), Что является неожиданным с моей точки зрения, поскольку размер последней оси хорошо определен.

def function(x):
    shape = tf.shape(x)
    x = tf.reshape(x, (shape[0] * shape[1] * shape[2], shape[3]))

Изменение формы (?, 32, 32, 64) приводит к(?,?)

Есть ли способ, как справиться с этой проблемой?Большое спасибо!

1 Ответ

0 голосов
/ 04 июня 2019

Я считаю, что это потому, что вы возвращаете динамическую фигуру с помощью tf.shape (x). Если вы используете x.get_shape (), это должно вернуть статическую форму. Однако вам нужно будет указать или определить размер пакета, чтобы выполнить операцию изменения формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...