Keras 3 API 文档 / 层 API / 核心层 / 输入对象

输入对象

[源代码]

Input 函数

keras.Input(
    shape=None,
    batch_size=None,
    dtype=None,
    sparse=None,
    ragged=None,
    batch_shape=None,
    name=None,
    tensor=None,
    optional=False,
)

用于实例化一个 Keras 张量。

Keras 张量是一个符号张量类对象,我们为其增强了一些属性,使我们仅通过知道模型的输入和输出即可构建 Keras 模型。

例如,如果 abc 是 Keras 张量,则可以执行以下操作:model = Model(input=[a, b], output=c)

参数

  • shape:一个形状元组(整数或 None 对象的元组),不包括 batch size。例如,shape=(32,) 表示预期的输入将是 32 维向量的批次。此元组的元素可以是 NoneNone 元素表示形状未知且可能变化的维度(例如序列长度)。
  • batch_size:可选的静态 batch size(整数)。
  • dtype:输入预期的数据类型,以字符串形式表示(例如 "float32""int32"...)
  • sparse:一个布尔值,指定预期的输入是否为稀疏张量。请注意,如果 sparseFalse,稀疏张量仍然可以传递到输入中 - 它们将被稠密化,默认值为 0。此功能仅在 TensorFlow 和 JAX 后端中受支持。默认为 False
  • ragged:一个布尔值,指定预期的输入是否为 Ragged 张量。请注意,如果 raggedFalse,Ragged 张量仍然可以传递到输入中 - 它们将被稠密化,默认值为 0。此功能仅在 TensorFlow 后端中受支持。默认为 False
  • batch_shape:可选的形状元组(整数或 None 对象的元组),包括 batch size。
  • name:层的可选名称字符串。在模型中应该是唯一的(不要重复使用相同的名称两次)。如果未提供,则将自动生成。
  • tensor:可选的现有张量,用于包装到 Input 层中。如果设置,则该层将使用此张量,而不是创建新的占位符张量。
  • optional:布尔值,指示输入是否为可选。可选输入可以接受 None 值。

返回值

一个 Keras 张量。

示例

# This is a logistic regression in Keras
x = Input(shape=(32,))
y = Dense(16, activation='softmax')(x)
model = Model(x, y)