code: 
  
  
  '''simple docstring'''
  
  import warnings
  
  from ...processing_utils import ProcessorMixin
  from ...tokenization_utils_base import BatchEncoding
  class _lowerCamelCase (		lowercase__							):
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		A_			:    List[str]   					=       ["""image_processor""", """tokenizer"""]
  		A_			:    Dict   					=       """VideoMAEImageProcessor"""
  		A_			:    List[Any]   					=       ("""CLIPTokenizer""", """CLIPTokenizerFast""")
  
  
  
  
  
  
  
  		def __init__(      self	:		Dict						,  _A	:		List[Any]=None						,  _A	:		int=None						,  **_A	:		int    )						->				int:
  			__magic_name__ :					int  			=  None
  			if "feature_extractor" in kwargs:
  				warnings.warn(
  				    'The `feature_extractor` argument is deprecated and will be removed in v5, use `image_processor`'
  				    ' instead.'						,  _A						,  )
  				__magic_name__ :					Optional[Any]  			=  kwargs.pop('feature_extractor'    )
  
  			__magic_name__ :					Union[str, Any]  			=  image_processor if image_processor is not None else feature_extractor
  			if image_processor is None:
  				raise ValueError('You need to specify an `image_processor`.'    )
  			if tokenizer is None:
  				raise ValueError('You need to specify a `tokenizer`.'    )
  
  			super().__init__(_A						,  _A    )
  			__magic_name__ :					Union[str, Any]  			=  self.image_processor
  
  
  
  
  
  
  
  		def __call__(      self	:		Optional[Any]						,  _A	:		List[str]=None						,  _A	:		Tuple=None						,  _A	:		Any=None						,  **_A	:		Dict    )						->				str:
  
  			if text is None and videos is None:
  				raise ValueError('You have to specify either text or videos. Both cannot be none.'    )
  
  			if text is not None:
  				__magic_name__ :					Tuple  			=  self.tokenizer(_A						,  return_tensors=_A						,  **_A    )
  
  			if videos is not None:
  				__magic_name__ :					Dict  			=  self.image_processor(_A						,  return_tensors=_A						,  **_A    )
  
  			if text is not None and videos is not None:
  				__magic_name__ :					List[str]  			=  image_features.pixel_values
  				return encoding
  			elif text is not None:
  				return encoding
  			else:
  				return BatchEncoding(data=dict(**_A    )						,  tensor_type=_A    )
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Dict						,  *_A	:		Union[str, Any]						,  **_A	:		Union[str, Any]    )						->				int:
  			return self.tokenizer.batch_decode(*_A						,  **_A    )
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		List[str]						,  *_A	:		Union[str, Any]						,  **_A	:		Dict    )						->				Dict:
  			return self.tokenizer.decode(*_A						,  **_A    )
  
  
  
  
  
  
  
  		@property
  		def      __lowerCAmelCase	(      self	:		int    )						->				Any:
  			return ["input_ids", "attention_mask", "position_ids", "pixel_values"]
  
  
  
  
  
  
  
  		@property
  		def      __lowerCAmelCase	(      self	:		Optional[Any]    )						->				Optional[Any]:
  			warnings.warn(
  			    '`feature_extractor_class` is deprecated and will be removed in v5. Use `image_processor_class` instead.'						,  _A						,  )
  			return self.image_processor_class
  
  
  
  
  
  
  
  		@property
  		def      __lowerCAmelCase	(      self	:		Dict    )						->				Optional[Any]:
  			warnings.warn(
  			    '`feature_extractor` is deprecated and will be removed in v5. Use `image_processor` instead.'						,  _A						,  )
  			return self.image_processor
