code: 
  
  
  """simple docstring"""
  
  
  
  
  import torch
  from torch import autograd
  
  
  
  
  
  class __snake_case		(					autograd.Function      ):
  
  
  
  
  
  
  
     """simple docstring"""
  
  
  
  
     @staticmethod
     def SCREAMING_SNAKE_CASE_      (		UpperCamelCase__							:Dict				,  UpperCamelCase__							:torch.tensor				,  UpperCamelCase__							:float				,  UpperCamelCase__							:bool       ):
            _a          =				inputs.numel()
            _a          =				int(0.005 * nb_elems       ) + 1
            if sigmoid:
                   _a          =				(torch.sigmoid(UpperCamelCase__       ) > threshold).type(inputs.type()       )
            else:
                   _a          =				(inputs > threshold).type(inputs.type()       )
            if mask.sum() < nb_min:
                   # We limit the pruning so that at least 0.5% (half a percent) of the weights are remaining
                   _a          =				inputs.flatten().kthvalue(max(nb_elems - nb_min				,  1       )       ).values
                   _a          =				(inputs > k_threshold).type(inputs.type()       )
            return mask
  
  
  
  
     @staticmethod
     def SCREAMING_SNAKE_CASE_      (		UpperCamelCase__							:Union[str, Any]				,  UpperCamelCase__							:Tuple       ):
            return gradOutput, None, None
  
  
  
  
  
  
  class __snake_case		(					autograd.Function      ):
  
  
  
  
  
  
  
     """simple docstring"""
  
  
  
  
     @staticmethod
     def SCREAMING_SNAKE_CASE_      (		UpperCamelCase__							:Any				,  UpperCamelCase__							:torch.tensor				,  UpperCamelCase__							:float       ):
            _a          =				inputs.clone()
            _a   , _a          =				inputs.flatten().sort(descending=UpperCamelCase__       )
            _a          =				int(threshold * inputs.numel()       )
  
            # flat_out and mask access the same memory.
            _a          =				mask.flatten()
            _a          =				0
            _a          =				1
            return mask
  
  
  
  
     @staticmethod
     def SCREAMING_SNAKE_CASE_      (		UpperCamelCase__							:List[Any]				,  UpperCamelCase__							:List[Any]       ):
            return gradOutput, None
  
  
  
  
  
  
  class __snake_case		(					_SCREAMING_SNAKE_CASE      ):
  
  
  
  
  
  
  
     """simple docstring"""
  
  
  
  
     @staticmethod
     def SCREAMING_SNAKE_CASE_      (		UpperCamelCase__							:torch.tensor				,  UpperCamelCase__							:float       ):
            _a          =				inputs.clone()
            _a   , _a          =				inputs.abs().flatten().sort(descending=UpperCamelCase__       )
            _a          =				int(threshold * inputs.numel()       )
  
            # flat_out and mask access the same memory.
            _a          =				mask.flatten()
            _a          =				0
            _a          =				1
            return mask
  
style_context: 
  
  
  """simple docstring"""
  
  
  
  
  import warnings
  from contextlib import contextmanager
  
  from ...processing_utils import ProcessorMixin
  
  
  
  
  
  class __snake_case		(					_SCREAMING_SNAKE_CASE      ):
  
  
  
  
  
  
  
     """simple docstring"""
  
  
  
  
     lowerCAmelCase_				:   str     	=			'AutoFeatureExtractor'
     lowerCAmelCase_				:   List[Any]     	=			'Speech2Text2Tokenizer'
  
  
  
  
     def __init__(		self							:int				,  UpperCamelCase__							:List[str]				,  UpperCamelCase__							:Union[str, Any]       ):
            super().__init__(UpperCamelCase__				,  UpperCamelCase__       )
            _a          =				self.feature_extractor
            _a          =				False
  
  
  
  
     def __call__(		self							:List[str]				,  *UpperCamelCase__							:List[str]				,  **UpperCamelCase__							:Dict       ):
            # For backward compatibility
            if self._in_target_context_manager:
                   return self.current_processor(*UpperCamelCase__				,  **UpperCamelCase__       )
  
            if "raw_speech" in kwargs:
                   warnings.warn("Using `raw_speech` as a keyword argument is deprecated. Use `audio` instead."       )
                   _a          =				kwargs.pop("raw_speech"       )
            else:
                   _a          =				kwargs.pop("audio"				,  UpperCamelCase__       )
            _a          =				kwargs.pop("sampling_rate"				,  UpperCamelCase__       )
            _a          =				kwargs.pop("text"				,  UpperCamelCase__       )
            if len(UpperCamelCase__       ) > 0:
                   _a          =				args[0]
                   _a          =				args[1:]
  
            if audio is None and text is None:
                   raise ValueError("You need to specify either an `audio` or `text` input to process."       )
  
            if audio is not None:
                   _a          =				self.feature_extractor(UpperCamelCase__				,  *UpperCamelCase__				,  sampling_rate=UpperCamelCase__				,  **UpperCamelCase__       )
            if text is not None:
                   _a          =				self.tokenizer(UpperCamelCase__				,  **UpperCamelCase__       )
  
            if text is None:
                   return inputs
            elif audio is None:
                   return encodings
            else:
                   _a          =				encodings["input_ids"]
                   return inputs
  
  
  
  
     def SCREAMING_SNAKE_CASE_      (		self							:Union[str, Any]				,  *UpperCamelCase__							:int				,  **UpperCamelCase__							:Optional[Any]       ):
            return self.tokenizer.batch_decode(*UpperCamelCase__				,  **UpperCamelCase__       )
  
  
  
  
     def SCREAMING_SNAKE_CASE_      (		self							:Optional[Any]				,  *UpperCamelCase__							:List[Any]				,  **UpperCamelCase__							:List[Any]       ):
            return self.tokenizer.decode(*UpperCamelCase__				,  **UpperCamelCase__       )
  
  
  
  
     @contextmanager
     def SCREAMING_SNAKE_CASE_      (		self							:Dict       ):
            warnings.warn(
                "`as_target_processor` is deprecated and will be removed in v5 of Transformers. You can process your "
                "labels by using the argument `text` of the regular `__call__` method (either in the same call as "
                "your audio inputs, or in a separate call."       )
            _a          =				True
            _a          =				self.tokenizer
            yield
            _a          =				self.feature_extractor
            _a          =				False
  