mask = torch.ones([self.out_channels,]) num_channel_pruned = int(self.out_channels * pruning_rate) scores = self.weight.abs().sum(dim=(1, 2, 3)) _, index_channel_pruned = torch.topk(scores, num_channel_pruned, largest=False)
时间: 2024-04-07 09:31:56 浏览: 97
lbcnn.torch-master.zip_..累lbcnn;x3_LBCNN_lbp_lbp 神经网络_torch
这段代码看起来是在进行卷积层的通道剪枝,首先创建一个与输出通道数相同的全 1 张量作为掩码,然后计算每个通道的权重绝对值之和,选取绝对值之和较小的前 num_channel_pruned 个通道进行剪枝,剪枝后将对应的掩码值设为 0。这样,在后续的前向传播过程中,被剪枝的通道对应的权重将被清零,从而达到减小模型参数量的目的。
阅读全文