我有使用Keras生成深度卷积神经网络的Python代码。我正在尝试保存模型,但结果是巨大的(100s的MB)。我想稍微削减一下以使某些事情变得更易于管理。
问题在于model.save()
商店(引用Keras常见问题解答):
如果我不再接受任何培训,我想我只需要前两个。
我可以使用model.to_json()
创建体系结构的JSON字符串并将其保存,并model.save_weights()
创建一个包含权重的单独文件。这大约是完整model.save()
结果大小的三分之一。但我想知道是否有一些方法可以将这些存储在一个自包含的文件中? (没有输出两个文件,将它们压缩在一起,并删除原件。)或者,也许有一种方法可以在训练完成时删除训练配置和优化器状态,这样model.save()
几乎不会给我一些东西那么大?
感谢。
答案 0 :(得分:5)
模型的save函数具有完全相同的参数,称为include_optimizer,将其设置为false将保存模型而不包括优化器状态,这将导致更小的HDF5文件:
model.save("something.hdf5", include_optimizer = False)