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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
