В чем разница между _keras_shape и _shape для тензора в тензорном потоке? - PullRequest
0 голосов
/ 29 июня 2019

В тензорном потоке я обнаружил, что тензор имеет две переменные: _shape и _keras_shape.На следующем рисунке приведен пример:

enter image description here

K.int_shape() вернет _keras_shape.

В чем разница между _shape и _keras_shape?

Ответы [ 2 ]

0 голосов
/ 08 июля 2019

Слой keras будет вычислять форму тензора, но поток тензора не будет. Таким образом, _keras_shape была формой, рассчитанной по самопределяемому слою.

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

Разница уже упомянута на картинке выше.Смотрите тип вывода.Один - tuple, а другой - типа TensorShape.Например:

import tensorflow as tf
a = tf.placeholder(tf.float32, [None, 128])
a.shape
# output: TensorShape([Dimension(None), Dimension(128)])

from keras import backend as K
print(K.int_shape(a))
# output: (None, 128)

tf.keras.backend.int_shape возвращает форму тензора или переменной в виде tuple из int или None записей, в то время как _shape имеет тип TensorShape.

Подробнее о tf.keras.backend.int_shape от здесь и TensorShape от здесь .

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