Python 当只传递网络的输入和输出时,keras函数API模型如何知道层
我不熟悉Keras,也不了解函数api模型结构 一,- 如前所述。Python 当只传递网络的输入和输出时,keras函数API模型如何知道层,python,tensorflow,keras,Python,Tensorflow,Keras,我不熟悉Keras,也不了解函数api模型结构 一,- 如前所述。keras.Model只接受输入和输出参数,层列在模型前面。有人能告诉我,当我们只传递输入和输出数组时,keras.Model如何知道层结构以及输入和输出之间的多层结构 二,- 还有,层的输出是什么。输出或层。输入。输出不是一个简单的张量吗?当我打印图层时,我看到下面的输出。使用其他图层的语法输出。看起来像layers.output和layers.input也包含层信息,像densed\u 5/Relu:0。有人能澄清以下输出的组
keras.Model
只接受输入和输出参数,层列在模型前面。有人能告诉我,当我们只传递输入和输出数组时,keras.Model
如何知道层结构以及输入和输出之间的多层结构
二,-
还有,层的输出是什么。输出
或层。输入
。输出不是一个简单的张量吗?当我打印图层时,我看到下面的输出。使用其他图层的语法输出。看起来像layers.output和layers.input也包含层信息,像densed\u 5/Relu:0
。有人能澄清以下输出的组成部分代表什么吗
print [layer.output for layer in model.layers]
输出:
[<tf.Tensor 'input_6:0' shape=(None, 3) dtype=float32>,
<tf.Tensor 'dense_5/Relu:0' shape=(None, 4) dtype=float32>,
<tf.Tensor 'dense_6/Softmax:0' shape=(None, 5) dtype=float32>]
[,,
,
]
inputs = keras.Input(shape=(784,)) # input layer
dense = layers.Dense(64, activation="relu") # describe a dense layer
x = dense(inputs) # set x as a result of dense layer with inputs
x = layers.Dense(64, activation="relu")(x) # "update" x with next layer which has previous dense layer as input
outputs = layers.Dense(10)(x) # set your output
model = keras.Model(inputs=inputs, outputs=outputs, name="mnist_model") # incorporate all layers in a model
所以基本上Keras已经知道模型内部是什么
为了回答您关于模型如何知道中间张量上调用的层的第一个问题,我认为看一下
help(keras.Input)
:
Input()
用于实例化Keras张量
Keras张量是一个类似于符号张量的对象,我们用它来扩充它
某些属性允许我们仅通过
了解模型的输入和输出
因此,基本上,Keras使用Python在引擎盖下做一些魔术
每次在Keras张量上调用Keras层时,它都会根据层的功能输出变换后的Keras张量,但也会将有关该层的一些信息添加到此Keras张量(作为对象的属性)