Input()
用于实例化 Keras 张量。
用法
tf.keras.Input(
shape=None, batch_size=None, name=None, dtype=None, sparse=None, tensor=None,
ragged=None, type_spec=None, **kwargs
)
参数
-
shape
一个形状元组(整数),不包括批量大小。例如,shape=(32,)
表示预期输入将是 32 维向量的批次。这个元组的元素可以是 None; 'None' 元素表示形状未知的维度。 -
batch_size
可选的静态批量大小(整数)。 -
name
图层的可选名称字符串。在模型中应该是唯一的(不要重复使用相同的名称两次)。如果未提供,它将自动生成。 -
dtype
输入期望的数据类型,作为字符串 (float32
,float64
,int32
...) -
sparse
一个布尔值,指定要创建的占位符是否是稀疏的。 'ragged' 和 'sparse' 中只有一个可以为 True。请注意,如果sparse
为 False,稀疏张量仍然可以传递到输入中 - 它们将使用默认值 0 进行致密化。 -
tensor
可选的现有张量包装到Input
层。如果设置,图层将使用此张量的tf.TypeSpec
,而不是创建新的占位符张量。 -
ragged
一个布尔值,指定要创建的占位符是否不规则。 'ragged' 和 'sparse' 中只有一个可以为 True。在这种情况下,'shape' 参数中的'None' 值表示参差不齐的尺寸。有关 RaggedTensors 的更多信息,请参阅本指南. -
type_spec
用于创建输入占位符的tf.TypeSpec
对象。提供时,除名称之外的所有其他参数都必须为无。 -
**kwargs
不推荐使用的参数支持。支持batch_shape
和batch_input_shape
。
返回
-
一个
tensor
。
抛出
-
ValueError
如果同时提供了sparse
和ragged
。 -
ValueError
如果同时提供了shape
和(batch_input_shape
或batch_shape
)。 -
ValueError
如果shape
,tensor
和type_spec
为无。 -
ValueError
如果type_spec
之外的参数在传递type_spec
时为非无。 -
ValueError
如果提供了任何无法识别的参数。
Keras 张量是一个符号tensor-like 对象,我们通过某些属性对其进行扩充,这些属性允许我们仅通过了解模型的输入和输出来构建 Keras 模型。
例如,如果 a
, b
和 c
是 Keras 张量,则可以这样做:model = Model(input=[a, b], output=c)
例子:
# this is a logistic regression in Keras
x = Input(shape=(32,))
y = Dense(16, activation='softmax')(x)
model = Model(x, y)
请注意,即使启用了即刻执行,Input
也会生成一个符号 tensor-like 对象(即占位符)。这个符号 tensor-like 对象可以与将张量作为输入的 lower-level TensorFlow 操作一起使用,如下所示:
x = Input(shape=(32,))
y = tf.square(x) # This op will be treated like a layer
model = Model(x, y)
(此行为不适用于高阶 TensorFlow API,例如控制流并由 tf.GradientTape
直接监视)。
但是,生成的模型不会跟踪用作 TensorFlow 操作输入的任何变量。所有变量的使用都必须发生在 Keras 层中,以确保它们将被模型的权重跟踪。
Keras 输入还可以从任意 tf.TypeSpec
创建占位符,例如:
x = Input(type_spec=tf.RaggedTensorSpec(shape=[None, None],
dtype=tf.float32, ragged_rank=1))
y = x.values
model = Model(x, y)
传递任意 tf.TypeSpec
时,它必须代表整个批次的签名,而不仅仅是一个示例。
相关用法
- Python tf.keras.applications.inception_resnet_v2.preprocess_input用法及代码示例
- Python tf.keras.metrics.Mean.merge_state用法及代码示例
- Python tf.keras.layers.InputLayer用法及代码示例
- Python tf.keras.callbacks.ReduceLROnPlateau用法及代码示例
- Python tf.keras.layers.serialize用法及代码示例
- Python tf.keras.metrics.Hinge用法及代码示例
- Python tf.keras.experimental.WideDeepModel.compute_loss用法及代码示例
- Python tf.keras.metrics.SparseCategoricalAccuracy.merge_state用法及代码示例
- Python tf.keras.metrics.RootMeanSquaredError用法及代码示例
- Python tf.keras.applications.resnet50.preprocess_input用法及代码示例
- Python tf.keras.metrics.SparseCategoricalCrossentropy.merge_state用法及代码示例
- Python tf.keras.metrics.sparse_categorical_accuracy用法及代码示例
- Python tf.keras.layers.Dropout用法及代码示例
- Python tf.keras.activations.softplus用法及代码示例
- Python tf.keras.utils.custom_object_scope用法及代码示例
- Python tf.keras.optimizers.Optimizer.set_weights用法及代码示例
- Python tf.keras.Model.compute_loss用法及代码示例
- Python tf.keras.metrics.FalseNegatives用法及代码示例
- Python tf.keras.layers.maximum用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.Input。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。