####### Pruning ####### ``enot.pruning`` package contains functional for automatic pruning of user models. This package features developer-defined or custom pruning procedures for removing least important filters or neurons. So in simple cases ``enot.pruning`` package provides structured pruning procedure. In more complex cases ``enot.pruning`` package provides special mechanism to estimate global channels importance which lead to optimal sub-architecture selection (will be released soon). A couple definitions to simplify documentation reading experience: * Gates / channel gates is the special ``torch.nn.Module`` which gather and store channel "local importance". "Local importance" means that you can compare channels within layer not between layers. * Calibration procedure is the procedure to estimate channels importance relative to your dataset. * Channel label is the global channel index in a network. ********************** enot-lite-plus pruning ********************** .. autofunction:: enot.pruning.calibrate_and_prune_model_equal .. autofunction:: enot.pruning.get_criteria_label_dict .. autofunction:: enot.pruning.get_labels_for_equal_pruning .. autofunction:: enot.pruning.iterate_over_gate_criteria .. autoclass:: enot.pruning.EnotPruningCalibrator :members: __init__, pruning_info .. autofunction:: enot.pruning.calibrate_and_prune_model .. autofunction:: enot.pruning.prune_model .. autofunction:: enot.pruning.calibrate_model_for_pruning