tf.keras.layers.Input()输入层解析

1. 参数列表

layers.Input(
    shape=None,
    batch_size=None,
    name=None,
    dtype=None,
    sparse=False,
    tensor=None,
    ragged=False,
    **kwargs,
)

2. 该层的用途

  • 用于构建网络的第一层——输入层,该层会告诉网络我们的输入的尺寸是什么,这一点很重要。例如使用Model(input=x,output=y)构建网络,这种构建方式很常见,用途很广,详细参考文章

3. 参数解析(4个常用的)

  • shape:输入的形状,tuple类型。不含batch_size;tuple的元素可以为None类型数据,表示未知的或者说任意的,一般这里不用None
  • batch_size:声明输入的batch_size大小,一般会在预测时候用,训练时不需要声明,会在fit时声明,即dataset类型数据声明了batch_size
  • name:给layers起个名字,在整个网络中不能出现重名。如果name=None,则系统会自动为该层创建名字。
  • dtype:数据类型,在大多数时候,我们需要的数据类型为tf.float32,因为在精度满足的情况下,float32运算更快。

4. 举个栗子

# this is a logistic regression in Keras
x = Input(shape=(32,)) # 网络的输入层
y = Dense(16, activation='softmax')(x) # 网络的输出层
model = Model(x, y)

5. 写在后面

  • 在构建神经网络中,一定要注意shape的大小,如果报错在shape上是一件很头疼的事情,所以在构建网络时,一定要把shape写好,多测试测试。

你可能感兴趣的:(tensorflow学习,深度学习)