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

1 函数参数解析

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

Returns:
  A tensor.

参数:

  • shape: 函数的输入形状,数据的形式为元组(元组参数要为int型),不包含batch大小的那个维度。如果你有某个维度的信息不知道,则可以表示为None

  • batch_size: 一个可选的参数(整数类型),用来声明你网络训练batch的大小

  • name: 给你的这层网络创建一个名字,名字应该在你的所有网络层中是不重复的,默认参数为None,系统会自动取名字。

  • dtype: 你输入的具体的数据的类型。有很多可选的参数,一般情况下我们选择 tf.float32 的类型,因为在精度满足的情况下,float32运算更快。

  • sparse: 指定要创建的占位符是否为稀疏的布尔值。 “参差的”和“稀疏的”中只有一个是真的。 请注意,如果sparse为False,稀疏张量仍然可以被传递到输入中——它们将被致密化为默认值0。

  • tensor: 一个可选的参数,将现有张量包装到输入层。如果设置了,图层将对这个张量使用 tf.TypeSpec。 而不是创建一个新的占位符张量。
    ragged: 一个布尔值,指定要创建的占位符是否不规则。 “参差的”和“稀疏的”中只有一个是真的。 在本例中,“shape”参数中的“None”值表示不规则的尺寸。
    type_spec: 用来创建输入占位符的TypeSpec对象。 当提供时,除了name之外的所有其他参数都必须为None。

  • **kwargs: 弃用参数支持。 支持batch_shape和batch_input_shape。也就是通过这个参数,之前的参数也能使用关键字使用。

Returns: .一个tensor张量

为什么需要Input层

该层是用于构建网络的第一层——输入层,会告诉网络我们的输入的尺寸是什么。且只能用在第一层。那为什么要有这个input层 ?

首先, 我们的第一层也就是输入层也是网络的一部分,也是需要各种参数的。如name、shape等等,把其当作网络的一层,就很好理解为什么了,因为我们自己建立的网络没有对输入端口进行一些初始化。

其次,直接建立的普通的tensor张量,没有外加的一些属性,如 1)._keras_shape: 整型的形状元组通过keras-side 形状推理传播 2)._keras_history: 最后一层应用于张量,整个图层的图可以从那个层,递归地检索出来。这些外加的属性,使我们知道模型的输入和输出以更方便地构建keras模型。

如何使用

from tensorflow.keras.layers import Input,Dense
from tensorflow.keras.models import Model

x = Input(shape=(32,)) # 表明输入的形状是 [None, 32]
y = Dense(16, activation='softmax')(x)

model = Model(x, y)

参考资料

  • https://blog.csdn.net/To_be_little/article/details/123710537
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值