根據tf.keras.callbacks.ModelCheckpoint文檔,monitor的度量一次只能是一個。 實現所需的一種方法是定義一個額外的自定義度量,該度量執行兩個度量的總和。然后,您可以監視您的自定義度量并保存檢查點,就像您已經在做的那樣。然而,由于具有多個輸出,這有點復雜。 或者,您可以定義一個自定義回調,該回調執行相同的組合。下面是第二個選項的簡單示例。它應該可以工作(對不起,我現在無法測試): class CombineCallback(tf.keras.callbacks.Callback): def __init__(self, **kargs): super(CombineCallback, self).__init__(**kargs) def on_epoch_end(self, epoch, logs={}): logs['combine_metric'] = 0.5*logs['val_BV_R2'] + 0.5*logs['val_Rsp_R2'] 在回調中,您應該能夠直接通過logs['name_of_my_metric']或通過get函數logs.get("name_of_my_metric")訪問度量。此外,我乘以0.5使組合度量保持在大致相同的范圍內,但看看這是否適用于您的情況。 要使用它,只需執行以下操作: save_best_mode