class_docstr: Container holding a sequence of pruning methods for iterative pruning.
  
  Keeps track of the order in which pruning methods are applied and handles
  combining successive pruning calls.
  
  Accepts as argument an instance of a BasePruningMethod or an iterable of
  them.
class_docstr_tok: ["Container","holding","a","sequence","of","pruning","methods","for","iterative","pruning",".","Keeps","track","of","the","order","in","which","pruning","methods","are","applied","and","handles","combining","successive","pruning","calls",".","Accepts","as","argument","an","instance","of","a","BasePruningMethod","or","an","iterable","of","them","."]
code: def __init__(self, *args):
      self._pruning_methods: Tuple[BasePruningMethod, ...] = tuple()
      if not isinstance(args, Iterable):  # only 1 item
          self._tensor_name = args._tensor_name
          self.add_pruning_method(args)
      elif len(args) == 1:  # only 1 item in a tuple
          self._tensor_name = args[0]._tensor_name
          self.add_pruning_method(args[0])
      else:  # manual construction from list or other iterable (or no args)
          for method in args:
              self.add_pruning_method(method)
  
imports: import numbers
  from abc import ABC, abstractmethod
  from collections.abc import Iterable
  from typing import Tuple
  import torch
label_desc: Use image node_id 1 to create a new PruningContainer object from inherited base classes: BasePruningMethod with example: obj = PruningContainer()