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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
