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