  Channel Pruning has been long adopted for compressing CNNs, which
significantly reduces the overall computation. Prior works implement channel
pruning in an unexplainable manner, which tends to reduce the final
classification errors while failing to consider the internal influence of each
channel. In this paper, we conduct channel pruning in a white box. Through deep
visualization of feature maps activated by different channels, we observe that
different channels have a varying contribution to different categories in image
classification. Inspired by this, we choose to preserve channels contributing
to most categories. Specifically, to model the contribution of each channel to
differentiating categories, we develop a class-wise mask for each channel,
implemented in a dynamic training manner w.r.t. the input image's category. On
the basis of the learned class-wise mask, we perform a global voting mechanism
to remove channels with less category discrimination. Lastly, a fine-tuning
process is conducted to recover the performance of the pruned model. To our
best knowledge, it is the first time that CNN interpretability theory is
considered to guide channel pruning. Extensive experiments demonstrate the
superiority of our White-Box over many state-of-the-arts. For instance, on
CIFAR-10, it reduces 65.23% FLOPs with even 0.62% accuracy improvement for
ResNet-110. On ILSVRC-2012, White-Box achieves a 45.6% FLOPs reduction with
only a small loss of 0.83% in the top-1 accuracy for ResNet-50. Code, training
logs and pruned models are anonymously at https://github.com/zyxxmu/White-Box.
