code: def from_params(cls, params: Iterable[Tuple[str, Params]] = ()) -> Optional['RegularizerApplicator']:
          
          if not params:
              return None
  
          instantiated_regularizers = []
          for parameter_regex, regularizer_params in params:
              if isinstance(regularizer_params, str):
                  regularizer = Regularizer.by_name(regularizer_params)()
              else:
                  regularizer_type = Regularizer.by_name(regularizer_params.pop("type"))
                  regularizer = regularizer_type(**regularizer_params)  # type: ignore
              instantiated_regularizers.append((parameter_regex, regularizer))
          return RegularizerApplicator(instantiated_regularizers)
docs: Converts a List of pairs (regex, params) into an RegularizerApplicator.
          This list should look like
  
          [["regex1", {"type": "l2", "alpha": 0.01}], ["regex2", "l1"]]
  
          where each parameter receives the penalty corresponding to the first regex
          that matches its name (which may be no regex and hence no penalty).
          The values can either be strings, in which case they correspond to the names
          of regularizers, or dictionaries, in which case they must contain the "type"
          key, corresponding to the name of a regularizer. In addition, they may contain
          auxiliary named parameters which will be fed to the regularizer itself.
          To determine valid auxiliary parameters, please refer to the torch.nn.init documentation.
  
          Parameters
          ----------
          params : ``Params``, required.
              A Params object containing a "regularizers" key.
  
          Returns
          -------
          A RegularizerApplicator containing the specified Regularizers,
          or ``None`` if no Regularizers are specified.