【发布时间】:2021-12-14 09:15:34
【问题描述】:
让我们看看我首先得到的结果。这是我模型的卷积层之一,我只显示了 11 个过滤器的权重(11 个 3x3 过滤器,通道=1)
Left side is original weight Right side is Pruned weight
所以我想知道“TORCH.NN.UTILS.PRUNE.L1_UNSTRUCTURED”是如何工作的,因为by the pytorch website said,它修剪了最低的 L1-norm 单元,但据我所知,L1-norm 修剪是一个过滤器修剪整个过滤器的修剪方法,使用this equation 来细化最低过滤器值,而不是修剪单个权重。所以我有点好奇这个函数到底是怎么工作的?
以下是我的剪枝代码
parameters_to_prune = (
(model.input_layer[0], 'weight'),
(model.hidden_layer1[0], 'weight'),
(model.hidden_layer2[0], 'weight'),
(model.output_layer[0], 'weight')
)
prune.global_unstructured(
parameters_to_prune,
pruning_method=prune.L1Unstructured,
amount = (pruned_percentage/100),
)
【问题讨论】:
标签: pytorch conv-neural-network pruning