美文网首页
keras:f1_score作为metric,存储模型, 加载带

keras:f1_score作为metric,存储模型, 加载带

作者: 泡泡_e661 | 来源:发表于2019-11-05 05:30 被阅读0次

    本文主要关于如何存储预测模型,加载带有自定义函数的模型。

    存储预测模型

    在keras.callbacks 包下有个函数叫做ModelCheckpoint,可以实现模型的存储。使用方法如下:

    from keras.callbacks import ModelCheckpoint

    ModelCheckpoint('model.h5', monitor='val_f1_m', save_best_only=True, mode='max', verbose=1)

    其中:

    model.h5是存储文件的名字

    monitor='val_f1_m' 意思通过监督validation数据的f1_score进行模型存储,其中的f1_m是https://www.jianshu.com/p/e7d53a06a6a6文章中定义的f1_m函数

    save_best_only=True, mode='max' 意思只存储在validation数据中得到最大f1_score值的模型。注意当使用自定义函数的时候,不要使用mode='auto'

    verbose = 1 将显示每个epoch中val_f1_m的值和模型的存储情况

    加载带有自定义函数的模型

    加载模型可以使用keras.models包中的load_model函数

    from keras.models import load_model

    普通加载模型的方法:

    model = load_model('model.h5')

    当model.h5中含有自定义的函数,如https://www.jianshu.com/p/e7d53a06a6a6中定义的f1_m函数,如果仍用上述的方法加载模型,会出现错误如下:

    ValueError: Unknown metric function:f1_m

    所以加载带有自定义函数的模型正确使用方法(仍以f1_m为例):

    model = load_model('model.h5',custom_objects={'f1_m':f1_m})

    相关文章

      网友评论

          本文标题:keras:f1_score作为metric,存储模型, 加载带

          本文链接:https://www.haomeiwen.com/subject/acnjbctx.html