[英]can't load keras model with unknown custom lambda loss function
我的 model 看起來像
Keras中的單個output多個損失函數: https://stackoverflow.com/a/51705573/9079093
model = Model(inputs=[sketch_inp, color_inp], outputs=disc_outputs)
opt = Adam(lr=learning_rate, beta_1=.5)
model.compile(loss=lambda y_true, y_pred : tf.keras.losses.binary_crossentropy(y_true, y_pred) + \
pixelLevelLoss_weight * pixelLevelLoss(y_true, y_pred) + \
totalVariationLoss_weight * totalVariationLoss(y_true, y_pred) + \
featureLevelLoss_weight * featureLevelLoss(y_true, y_pred),\
optimizer=opt)
保存 model 后,我想加載它並完成訓練,但我不知道如何用這個自定義損失 function 加載它
在加載 model 時,只需使用 cutom_objects 參數來傳遞損失。
如果您要加載的 model 包含自定義層或其他自定義類或函數,您可以通過custom_objects
參數將它們傳遞給加載機制:
from keras.models import load_model
# Assuming your model includes instance of an "AttentionLayer" class
model = load_model('my_model.h5', custom_objects={'AttentionLayer': AttentionLayer})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.