## 1 Introduction
Specialized software and hardware platforms [31; 32; 33; 34; 35; 36] are required to recover the network and accelerate the same. In contrast, structured pruning removes weak or unimportant filters from the model without corrupting the structure of the model and avoids the necessity of specialized software and hardware platforms [37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47]. For filter pruning, it is critical to decide how to find the \"unimportant filter\" intended for removal. There exist many criteria proposed by researchers including magnitude-based norms, Taylor expansion, gradient-based norms, and so on [24; 25; 39; 40; 48; 49; 50; 51]. Identifying informative filters in a large network is very challenging since the search space is enormous to explore. Hence, some attempts have been made based on evolutionary optimization methods, which offer alternative filter pruning approaches for network compression. These approaches [14; 23; 29; 37; 52; 53; 54; 55] search for optimal solutions (for instance, selecting informative filters while rejecting the weak filters) and, consequently, can lead to a compressed network. However, despite the satisfying performance, the approaches are still not computationally efficient at runtime. In this work, we concentrate on the removal of unimportant filters from a deep CNN. Convolutional filters generally consume fewer parameters than fully connected layers; still, they account for most of the FLOPs. The key open question arises here: Do we really need all those filters? If not, it appears reasonable to discard unimportant filters in order to lower the computational burden. Again, another key question arises: How do we decide the importance of filters? The CNN consists of a vast amount of filters, which are either alike or shifted versions of each other. These filters produce different feature maps, highlighting or reflecting the different aspects of the distinctive information of the input data. However, these diverse features may not contribute equally to the final performance. Therefore, it is reasonable to assign additional weights to each filter, which further help the different features contribute efficiently. Therefore, in this paper, a new pruning approach, which uses external weights applied to each filter, is proposed to discard the weak filters from the network. More importantly, these extra weights (we use the term importance weights throughout the paper) allow each filter to learn their responsibility without interfering the weight update process in back propagation. The approach uses iterative pruning where importance weights decide which filters to be pruned at each iteration. In addition, an error tolerance level, which maintains the difference between the loss incurred by the unpruned and pruned network to a specific limit, is introduced. Unlike existing pruning approaches, the proposed approach does not need a pre-defined pruning rate; rather, it uses the error tolerance level and determines which and how many filters to be pruned. All existing works on magnitude-based filter pruning consider the weight values of either individual filters or a group of filters. These approaches have not shown much of a drop in performance, thus validating their effectiveness in model compression. However, it has been observed that these approaches fail to recuperate the full performance after fine-tuning with fewer iterations. Note that, instead of pruning the pre-trained model (trained on different dataset), we pruned the model, which is trained from scratch on a target dataset, and obtained a quite comparable performance. Closely related to our work, [PERSON] et al. [56], pruned weak filters using an adaptive filter pruning rate. The importance of the filters is calculated using their \(l_{1}\)-norm. On the other hand, our approach enforces importance weights and uses them to identify the weak filters. The main contributions of the proposed filter pruning work can be briefly summarized as follows:  
1.