style_context: 
  
  
  '''simple docstring'''
  
  from sklearn.metrics import mean_absolute_error
  
  import datasets
  
  
  lowerCAmelCase   :Union[str, Any]								=    '''\
  @article{scikit-learn,
   title={Scikit-learn: Machine Learning in {P}ython},
   author={Pedregosa, F. and Varoquaux, G. and Gramfort, A. and Michel, V.
           and Thirion, B. and Grisel, O. and Blondel, M. and Prettenhofer, P.
           and Weiss, R. and Dubourg, V. and Vanderplas, J. and Passos, A. and
           Cournapeau, D. and Brucher, M. and Perrot, M. and Duchesnay, E.},
   journal={Journal of Machine Learning Research},
   volume={12},
   pages={2825--2830},
   year={2011}
  }
  '''
  
  lowerCAmelCase   :int								=    '''\
  Mean Absolute Error (MAE) is the mean of the magnitude of difference between the predicted and actual
  values.
  '''
  
  
  lowerCAmelCase   :Optional[int]								=    '''
  Args:
      predictions: array-like of shape (n_samples,) or (n_samples, n_outputs)
          Estimated target values.
      references: array-like of shape (n_samples,) or (n_samples, n_outputs)
          Ground truth (correct) target values.
      sample_weight: array-like of shape (n_samples,), default=None
          Sample weights.
      multioutput: {"raw_values", "uniform_average"} or array-like of shape (n_outputs,), default="uniform_average"
          Defines aggregating of multiple output values. Array-like value defines weights used to average errors.
  
                   "raw_values" : Returns a full set of errors in case of multioutput input.
  
                   "uniform_average" : Errors of all outputs are averaged with uniform weight.
  
  Returns:
      mae : mean absolute error.
          If multioutput is "raw_values", then mean absolute error is returned for each output separately. If multioutput is "uniform_average" or an ndarray of weights, then the weighted average of all output errors is returned.
          MAE output is non-negative floating point. The best value is 0.0.
  Examples:
  
      >>> mae_metric = datasets.load_metric("mae")
      >>> predictions = [2.5, 0.0, 2, 8]
      >>> references = [3, -0.5, 2, 7]
      >>> results = mae_metric.compute(predictions=predictions, references=references)
      >>> print(results)
      {\'mae\': 0.5}
  
      If you\'re using multi-dimensional lists, then set the config as follows :
  
      >>> mae_metric = datasets.load_metric("mae", "multilist")
      >>> predictions = [[0.5, 1], [-1, 1], [7, -6]]
      >>> references = [[0, 2], [-1, 2], [8, -5]]
      >>> results = mae_metric.compute(predictions=predictions, references=references)
      >>> print(results)
      {\'mae\': 0.75}
      >>> results = mae_metric.compute(predictions=predictions, references=references, multioutput=\'raw_values\')
      >>> print(results)
      {\'mae\': array([0.5, 1. ])}
  '''
  @datasets.utils.file_utils.add_start_docstrings(_DESCRIPTION	,  _KWARGS_DESCRIPTION							)
  class _lowerCamelCase (		datasets.Metric							):
  
  
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Union[str, Any]    )						->				int:
  			return datasets.MetricInfo(
  			    description=_DESCRIPTION						,  citation=_CITATION						,  inputs_description=_KWARGS_DESCRIPTION						,  features=datasets.Features(self._get_feature_types()    )						,  reference_urls=[
  			        'https://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_absolute_error.html'
  			    ]						,  )
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Tuple    )						->				List[str]:
  			if self.config_name == "multilist":
  				return {
  				    "predictions": datasets.Sequence(datasets.Value('float'    )    ),
  				    "references": datasets.Sequence(datasets.Value('float'    )    ),
  				}
  			else:
  				return {
  				    "predictions": datasets.Value('float'    ),
  				    "references": datasets.Value('float'    ),
  				}
  
  
  
  
  
  
  
  		def      __lowerCAmelCase	(      self	:		Dict						,  _A	:		Optional[int]						,  _A	:		Optional[Any]						,  _A	:		Optional[Any]=None						,  _A	:		Tuple="uniform_average"    )						->				Any:
  			__magic_name__ :					Optional[Any]  			=  mean_absolute_error(_A						,  _A						,  sample_weight=_A						,  multioutput=_A    )
  
  			return {"mae": mae_score}