






'''simple docstring'''

import functools
import operator

from ...configuration_utils import PretrainedConfig
from ...utils import logging


SCREAMING_SNAKE_CASE__     =       logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__     =       {
    'facebook/wav2vec2-base-960h': 'https://huggingface.co/facebook/wav2vec2-base-960h/resolve/main/config.json',
    # See all Wav2Vec2 models at https://huggingface.co/models?filter=wav2vec2
}






class     a_						(      lowerCamelCase    ):
  lowercase							=				"""wav2vec2"""

  def __init__(				self      ,		_SCREAMING_SNAKE_CASE=32      ,		_SCREAMING_SNAKE_CASE=768      ,		_SCREAMING_SNAKE_CASE=12      ,		_SCREAMING_SNAKE_CASE=12      ,		_SCREAMING_SNAKE_CASE=3072      ,		_SCREAMING_SNAKE_CASE="gelu"      ,		_SCREAMING_SNAKE_CASE=0.1      ,		_SCREAMING_SNAKE_CASE=0.1      ,		_SCREAMING_SNAKE_CASE=0.1      ,		_SCREAMING_SNAKE_CASE=0.0      ,		_SCREAMING_SNAKE_CASE=0.0      ,		_SCREAMING_SNAKE_CASE=0.1      ,		_SCREAMING_SNAKE_CASE=0.1      ,		_SCREAMING_SNAKE_CASE=0.0_2      ,		_SCREAMING_SNAKE_CASE=1e-5      ,		_SCREAMING_SNAKE_CASE="group"      ,		_SCREAMING_SNAKE_CASE="gelu"      ,		_SCREAMING_SNAKE_CASE=(512, 512, 512, 512, 512, 512, 512)      ,		_SCREAMING_SNAKE_CASE=(5, 2, 2, 2, 2, 2, 2)      ,		_SCREAMING_SNAKE_CASE=(10, 3, 3, 3, 3, 2, 2)      ,		_SCREAMING_SNAKE_CASE=False      ,		_SCREAMING_SNAKE_CASE=128      ,		_SCREAMING_SNAKE_CASE=16      ,		_SCREAMING_SNAKE_CASE=False      ,		_SCREAMING_SNAKE_CASE=True      ,		_SCREAMING_SNAKE_CASE=0.0_5      ,		_SCREAMING_SNAKE_CASE=10      ,		_SCREAMING_SNAKE_CASE=2      ,		_SCREAMING_SNAKE_CASE=0.0      ,		_SCREAMING_SNAKE_CASE=10      ,		_SCREAMING_SNAKE_CASE=0      ,		_SCREAMING_SNAKE_CASE=320      ,		_SCREAMING_SNAKE_CASE=2      ,		_SCREAMING_SNAKE_CASE=0.1      ,		_SCREAMING_SNAKE_CASE=100      ,		_SCREAMING_SNAKE_CASE=256      ,		_SCREAMING_SNAKE_CASE=256      ,		_SCREAMING_SNAKE_CASE=0.1      ,		_SCREAMING_SNAKE_CASE="sum"      ,		_SCREAMING_SNAKE_CASE=False      ,		_SCREAMING_SNAKE_CASE=False      ,		_SCREAMING_SNAKE_CASE=256      ,		_SCREAMING_SNAKE_CASE=(512, 512, 512, 512, 1500)      ,		_SCREAMING_SNAKE_CASE=(5, 3, 3, 1, 1)      ,		_SCREAMING_SNAKE_CASE=(1, 2, 3, 1, 1)      ,		_SCREAMING_SNAKE_CASE=512      ,		_SCREAMING_SNAKE_CASE=0      ,		_SCREAMING_SNAKE_CASE=1      ,		_SCREAMING_SNAKE_CASE=2      ,		_SCREAMING_SNAKE_CASE=False      ,		_SCREAMING_SNAKE_CASE=3      ,		_SCREAMING_SNAKE_CASE=2      ,		_SCREAMING_SNAKE_CASE=3      ,		_SCREAMING_SNAKE_CASE=None      ,		_SCREAMING_SNAKE_CASE=None      ,		**_SCREAMING_SNAKE_CASE      ,		)  ->				List[str]:



        """simple docstring"""






        super().__init__(**_SCREAMING_SNAKE_CASE      ,		pad_token_id=_SCREAMING_SNAKE_CASE      ,		bos_token_id=_SCREAMING_SNAKE_CASE      ,		eos_token_id=_SCREAMING_SNAKE_CASE				)
        UpperCamelCase      = hidden_size
        UpperCamelCase      = feat_extract_norm
        UpperCamelCase      = feat_extract_activation
        UpperCamelCase      = list(_SCREAMING_SNAKE_CASE				)
        UpperCamelCase      = list(_SCREAMING_SNAKE_CASE				)
        UpperCamelCase      = list(_SCREAMING_SNAKE_CASE				)
        UpperCamelCase      = conv_bias
        UpperCamelCase      = num_conv_pos_embeddings
        UpperCamelCase      = num_conv_pos_embedding_groups
        UpperCamelCase      = len(self.conv_dim				)
        UpperCamelCase      = num_hidden_layers
        UpperCamelCase      = intermediate_size
        UpperCamelCase      = hidden_act
        UpperCamelCase      = num_attention_heads
        UpperCamelCase      = hidden_dropout
        UpperCamelCase      = attention_dropout
        UpperCamelCase      = activation_dropout
        UpperCamelCase      = feat_proj_dropout
        UpperCamelCase      = final_dropout
        UpperCamelCase      = layerdrop
        UpperCamelCase      = layer_norm_eps
        UpperCamelCase      = initializer_range
        UpperCamelCase      = vocab_size
        UpperCamelCase      = do_stable_layer_norm
        UpperCamelCase      = use_weighted_layer_sum

        if (
            (len(self.conv_stride				) != self.num_feat_extract_layers)
            or (len(self.conv_kernel				) != self.num_feat_extract_layers)
            or (len(self.conv_dim				) != self.num_feat_extract_layers)
        ):
              raise ValueError(
                  """Configuration for convolutional layers is incorrect. It is required that `len(config.conv_dim)` =="""
                  """ `len(config.conv_stride)` == `len(config.conv_kernel)`, but is `len(config.conv_dim) ="""
                  F" {len(self.conv_dim				)}`, `len(config.conv_stride) = {len(self.conv_stride				)}`,"
                  F" `len(config.conv_kernel) = {len(self.conv_kernel				)}`."				)

        # fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
        UpperCamelCase      = apply_spec_augment
        UpperCamelCase      = mask_time_prob
        UpperCamelCase      = mask_time_length
        UpperCamelCase      = mask_time_min_masks
        UpperCamelCase      = mask_feature_prob
        UpperCamelCase      = mask_feature_length
        UpperCamelCase      = mask_feature_min_masks

        # parameters for pretraining with codevector quantized representations
        UpperCamelCase      = num_codevectors_per_group
        UpperCamelCase      = num_codevector_groups
        UpperCamelCase      = contrastive_logits_temperature
        UpperCamelCase      = feat_quantizer_dropout
        UpperCamelCase      = num_negatives
        UpperCamelCase      = codevector_dim
        UpperCamelCase      = proj_codevector_dim
        UpperCamelCase      = diversity_loss_weight

        # ctc loss
        UpperCamelCase      = ctc_loss_reduction
        UpperCamelCase      = ctc_zero_infinity

        # adapter
        UpperCamelCase      = add_adapter
        UpperCamelCase      = adapter_kernel_size
        UpperCamelCase      = adapter_stride
        UpperCamelCase      = num_adapter_layers
        UpperCamelCase      = output_hidden_size or hidden_size
        UpperCamelCase      = adapter_attn_dim

        # SequenceClassification-specific parameter. Feel free to ignore for other classes.
        UpperCamelCase      = classifier_proj_size

        # XVector-specific parameters. Feel free to ignore for other classes.
        UpperCamelCase      = list(_SCREAMING_SNAKE_CASE				)
        UpperCamelCase      = list(_SCREAMING_SNAKE_CASE				)
        UpperCamelCase      = list(_SCREAMING_SNAKE_CASE				)
        UpperCamelCase      = xvector_output_dim


  @property
  def   A__						(				self				)  ->				List[str]:



        """simple docstring"""






        return functools.reduce(operator.mul      ,		self.conv_stride      ,		1				)








