QingbeiGuo / SG-CNN

Self-grouping Convolutional Neural Networks, Neural Networks, 2020
22 stars 3 forks source link

Question #1

Closed lizhenstat closed 4 years ago

lizhenstat commented 4 years ago

Hi, thanks for your great work on learnable group convolution. I have several questions: (1)Like paper 【fully learnable group convolution】(whose code is unavailable), SG-CNN supports uneven number of filter in different groups(as shown in Fig2(d)), did you convert it to standard group convolutions? or just calculating self.conv x self.mask at inference time?(which I think is not computation efficient since the FLOPs is same as standard convolution, which is C_in C_out W H k * k)

(2) I am not quiet understand "data-dependent", I think data dependent is based on the difficulty of input image, in other words, inference time is different for different images, like the following paper 【Dynamic Convolutions: Exploiting Spatial Sparsity for Faster Inference】.

(3) I am a little confused on the training procedure, take DenseNet-201-LG (Conv-70/FC-60) for example, the training epochs is defined as "90+7*20+90", does this mean the following training procedure(trained from scratch): training 90 epochs --> pruning 7 times, each followed by 20 epochs of finetuning --> global finetuning for 90 epochs.

(4) In Table3, ResNet-LG (Conv-70/FC-60) why the pruning ratio of convolution and fully connected layers different? (70% vs 60%), the epochs is denoted as "90+7*20+90", does this mean pruning (40%/7=5.7%) at each pruning step

(5)In Classificatio-->DenseNet201-->ImageNet-->LG-->group.py, what does "a" inside "model_group_a80" mean and what does "L" inside "model_group_L80" mean? (Form the paper, I think 80 here means 80% of channels being pruned)

(6) The pretrained model need Baiduyun password and cannot be downloaded

QingbeiGuo commented 4 years ago

Hi, thanks for your great work on learnable group convolution. I have several questions: (1)Like paper 【fully learnable group convolution】(whose code is unavailable), SG-CNN supports uneven number of filter in different groups(as shown in Fig2(d)), did you convert it to standard group convolutions? or just calculating self.conv x self.mask at inference time?(which I think is not computation efficient since the FLOPs is same as standard convolution, which is C_in C_out W H k * k)

-> Our self-grouping convolution has flexible groups and filters of each group, so it is different to standard group convolution. So it cannot be converted to standard group convolution.

(2) I am not quiet understand "data-dependent", I think data dependent is based on the difficulty of input image, in other words, inference time is different for different images, like the following paper 【Dynamic Convolutions: Exploiting Spatial Sparsity for Faster Inference】.

-> clustering is data-dependent

(3) I am a little confused on the training procedure, take DenseNet-201-LG (Conv-70/FC-60) for example, the training epochs is defined as "90+7*20+90", does this mean the following training procedure(trained from scratch): training 90 epochs --> pruning 7 times, each followed by 20 epochs of finetuning --> global finetuning for 90 epochs.

-> "90+720+90" means the pre-trained epochs + n local-fintuning epochs + global-fintuning.

(4) In Table3, ResNet-LG (Conv-70/FC-60) why the pruning ratio of convolution and fully connected layers different? (70% vs 60%), the epochs is denoted as "90+7*20+90", does this mean pruning (40%/7=5.7%) at each pruning step

-> the pruning ratio of convolution and fully connected layers is different due to the difference of their redundancy. The pruned ratio is subject to the paper at each pruning step. For Conv-70, "90+720+90" means the pre-trained epochs + n local-fintuning epochs + global-fintuning, 10% channles are pruned each time.

(5)In Classification-->DenseNet201-->ImageNet-->LG-->group.py, what does "a" inside "model_group_a80" mean and what does "L" inside "model_group_L80" mean? (Form the paper, I think 80 here means 80% of channels being pruned)

-> Please follow the paper.

(6) The pretrained model need Baiduyun password and cannot be downloaded

-> I have update the download link, the Baiduyun password is 1234