Ваше предположение кажется верным.trained.get_layer('input').output
и trained.input
равны Тензорам.Для проверки я загрузил объект Keras Model
:
>>> import tensorflow as tf
>>> model = tf.keras.models.load_model('model.h5')
1) Получение первого Input
слоя из модели и печать его выходного тензора.
Примечание:Вы использовали model.get_layer( 'input' )
, чтобы получить входной слой для модели.Я использовал model.layers[0]
для той же цели.
>>> model.layers[0].output
<tf.Tensor 'input_1:0' shape=(?, 49152) dtype=float32>
2) Аналогичным образом, печатая входной тензор model
.
>>> model.input
[<tf.Tensor 'input_1:0' shape=(?, 49152) dtype=float32>, <tf.Tensor 'input_2:0' shape=(?, 49152) dtype=float32>]
Печатная модельсписок из двух тензоров, так как модель имеет два слоя Input
.Как вы можете видеть, 1-й Тензор равен Тензору, указанному в (1).
3) Мы можем проверить это с помощью выражения Boolean
.
>>> model.input[0] == model.layers[0].output
True