'''simple docstring'''

import json
import pathlib
import unittest

import numpy as np

from transformers.testing_utils import require_torch, require_vision, slow
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 ConditionalDetrImageProcessor






class     a_						(      unittest.TestCase    ):

  def __init__(				self      ,		_SCREAMING_SNAKE_CASE      ,		_SCREAMING_SNAKE_CASE=7      ,		_SCREAMING_SNAKE_CASE=3      ,		_SCREAMING_SNAKE_CASE=30      ,		_SCREAMING_SNAKE_CASE=400      ,		_SCREAMING_SNAKE_CASE=True      ,		_SCREAMING_SNAKE_CASE=None      ,		_SCREAMING_SNAKE_CASE=True      ,		_SCREAMING_SNAKE_CASE=[0.5, 0.5, 0.5]      ,		_SCREAMING_SNAKE_CASE=[0.5, 0.5, 0.5]      ,		_SCREAMING_SNAKE_CASE=True      ,		_SCREAMING_SNAKE_CASE=1 / 255      ,		_SCREAMING_SNAKE_CASE=True      ,		)  ->				Any:



        """simple docstring"""






        UpperCamelCase      = size if size is not None else {"""shortest_edge""": 18, """longest_edge""": 1333}
        UpperCamelCase      = parent
        UpperCamelCase      = batch_size
        UpperCamelCase      = num_channels
        UpperCamelCase      = min_resolution
        UpperCamelCase      = max_resolution
        UpperCamelCase      = do_resize
        UpperCamelCase      = size
        UpperCamelCase      = do_normalize
        UpperCamelCase      = image_mean
        UpperCamelCase      = image_std
        UpperCamelCase      = do_rescale
        UpperCamelCase      = rescale_factor
        UpperCamelCase      = do_pad

  def   A__						(				self				)  ->				str:



        """simple docstring"""






        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_rescale": self.do_rescale,
            "rescale_factor": self.rescale_factor,
            "do_pad": self.do_pad,
        }


  def   A__						(				self      ,		_SCREAMING_SNAKE_CASE      ,		_SCREAMING_SNAKE_CASE=False				)  ->				Optional[int]:



        """simple docstring"""






        if not batched:
              UpperCamelCase      = image_inputs[0]
              if isinstance(_SCREAMING_SNAKE_CASE      ,		Image.Image				):
                    UpperCamelCase  ,UpperCamelCase      = image.size
              else:
                    UpperCamelCase  ,UpperCamelCase      = image.shape[1], image.shape[2]
              if w < h:
                    UpperCamelCase      = int(self.size["""shortest_edge"""] * h / w				)
                    UpperCamelCase      = self.size["""shortest_edge"""]
              elif w > h:
                    UpperCamelCase      = self.size["""shortest_edge"""]
                    UpperCamelCase      = int(self.size["""shortest_edge"""] * w / h				)
              else:
                    UpperCamelCase      = self.size["""shortest_edge"""]
                    UpperCamelCase      = self.size["""shortest_edge"""]

        else:
              UpperCamelCase      = []
              for image in image_inputs:
                    UpperCamelCase  ,UpperCamelCase      = self.get_expected_values([image]				)
                    expected_values.append((expected_height, expected_width)				)
              UpperCamelCase      = max(_SCREAMING_SNAKE_CASE      ,		key=lambda _SCREAMING_SNAKE_CASE				: item[0]				)[0]
              UpperCamelCase      = max(_SCREAMING_SNAKE_CASE      ,		key=lambda _SCREAMING_SNAKE_CASE				: item[1]				)[1]

        return expected_height, expected_width






