微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在 tensorflow 的 tfmot 中修剪参数会增加

如何解决为什么在 tensorflow 的 tfmot 中修剪参数会增加

我在修剪模型时遇到了一个库 TensorFlow 模型优化,所以最初,我们有

in this image my model have 20410 parameters in total

我在认数据集上训练了这个模型,它给了我 96% 的准确率,这很好。然后我将模型保存在 JSON 文件中并将其权重保存在 h5 文件中,现在我将此模型加载到另一个脚本中以在应用修剪和编译模型后修剪它我得到了这个模型摘要

enter image description here

尽管模型修剪得很好并且参数显着减少,但这里的问题是为什么在应用修剪后参数增加,即使在移除不可训练的参数后,修剪后的简单模型仍然具有相同数量的任何人都可以向我解释这是正常的还是我做错了什么。还请解释为什么会发生这种情况。提前谢谢大家:)

解决方法

这是正常的。修剪不会改变原始模型的结构。所以这并不是为了减少参数的数量。

剪枝是一种模型优化技术,可消除权重中不常用(换句话说,您可以说是不必要的)值。

第二个模型摘要显示了为修剪添加的参数。它们是不可训练的参数。 不可训练的参数代表屏蔽。简而言之,tensorflow 为网络中的每个权重添加了不可训练的掩码,以指定应该修剪哪些权重。掩码由 0 和 1 组成。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。