  Pruning filters is an effective method for accelerating deep neural networks
(DNNs), but most existing approaches prune filters on a pre-trained network
directly which limits in acceleration. Although each filter has its own effect
in DNNs, but if two filters are the same with each other, we could prune one
safely. In this paper, we add an extra cluster loss term in the loss function
which can force filters in each cluster to be similar online. After training,
we keep one filter in each cluster and prune others and fine-tune the pruned
network to compensate for the loss. Particularly, the clusters in every layer
can be defined firstly which is effective for pruning DNNs within residual
blocks. Extensive experiments on CIFAR10 and CIFAR100 benchmarks demonstrate
the competitive performance of our proposed filter pruning method.
