【问题标题】:Keras: error loading model with custom loss functionKeras:具有自定义损失函数的错误加载模型
【发布时间】:2017-10-28 16:14:23
【问题描述】:

我定义了一个自定义的损失函数如下:

weight_for_hierarchical_error = K.variable(np.ones(16))

def mse_weighted(y_true, y_pred):
    return K.mean(weight_for_hierarchical_error * K.square(y_pred - y_true), axis=-1)

当我将模型保存在 hdf5 文件中,然后尝试使用 load_model 加载它时,我收到以下错误信息:

ValueError: Unknown loss function:mse_weighted

有人知道如何解决这个问题吗?

谢谢!

【问题讨论】:

    标签: python deep-learning keras


    【解决方案1】:

    这里通过将自定义字典对象传递给load_model 来解决这个问题:

    https://github.com/fchollet/keras/issues/5916 https://github.com/fchollet/keras/issues/3977

    【讨论】:

    • 太棒了。为了节省人们一些时间,这对我有用:如果您加载模型仅用于预测(没有训练),您需要将编译标志设置为 False:model = load_model('model.hdf5', compile=False)
    猜你喜欢
    • 1970-01-01
    • 2020-08-01
    • 2020-04-30
    • 2020-06-21
    • 2018-06-30
    • 2019-07-06
    • 2019-03-10
    • 2017-12-20
    • 1970-01-01
    相关资源
    最近更新 更多