如何减小Keras保存的模型的大小? [英] How to reduce size of keras saved model?

查看:26
本文介绍了如何减小Keras保存的模型的大小?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

然后,我将基于来自tf-Hub或keras.Applications(我使用相同的卷积核心)的预先训练好的模型来构建模型。所得到的模型文件的大小在Model()或tf.saveModel.save之后大约是10Mb。经过培训后,它的模型大小增加到了30MB!

如果我在培训后保存模型,则再次重新创建该模型,并从训练的模型中加载权重,它将按照预期进行预测,文件大小约为10Mb。

我用于创建模型的代码。

MODULE_HANDLE = 'https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/feature_vector/4'
model = tf.keras.Sequential([
    hub.KerasLayer(MODULE_HANDLE, trainable=True),    
    tf.keras.layers.Dense(train_gen.num_classes, activation='softmax')
    ])
model.build((None,)+IMAGE_SIZE)

我预计这与保存培训信息有关,比如优化器状态。那么,有没有正确的方法来保存模型以供推理,而不使用保存-重新创建-加载_权重技巧?

推荐答案

尝试分别在tf.keras.Model.save()tf.keras.models.save_model()中设置include_optimizer=False

这篇关于如何减小Keras保存的模型的大小?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