我创建了以下自定义损失函数:
ids
当我保存模型时,它工作正常。但是,当我使用以下方法加载模型时:
RMSE = function(y_true,y_pred) {
k_sqrt(k_mean(k_square(y_pred - y_true)))
}
我收到以下错误:
load_model_hdf5(filepath= "modelpath")
也许这个问题与我之前提出的one有一些共同点。如何避免不断出现此错误?
答案 0 :(得分:1)
由于您在模型中使用了 custom 损失函数,因此将模型保留在磁盘上时将不会保存损失函数,而是仅将其名称包含在模型文件中。然后,当您想在以后重新加载模型时,需要将存储名称对应的损失函数告知模型。要提供该映射,可以使用custom_objects
函数的load_model_hdf5
参数:
load_model_hdf5(filepath = "modelpath", custom_objects = list(RMSE = RMSE))
或者,在训练结束后,如果您只想使用模型进行预测,则可以将compile = FALSE
参数传递给load_model_hdf5
函数(因此,不需要并加载损失函数) :
load_model_hdf5(filepath = "modelpath", compile = FALSE)