Keras:layers.Input和layers.InputLayer之间有什么区别?

时间:2017-06-12 12:40:50

标签: tensorflow deep-learning keras keras-layer

我应该何时使用Input,何时应该使用InputLayer?在source code中有描述,但我不确定它的含义。

InputLayer:

  

要用作图表入口点的图层。       它可以包装现有的张量(传递input_tensor参数)       或创建一个占位符张量(传递参数input_shape       或batch_input_shape以及dtype)。

输入:

  

Input()用于实例化Keras张量。       Keras张量是来自底层后端的张量对象       (Theano或TensorFlow),我们肯定会增加       允许我们构建Keras模型的属性       只需了解模型的输入和输出即可。

2 个答案:

答案 0 :(得分:3)

我认为InputLayer已与Graph模型一起弃用。我建议您使用Input,因为Keras文档中的所有示例都显示。

答案 1 :(得分:0)

InputLayer是可调用的,就像其他keras图层一样,而Input是不可调用的,它只是一个Tensor对象。

当您需要将InputLayer像图层一样连接到以下图层时,可以使用它:

inp = keras.layers.InputLayer(input_shape=(32,))(prev_layer)

以下是Input层的用法:

x = Input(shape=(32,))
y = Dense(16, activation='softmax')(x)
model = Model(x, y)