keras保存模型和加载模型

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/huanhuan_Coder/article/details/83350162

1、保存模型和加载模型的方法

用实验室的服务器跑神经网络的时候服务器老是断开连接,这对我的训练和测试来时是一件比较崩溃的事,因为这意味着我要重新训练一次,要浪费又一次的时间,所以我在网上百度了保存模型和加载模型的办法,大部分的方法如下:

保存模型

model.save('my_model.h5')      

加载模型

model = load_model('my_model.h5')

但是由于我的 W b W,b 和其他的一些优化参数是自定义的,所以在加载模型的时候就出现了一系列的问题,例如 W W 没有初始化之类的问题,所以这时候,保存模型就不如保存权重来的方便,所以我就采用了保存权重这种方法。

保存模型的权重

model.save_weights('my_model.h5')

加载模型的权重

model.load_weights('my_model.h5')

事实证明这种方法更好用一些。
keras中文文档:https://keras-cn.readthedocs.io/en/latest/
keras保存权重一节:https://keras-cn.readthedocs.io/en/latest/models/about_model/

2、保存模型的方式

众做周知,我们是在训练模型的时候保存模型的参数和超参数,在此基础上进行参数的调整和调优,但是我们最好不要在每一个epoch里都进行模型的保存,因为保存模型是一个耗费时间的操作,每次保存模型的时候是要占用CPU的时间的,这时候就浪费了GPU的资源,并且将每一次的参数都保存下来也是不必要行为,我们可以采用以下几种方法进行保存:

  • 1、每隔50个epoch保存
  • 2、当loss值比上一次小的时候保存
  • 3、当正确率比上一次高的时候保存

猜你喜欢

转载自blog.csdn.net/huanhuan_Coder/article/details/83350162