gpt4 book ai didi

python - 为什么keras模型训练后会变大?

转载 作者:行者123 更新时间:2023-12-01 07:34:25 26 4
gpt4 key购买 nike

我注意到我使用 tensorflow.keras.Sequential() 创建了一个模型,保存它并且文件大小约为 5 MiB,但是在我调用 model.fit(.. ),文件大小增加到 17 MiB。我复制了模型以减小文件大小,结果发现准确性是相同的。

我的问题是,fit() 产生的额外 12 MiB 的内容到底是什么?我如何访问此类内容?如果我删除那些额外的 12 MiB,是否会影响预测准确性或任何奇怪的副作用?

在这里查看我的实验代码:https://nbviewer.jupyter.org/github/off99555/TensorFlowExperiments/blob/master/test-save-keras-model.ipynb

最佳答案

答案是 Adam 优化器状态的大小。当我将优化器更改为 SGD(普通优化器)时,大小不再大了。据我所知,Adam 优化器维护了之前训练迭代的梯度信息。并且梯度大小可以与模型大小一样大。这就是为什么它会导致文件大小如此之大。

考虑到这一点,当您保存模型时,如果您似乎使用与 Adam 类似的维护大状态的优化器,请确保设置 include_optimizer=False

但请注意,这意味着您无法加载模型并继续再次训练它,它只能用于推理。

关于python - 为什么keras模型训练后会变大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57058178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com