克隆函數或順序Model
實例。
用法
tf.keras.models.clone_model(
model, input_tensors=None, clone_function=None
)
參數
-
model
Model
的實例(可以是函數模型或順序模型)。 -
input_tensors
用於構建模型的輸入張量或 InputLayer 對象的可選列表。如果未提供,將創建新的Input
對象。 -
clone_function
可調用以用於克隆目標模型中的每一層(InputLayer
實例除外)。它將要克隆的層實例作為參數,並返回要在模型副本中使用的相應層實例。如果未指定,則此可調用默認為以下序列化/反序列化函數:lambda layer:layer.__class__.from_config(layer.get_config())
。通過傳遞自定義可調用對象,您可以自定義模型副本,例如通過包裝某些感興趣的層(例如,您可能希望將所有LSTM
實例替換為等效的Bidirectional(LSTM(...))
實例)。
返回
-
Model
的一個實例,使用新實例化的權重在新輸入張量之上再現原始模型的行為。如果自定義clone_function
修改圖層,則克隆模型的行為可能與原始模型不同。
模型克隆類似於在新輸入上調用模型,不同之處在於它創建新層(並因此產生新權重)而不是共享現有層的權重。
請注意,clone_model
不會保留模型內共享對象的唯一性(例如,附加到兩個不同層的單個變量將恢複為兩個單獨的變量)。
例子:
# Create a test Sequential model.
model = keras.Sequential([
keras.Input(shape=(728,)),
keras.layers.Dense(32, activation='relu'),
keras.layers.Dense(1, activation='sigmoid'),
])
# Create a copy of the test model (with freshly initialized weights).
new_model = clone_model(model)
請注意,不能克隆子類模型,因為它們的內部層結構是未知的。要在子類模型的情況下實現與 clone_model
等效的函數,隻需確保模型類實現 get_config()
(以及可選的 from_config()
),然後調用:
new_model = model.__class__.from_config(model.get_config())
相關用法
- Python tf.keras.models.save_model用法及代碼示例
- Python tf.keras.models.model_from_json用法及代碼示例
- Python tf.keras.models.load_model用法及代碼示例
- Python tf.keras.models.model_from_config用法及代碼示例
- Python tf.keras.metrics.Mean.merge_state用法及代碼示例
- Python tf.keras.metrics.Hinge用法及代碼示例
- Python tf.keras.metrics.SparseCategoricalAccuracy.merge_state用法及代碼示例
- Python tf.keras.metrics.RootMeanSquaredError用法及代碼示例
- Python tf.keras.metrics.SparseCategoricalCrossentropy.merge_state用法及代碼示例
- Python tf.keras.metrics.sparse_categorical_accuracy用法及代碼示例
- Python tf.keras.metrics.FalseNegatives用法及代碼示例
- Python tf.keras.metrics.TrueNegatives用法及代碼示例
- Python tf.keras.metrics.RecallAtPrecision.merge_state用法及代碼示例
- Python tf.keras.metrics.SpecificityAtSensitivity用法及代碼示例
- Python tf.keras.metrics.Mean用法及代碼示例
- Python tf.keras.metrics.poisson用法及代碼示例
- Python tf.keras.metrics.LogCoshError用法及代碼示例
- Python tf.keras.metrics.MeanSquaredLogarithmicError用法及代碼示例
- Python tf.keras.metrics.FalsePositives.merge_state用法及代碼示例
- Python tf.keras.metrics.OneHotMeanIoU.merge_state用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.models.clone_model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。