Keras Layer输出和输入之间的区别

时间:2019-06-06 00:30:58

标签: python tensorflow keras deep-learning

我正在学习转学,请注意,两者之间没有区别

letterModel = Model(inputs=trained.get_layer('input').output, outputs = output)

letterModel = Model(inputs=trained.input, outputs=output)

是真的吗?我不明白如何将Input层的输出用作新模型的输入。

1 个答案:

答案 0 :(得分:1)

您的假设似乎是正确的。 trained.get_layer('input').outputtrained.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)中。

3)我们可以通过Boolean表达式对此进行检查。

>>> model.input[0] == model.layers[0].output
True