@require_torch
@require_vision
class     a_						(      lowerCamelCase     ,	unittest.TestCase    ):
  lowercase							=				ConditionalDetrImageProcessor if is_vision_available() else None

  def   A__						(				self				)  ->				Union[str, Any]:



        """simple docstring"""






        UpperCamelCase      = ConditionalDetrImageProcessingTester(self				)

  @property
  def   A__						(				self				)  ->				List[Any]:



        """simple docstring"""






        return self.image_processor_tester.prepare_image_processor_dict()

  def   A__						(				self				)  ->				str:



        """simple docstring"""






        UpperCamelCase      = self.image_processing_class(**self.image_processor_dict				)
        self.assertTrue(hasattr(_SCREAMING_SNAKE_CASE      ,		"""image_mean"""				)				)
        self.assertTrue(hasattr(_SCREAMING_SNAKE_CASE      ,		"""image_std"""				)				)
        self.assertTrue(hasattr(_SCREAMING_SNAKE_CASE      ,		"""do_normalize"""				)				)
        self.assertTrue(hasattr(_SCREAMING_SNAKE_CASE      ,		"""do_resize"""				)				)
        self.assertTrue(hasattr(_SCREAMING_SNAKE_CASE      ,		"""size"""				)				)

  def   A__						(				self				)  ->				Dict:



        """simple docstring"""






        UpperCamelCase      = self.image_processing_class.from_dict(self.image_processor_dict				)
        self.assertEqual(image_processor.size      ,		{"""shortest_edge""": 18, """longest_edge""": 1333}				)
        self.assertEqual(image_processor.do_pad      ,		_SCREAMING_SNAKE_CASE				)

        UpperCamelCase      = self.image_processing_class.from_dict(
            self.image_processor_dict      ,		size=42      ,		max_size=84      ,		pad_and_return_pixel_mask=_SCREAMING_SNAKE_CASE				)
        self.assertEqual(image_processor.size      ,		{"""shortest_edge""": 42, """longest_edge""": 84}				)
        self.assertEqual(image_processor.do_pad      ,		_SCREAMING_SNAKE_CASE				)

  def   A__						(				self				)  ->				Union[str, Any]:



        """simple docstring"""






        pass

  def   A__						(				self				)  ->				List[Any]:



        """simple docstring"""






        UpperCamelCase      = self.image_processing_class(**self.image_processor_dict				)
        # create random PIL images
        UpperCamelCase      = prepare_image_inputs(self.image_processor_tester      ,		equal_resolution=_SCREAMING_SNAKE_CASE				)
        for image in image_inputs:
              self.assertIsInstance(_SCREAMING_SNAKE_CASE      ,		Image.Image				)

        # Test not batched input
        UpperCamelCase      = image_processing(image_inputs[0]      ,		return_tensors="""pt"""				).pixel_values

        UpperCamelCase  ,UpperCamelCase      = self.image_processor_tester.get_expected_values(_SCREAMING_SNAKE_CASE				)

        self.assertEqual(
            encoded_images.shape      ,		(1, self.image_processor_tester.num_channels, expected_height, expected_width)      ,		)

        # Test batched
        UpperCamelCase  ,UpperCamelCase      = self.image_processor_tester.get_expected_values(_SCREAMING_SNAKE_CASE      ,		batched=_SCREAMING_SNAKE_CASE				)

        UpperCamelCase      = image_processing(_SCREAMING_SNAKE_CASE      ,		return_tensors="""pt"""				).pixel_values
        self.assertEqual(
            encoded_images.shape      ,		(
                self.image_processor_tester.batch_size,
                self.image_processor_tester.num_channels,
                expected_height,
                expected_width,
            )      ,		)

  def   A__						(				self				)  ->				Optional[int]:



        """simple docstring"""






        UpperCamelCase      = self.image_processing_class(**self.image_processor_dict				)
        # create random numpy tensors
        UpperCamelCase      = prepare_image_inputs(self.image_processor_tester      ,		equal_resolution=_SCREAMING_SNAKE_CASE      ,		numpify=_SCREAMING_SNAKE_CASE				)
        for image in image_inputs:
              self.assertIsInstance(_SCREAMING_SNAKE_CASE      ,		np.ndarray				)

        # Test not batched input
        UpperCamelCase      = image_processing(image_inputs[0]      ,		return_tensors="""pt"""				).pixel_values

        UpperCamelCase  ,UpperCamelCase      = self.image_processor_tester.get_expected_values(_SCREAMING_SNAKE_CASE				)

        self.assertEqual(
            encoded_images.shape      ,		(1, self.image_processor_tester.num_channels, expected_height, expected_width)      ,		)

        # Test batched
        UpperCamelCase      = image_processing(_SCREAMING_SNAKE_CASE      ,		return_tensors="""pt"""				).pixel_values

        UpperCamelCase  ,UpperCamelCase      = self.image_processor_tester.get_expected_values(_SCREAMING_SNAKE_CASE      ,		batched=_SCREAMING_SNAKE_CASE				)

        self.assertEqual(
            encoded_images.shape      ,		(
                self.image_processor_tester.batch_size,
                self.image_processor_tester.num_channels,
                expected_height,
                expected_width,
            )      ,		)

  def   A__						(				self				)  ->				List[str]:



        """simple docstring"""






        UpperCamelCase      = self.image_processing_class(**self.image_processor_dict				)
        # create random PyTorch tensors
        UpperCamelCase      = prepare_image_inputs(self.image_processor_tester      ,		equal_resolution=_SCREAMING_SNAKE_CASE      ,		torchify=_SCREAMING_SNAKE_CASE				)
        for image in image_inputs:
              self.assertIsInstance(_SCREAMING_SNAKE_CASE      ,		torch.Tensor				)

        # Test not batched input
        UpperCamelCase      = image_processing(image_inputs[0]      ,		return_tensors="""pt"""				).pixel_values

        UpperCamelCase  ,UpperCamelCase      = self.image_processor_tester.get_expected_values(_SCREAMING_SNAKE_CASE				)

        self.assertEqual(
            encoded_images.shape      ,		(1, self.image_processor_tester.num_channels, expected_height, expected_width)      ,		)

        # Test batched
        UpperCamelCase      = image_processing(_SCREAMING_SNAKE_CASE      ,		return_tensors="""pt"""				).pixel_values

        UpperCamelCase  ,UpperCamelCase      = self.image_processor_tester.get_expected_values(_SCREAMING_SNAKE_CASE      ,		batched=_SCREAMING_SNAKE_CASE				)

        self.assertEqual(
            encoded_images.shape      ,		(
                self.image_processor_tester.batch_size,
                self.image_processor_tester.num_channels,
                expected_height,
                expected_width,
            )      ,		)

  @slow
  def   A__						(				self				)  ->				Any:



        """simple docstring"""






        UpperCamelCase      = Image.open("""./tests/fixtures/tests_samples/COCO/000000039769.png"""				)
        with open("""./tests/fixtures/tests_samples/COCO/coco_annotations.txt"""      ,		"""r"""				) as f:
              UpperCamelCase      = json.loads(f.read()				)

        UpperCamelCase      = {"""image_id""": 39769, """annotations""": target}

        # encode them
        UpperCamelCase      = ConditionalDetrImageProcessor.from_pretrained("""microsoft/conditional-detr-resnet-50"""				)
        UpperCamelCase      = image_processing(images=_SCREAMING_SNAKE_CASE      ,		annotations=_SCREAMING_SNAKE_CASE      ,		return_tensors="""pt"""				)

        # verify pixel values
        UpperCamelCase      = torch.Size([1, 3, 800, 1066]				)
        self.assertEqual(encoding["""pixel_values"""].shape      ,		_SCREAMING_SNAKE_CASE				)

        UpperCamelCase      = torch.tensor([0.2_7_9_6, 0.3_1_3_8, 0.3_4_8_1]				)
        self.assertTrue(torch.allclose(encoding["""pixel_values"""][0, 0, 0, :3]      ,		_SCREAMING_SNAKE_CASE      ,		atol=1e-4				)				)

        # verify area
        UpperCamelCase      = torch.tensor([5_8_8_7.9_6_0_0, 1_1_2_5_0.2_0_6_1, 4_8_9_3_5_3.8_4_3_8, 8_3_7_1_2_2.7_5_0_0, 1_4_7_9_6_7.5_1_5_6, 1_6_5_7_3_2.3_4_3_8]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""area"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify boxes
        UpperCamelCase      = torch.Size([6, 4]				)
        self.assertEqual(encoding["""labels"""][0]["""boxes"""].shape      ,		_SCREAMING_SNAKE_CASE				)
        UpperCamelCase      = torch.tensor([0.5_5_0_3, 0.2_7_6_5, 0.0_6_0_4, 0.2_2_1_5]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""boxes"""][0]      ,		_SCREAMING_SNAKE_CASE      ,		atol=1e-3				)				)
        # verify image_id
        UpperCamelCase      = torch.tensor([39769]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""image_id"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify is_crowd
        UpperCamelCase      = torch.tensor([0, 0, 0, 0, 0, 0]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""iscrowd"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify class_labels
        UpperCamelCase      = torch.tensor([75, 75, 63, 65, 17, 17]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""class_labels"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify orig_size
        UpperCamelCase      = torch.tensor([480, 640]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""orig_size"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify size
        UpperCamelCase      = torch.tensor([800, 1066]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""size"""]      ,		_SCREAMING_SNAKE_CASE				)				)


  @slow
  def   A__						(				self				)  ->				List[str]:



        """simple docstring"""






        UpperCamelCase      = Image.open("""./tests/fixtures/tests_samples/COCO/000000039769.png"""				)
        with open("""./tests/fixtures/tests_samples/COCO/coco_panoptic_annotations.txt"""      ,		"""r"""				) as f:
              UpperCamelCase      = json.loads(f.read()				)

        UpperCamelCase      = {"""file_name""": """000000039769.png""", """image_id""": 39769, """segments_info""": target}

        UpperCamelCase      = pathlib.Path("""./tests/fixtures/tests_samples/COCO/coco_panoptic"""				)

        # encode them
        UpperCamelCase      = ConditionalDetrImageProcessor(format="""coco_panoptic"""				)
        UpperCamelCase      = image_processing(images=_SCREAMING_SNAKE_CASE      ,		annotations=_SCREAMING_SNAKE_CASE      ,		masks_path=_SCREAMING_SNAKE_CASE      ,		return_tensors="""pt"""				)

        # verify pixel values
        UpperCamelCase      = torch.Size([1, 3, 800, 1066]				)
        self.assertEqual(encoding["""pixel_values"""].shape      ,		_SCREAMING_SNAKE_CASE				)

        UpperCamelCase      = torch.tensor([0.2_7_9_6, 0.3_1_3_8, 0.3_4_8_1]				)
        self.assertTrue(torch.allclose(encoding["""pixel_values"""][0, 0, 0, :3]      ,		_SCREAMING_SNAKE_CASE      ,		atol=1e-4				)				)

        # verify area
        UpperCamelCase      = torch.tensor([1_4_7_9_7_9.6_8_7_5, 1_6_5_5_2_7.0_4_6_9, 4_8_4_6_3_8.5_9_3_8, 1_1_2_9_2.9_3_7_5, 5_8_7_9.6_5_6_2, 7_6_3_4.1_1_4_7]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""area"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify boxes
        UpperCamelCase      = torch.Size([6, 4]				)
        self.assertEqual(encoding["""labels"""][0]["""boxes"""].shape      ,		_SCREAMING_SNAKE_CASE				)
        UpperCamelCase      = torch.tensor([0.2_6_2_5, 0.5_4_3_7, 0.4_6_8_8, 0.8_6_2_5]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""boxes"""][0]      ,		_SCREAMING_SNAKE_CASE      ,		atol=1e-3				)				)
        # verify image_id
        UpperCamelCase      = torch.tensor([39769]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""image_id"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify is_crowd
        UpperCamelCase      = torch.tensor([0, 0, 0, 0, 0, 0]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""iscrowd"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify class_labels
        UpperCamelCase      = torch.tensor([17, 17, 63, 75, 75, 93]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""class_labels"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify masks
        UpperCamelCase      = 822873
        self.assertEqual(encoding["""labels"""][0]["""masks"""].sum().item()      ,		_SCREAMING_SNAKE_CASE				)
        # verify orig_size
        UpperCamelCase      = torch.tensor([480, 640]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""orig_size"""]      ,		_SCREAMING_SNAKE_CASE				)				)
        # verify size
        UpperCamelCase      = torch.tensor([800, 1066]				)
        self.assertTrue(torch.allclose(encoding["""labels"""][0]["""size"""]      ,		_SCREAMING_SNAKE_CASE				)				)
