为什么修剪中的参数在tensorflow的tfmot中增加
Why parameters in prunning increases in tensorflow's tfmot
我正在修剪模型并遇到了库 TensorFlow 模型优化,所以最初,我们有
我在默认数据集上训练了这个模型,它给了我 96% 的准确率,这很好。然后我将模型保存在 JSON 文件中并将其权重保存在 h5 文件中现在我将这个模型加载到另一个脚本中以在应用修剪和编译模型后修剪它我得到了这个模型摘要
虽然模型修剪得很好,参数也有显着减少,但这里的问题是为什么参数在应用修剪后增加,甚至在移动不可训练的参数后,修剪后的简单模型仍然具有相同的参数如果这是正常的或者我做错了什么,任何人都可以解释参数的数量。还请解释为什么会这样。预先感谢大家:)
这是正常的。修剪不会改变原始模型的结构。所以并不是减少参数个数的意思。
修剪是一种模型优化技术,可以消除权重中不常用(换句话说,您可以说是不必要的)值。
第二个模型摘要显示了为修剪添加的参数。它们是不可训练的参数。 不可训练的参数代表掩码。简而言之,tensorflow 为网络中的每个权重添加了不可训练的掩码,以指定应修剪哪些权重。掩码由 0 和 1 组成。
我正在修剪模型并遇到了库 TensorFlow 模型优化,所以最初,我们有
我在默认数据集上训练了这个模型,它给了我 96% 的准确率,这很好。然后我将模型保存在 JSON 文件中并将其权重保存在 h5 文件中现在我将这个模型加载到另一个脚本中以在应用修剪和编译模型后修剪它我得到了这个模型摘要
虽然模型修剪得很好,参数也有显着减少,但这里的问题是为什么参数在应用修剪后增加,甚至在移动不可训练的参数后,修剪后的简单模型仍然具有相同的参数如果这是正常的或者我做错了什么,任何人都可以解释参数的数量。还请解释为什么会这样。预先感谢大家:)
这是正常的。修剪不会改变原始模型的结构。所以并不是减少参数个数的意思。
修剪是一种模型优化技术,可以消除权重中不常用(换句话说,您可以说是不必要的)值。
第二个模型摘要显示了为修剪添加的参数。它们是不可训练的参数。 不可训练的参数代表掩码。简而言之,tensorflow 为网络中的每个权重添加了不可训练的掩码,以指定应修剪哪些权重。掩码由 0 和 1 组成。