code: 
  
  
  
  """simple docstring"""
  
  
  
  
  import unittest
  
  import numpy as np
  from datasets import load_dataset
  
  from transformers.testing_utils import require_torch, require_vision
  from transformers.utils import is_torch_available, is_vision_available
  
  from ...test_image_processing_common import ImageProcessingSavingTestMixin, prepare_image_inputs
  
  
  if is_torch_available():
   import torch
  
  if is_vision_available():
   from PIL import Image
  
   from transformers import SegformerImageProcessor
  
  
  
  
  
  
  class 			UpperCAmelCase_						(       unittest.TestCase		):
  
  
  
        def __init__(  self  :			List[Any]  ,			A  :			List[str]  ,			A  :			str=7  ,			A  :			List[Any]=3  ,			A  :			List[Any]=3_0  ,			A  :			List[Any]=4_0_0  ,			A  :			List[str]=True  ,			A  :			List[str]=None  ,			A  :			str=True  ,			A  :			Tuple=[0.5, 0.5, 0.5]  ,			A  :			Dict=[0.5, 0.5, 0.5]  ,			A  :			int=False  ,			):
             _UpperCAmelCase    :			Dict              =					size if size is not None else {"height": 3_0, "width": 3_0}
             _UpperCAmelCase    :			Tuple              =					parent
             _UpperCAmelCase    :			Dict              =					batch_size
             _UpperCAmelCase    :			List[str]              =					num_channels
             _UpperCAmelCase    :			str              =					min_resolution
             _UpperCAmelCase    :			Dict              =					max_resolution
             _UpperCAmelCase    :			Dict              =					do_resize
             _UpperCAmelCase    :			List[Any]              =					size
             _UpperCAmelCase    :			Tuple              =					do_normalize
             _UpperCAmelCase    :			str              =					image_mean
             _UpperCAmelCase    :			Optional[int]              =					image_std
             _UpperCAmelCase    :			Union[str, Any]              =					do_reduce_labels
  
  
  
        def 		snake_case_      (  self  :			Any		):
             return {
                 "do_resize": self.do_resize,
                 "size": self.size,
                 "do_normalize": self.do_normalize,
                 "image_mean": self.image_mean,
                 "image_std": self.image_std,
                 "do_reduce_labels": self.do_reduce_labels,
             }
  
  
  
  
  
  
  
  def 		__snake_case		(   )						->     List[Any]:
  
  
  
  
  
       '''simple docstring'''
  
       _UpperCAmelCase    :			Dict              =					load_dataset("hf-internal-testing/fixtures_ade20k"		,						split="test"       )
  
       _UpperCAmelCase    :			List[str]              =					Image.open(dataset[0]["file"]       )
       _UpperCAmelCase    :			Union[str, Any]              =					Image.open(dataset[1]["file"]       )
  
       return image, map
  
  def 		__snake_case		(   )						->     Dict:
  
  
  
  
  
       '''simple docstring'''
  
       _UpperCAmelCase    :			str              =					load_dataset("hf-internal-testing/fixtures_ade20k"		,						split="test"       )
  
       _UpperCAmelCase    :			Optional[int]              =					Image.open(dataset[0]["file"]       )
       _UpperCAmelCase    :			int              =					Image.open(dataset[1]["file"]       )
       _UpperCAmelCase    :			Dict              =					Image.open(dataset[2]["file"]       )
       _UpperCAmelCase    :			Optional[int]              =					Image.open(dataset[3]["file"]       )
  
       return [imagea, imagea], [mapa, mapa]
  
  
  
  
  
  
  @require_torch
  @require_vision
  class 			UpperCAmelCase_						(       _UpperCamelCase ,    unittest.TestCase		):
        __SCREAMING_SNAKE_CASE		:     Union[str, Any]				  =				SegformerImageProcessor if is_vision_available() else None
  
  
  
        def 		snake_case_      (  self  :			Any		):
             _UpperCAmelCase    :			List[str]              =					SegformerImageProcessingTester(self		)
  
  
  
        @property
        def 		snake_case_      (  self  :			Optional[Any]		):
             return self.image_processor_tester.prepare_image_processor_dict()
  
  
  
        def 		snake_case_      (  self  :			List[str]		):
             _UpperCAmelCase    :			Any              =					self.image_processing_class(**self.image_processor_dict		)
             self.assertTrue(hasattr(A  ,			"do_resize"		)		)
             self.assertTrue(hasattr(A  ,			"size"		)		)
             self.assertTrue(hasattr(A  ,			"do_normalize"		)		)
             self.assertTrue(hasattr(A  ,			"image_mean"		)		)
             self.assertTrue(hasattr(A  ,			"image_std"		)		)
             self.assertTrue(hasattr(A  ,			"do_reduce_labels"		)		)
  
  
  
        def 		snake_case_      (  self  :			Optional[Any]		):
             _UpperCAmelCase    :			List[Any]              =					self.image_processing_class.from_dict(self.image_processor_dict		)
             self.assertEqual(image_processor.size  ,			{"height": 3_0, "width": 3_0}		)
             self.assertEqual(image_processor.do_reduce_labels  ,			A		)
  
             _UpperCAmelCase    :			Optional[int]              =					self.image_processing_class.from_dict(self.image_processor_dict  ,			size=4_2  ,			reduce_labels=A		)
             self.assertEqual(image_processor.size  ,			{"height": 4_2, "width": 4_2}		)
             self.assertEqual(image_processor.do_reduce_labels  ,			A		)
  
  
  
        def 		snake_case_      (  self  :			Any		):
             pass
  
  
  
        def 		snake_case_      (  self  :			Tuple		):
             # Initialize image_processing
             _UpperCAmelCase    :			Dict              =					self.image_processing_class(**self.image_processor_dict		)
             # create random PIL images
             _UpperCAmelCase    :			Dict              =					prepare_image_inputs(self.image_processor_tester  ,			equal_resolution=A		)
             for image in image_inputs:
                  self.assertIsInstance(A  ,			Image.Image		)
  
             # Test not batched input
             _UpperCAmelCase    :			Optional[Any]              =					image_processing(image_inputs[0]  ,			return_tensors="pt"		).pixel_values
             self.assertEqual(
                 encoded_images.shape  ,			(
                     1,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
  
             # Test batched
             _UpperCAmelCase    :			Dict              =					image_processing(A  ,			return_tensors="pt"		).pixel_values
             self.assertEqual(
                 encoded_images.shape  ,			(
                     self.image_processor_tester.batch_size,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
  
  
  
        def 		snake_case_      (  self  :			Optional[Any]		):
             # Initialize image_processing
             _UpperCAmelCase    :			Union[str, Any]              =					self.image_processing_class(**self.image_processor_dict		)
             # create random numpy tensors
             _UpperCAmelCase    :			Optional[Any]              =					prepare_image_inputs(self.image_processor_tester  ,			equal_resolution=A  ,			numpify=A		)
             for image in image_inputs:
                  self.assertIsInstance(A  ,			np.ndarray		)
  
             # Test not batched input
             _UpperCAmelCase    :			Tuple              =					image_processing(image_inputs[0]  ,			return_tensors="pt"		).pixel_values
             self.assertEqual(
                 encoded_images.shape  ,			(
                     1,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
  
             # Test batched
             _UpperCAmelCase    :			Tuple              =					image_processing(A  ,			return_tensors="pt"		).pixel_values
             self.assertEqual(
                 encoded_images.shape  ,			(
                     self.image_processor_tester.batch_size,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
  
  
  
        def 		snake_case_      (  self  :			Optional[Any]		):
             # Initialize image_processing
             _UpperCAmelCase    :			int              =					self.image_processing_class(**self.image_processor_dict		)
             # create random PyTorch tensors
             _UpperCAmelCase    :			List[Any]              =					prepare_image_inputs(self.image_processor_tester  ,			equal_resolution=A  ,			torchify=A		)
             for image in image_inputs:
                  self.assertIsInstance(A  ,			torch.Tensor		)
  
             # Test not batched input
             _UpperCAmelCase    :			Tuple              =					image_processing(image_inputs[0]  ,			return_tensors="pt"		).pixel_values
             self.assertEqual(
                 encoded_images.shape  ,			(
                     1,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
  
             # Test batched
             _UpperCAmelCase    :			Optional[int]              =					image_processing(A  ,			return_tensors="pt"		).pixel_values
             self.assertEqual(
                 encoded_images.shape  ,			(
                     self.image_processor_tester.batch_size,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
  
  
  
        def 		snake_case_      (  self  :			List[Any]		):
             # Initialize image_processing
             _UpperCAmelCase    :			Tuple              =					self.image_processing_class(**self.image_processor_dict		)
             # create random PyTorch tensors
             _UpperCAmelCase    :			str              =					prepare_image_inputs(self.image_processor_tester  ,			equal_resolution=A  ,			torchify=A		)
             _UpperCAmelCase    :			Any              =					[]
             for image in image_inputs:
                  self.assertIsInstance(A  ,			torch.Tensor		)
                  maps.append(torch.zeros(image.shape[-2:]		).long()		)
  
             # Test not batched input
             _UpperCAmelCase    :			Any              =					image_processing(image_inputs[0]  ,			maps[0]  ,			return_tensors="pt"		)
             self.assertEqual(
                 encoding["pixel_values"].shape  ,			(
                     1,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
             self.assertEqual(
                 encoding["labels"].shape  ,			(
                     1,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
             self.assertEqual(encoding["labels"].dtype  ,			torch.long		)
             self.assertTrue(encoding["labels"].min().item() >= 0		)
             self.assertTrue(encoding["labels"].max().item() <= 2_5_5		)
  
             # Test batched
             _UpperCAmelCase    :			Any              =					image_processing(A  ,			A  ,			return_tensors="pt"		)
             self.assertEqual(
                 encoding["pixel_values"].shape  ,			(
                     self.image_processor_tester.batch_size,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
             self.assertEqual(
                 encoding["labels"].shape  ,			(
                     self.image_processor_tester.batch_size,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
             self.assertEqual(encoding["labels"].dtype  ,			torch.long		)
             self.assertTrue(encoding["labels"].min().item() >= 0		)
             self.assertTrue(encoding["labels"].max().item() <= 2_5_5		)
  
             # Test not batched input (PIL images)
             _UpperCAmelCase       , _UpperCAmelCase    :			Optional[Any]              =					prepare_semantic_single_inputs()
  
             _UpperCAmelCase    :			Optional[int]              =					image_processing(A  ,			A  ,			return_tensors="pt"		)
             self.assertEqual(
                 encoding["pixel_values"].shape  ,			(
                     1,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
             self.assertEqual(
                 encoding["labels"].shape  ,			(
                     1,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
             self.assertEqual(encoding["labels"].dtype  ,			torch.long		)
             self.assertTrue(encoding["labels"].min().item() >= 0		)
             self.assertTrue(encoding["labels"].max().item() <= 2_5_5		)
  
             # Test batched input (PIL images)
             _UpperCAmelCase       , _UpperCAmelCase    :			int              =					prepare_semantic_batch_inputs()
  
             _UpperCAmelCase    :			List[Any]              =					image_processing(A  ,			A  ,			return_tensors="pt"		)
             self.assertEqual(
                 encoding["pixel_values"].shape  ,			(
                     2,
                     self.image_processor_tester.num_channels,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
             self.assertEqual(
                 encoding["labels"].shape  ,			(
                     2,
                     self.image_processor_tester.size["height"],
                     self.image_processor_tester.size["width"],
                 )  ,			)
             self.assertEqual(encoding["labels"].dtype  ,			torch.long		)
             self.assertTrue(encoding["labels"].min().item() >= 0		)
             self.assertTrue(encoding["labels"].max().item() <= 2_5_5		)
  
  
  
        def 		snake_case_      (  self  :			Dict		):
             # Initialize image_processing
             _UpperCAmelCase    :			Optional[int]              =					self.image_processing_class(**self.image_processor_dict		)
  
             # ADE20k has 150 classes, and the background is included, so labels should be between 0 and 150
             _UpperCAmelCase       , _UpperCAmelCase    :			Optional[int]              =					prepare_semantic_single_inputs()
             _UpperCAmelCase    :			Dict              =					image_processing(A  ,			A  ,			return_tensors="pt"		)
             self.assertTrue(encoding["labels"].min().item() >= 0		)
             self.assertTrue(encoding["labels"].max().item() <= 1_5_0		)
  
             _UpperCAmelCase    :			str              =					True
             _UpperCAmelCase    :			Any              =					image_processing(A  ,			A  ,			return_tensors="pt"		)
             self.assertTrue(encoding["labels"].min().item() >= 0		)
             self.assertTrue(encoding["labels"].max().item() <= 2_5_5		)
  
style_context: 
  
  
  
  """simple docstring"""
  
  
  
  
  def 		__snake_case		(   SCREAMING_SNAKE_CASE__			:		list       )						->     bool:
  
  
  
  
  
       '''simple docstring'''
  
       if not isinstance(SCREAMING_SNAKE_CASE__		,						SCREAMING_SNAKE_CASE__       ):
            raise ValueError("Input series is not valid, valid series - [1, 2/3, 2]"       )
       if len(SCREAMING_SNAKE_CASE__       ) == 0:
            raise ValueError("Input list must be a non empty list"       )
       if len(SCREAMING_SNAKE_CASE__       ) == 1 and series[0] != 0:
            return True
       _UpperCAmelCase    :			Tuple              =					[]
       _UpperCAmelCase    :			Any              =					len(SCREAMING_SNAKE_CASE__       )
       for i in range(0		,						SCREAMING_SNAKE_CASE__       ):
            if series[i] == 0:
                 raise ValueError("Input series cannot have 0 as an element"       )
            rec_series.append(1 / series[i]       )
       _UpperCAmelCase    :			Dict              =					rec_series[1] - rec_series[0]
       for index in range(2		,						SCREAMING_SNAKE_CASE__       ):
            if rec_series[index] - rec_series[index - 1] != common_diff:
                 return False
       return True
  
  def 		__snake_case		(   SCREAMING_SNAKE_CASE__			:		list       )						->     float:
  
  
  
  
  
       '''simple docstring'''
  
       if not isinstance(SCREAMING_SNAKE_CASE__		,						SCREAMING_SNAKE_CASE__       ):
            raise ValueError("Input series is not valid, valid series - [2, 4, 6]"       )
       if len(SCREAMING_SNAKE_CASE__       ) == 0:
            raise ValueError("Input list must be a non empty list"       )
       _UpperCAmelCase    :			Any              =					0
       for val in series:
            answer += 1 / val
       return len(SCREAMING_SNAKE_CASE__       ) / answer
  
  
  if __name__ == "__main__":
   import doctest
  
   doctest.testmod()
  