keras:f1_score作为metric,存储模型, 加载带有自定义函数的模型(2/2)

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

存储预测模型

在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值的模型

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})

https://www.jianshu.com/p/805e78c9f2f5

Python量化投资网携手4326手游为资深游戏玩家推荐:《刀塔西游下载

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论