

'''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 BeitImageProcessor






class    snake_case     (      unittest.TestCase		):






				"""simple docstring"""



				def __init__(    self,     _lowercase,     _lowercase=7,     _lowercase=3,     _lowercase=18,     _lowercase=30,     _lowercase=400,     _lowercase=True,     _lowercase=None,     _lowercase=True,     _lowercase=None,     _lowercase=True,     _lowercase=[0.5, 0.5, 0.5],     _lowercase=[0.5, 0.5, 0.5],     _lowercase=False,     )     ->							List[Any]:
											SCREAMING_SNAKE_CASE_				=				size if size is not None else {'height': 20, 'width': 20}
											SCREAMING_SNAKE_CASE_				=				crop_size if crop_size is not None else {'height': 18, 'width': 18}
											SCREAMING_SNAKE_CASE_				=				parent
											SCREAMING_SNAKE_CASE_				=				batch_size
											SCREAMING_SNAKE_CASE_				=				num_channels
											SCREAMING_SNAKE_CASE_				=				image_size
											SCREAMING_SNAKE_CASE_				=				min_resolution
											SCREAMING_SNAKE_CASE_				=				max_resolution
											SCREAMING_SNAKE_CASE_				=				do_resize
											SCREAMING_SNAKE_CASE_				=				size
											SCREAMING_SNAKE_CASE_				=				do_center_crop
											SCREAMING_SNAKE_CASE_				=				crop_size
											SCREAMING_SNAKE_CASE_				=				do_normalize
											SCREAMING_SNAKE_CASE_				=				image_mean
											SCREAMING_SNAKE_CASE_				=				image_std
											SCREAMING_SNAKE_CASE_				=				do_reduce_labels





				def   a__					(    self       )     ->							List[Any]:
											return {
											    "do_resize": self.do_resize,
											    "size": self.size,
											    "do_center_crop": self.do_center_crop,
											    "crop_size": self.crop_size,
											    "do_normalize": self.do_normalize,
											    "image_mean": self.image_mean,
											    "image_std": self.image_std,
											    "do_reduce_labels": self.do_reduce_labels,
											}




def 							_UpperCamelCase				(   )      -> Optional[Any]:
							SCREAMING_SNAKE_CASE_				=				load_dataset('hf-internal-testing/fixtures_ade20k'		,split='test'   )

							SCREAMING_SNAKE_CASE_				=				Image.open(dataset[0]['file']   )
							SCREAMING_SNAKE_CASE_				=				Image.open(dataset[1]['file']   )

							return image, map




def 							_UpperCamelCase				(   )      -> Union[str, Any]:
							SCREAMING_SNAKE_CASE_				=				load_dataset('hf-internal-testing/fixtures_ade20k'		,split='test'   )

							SCREAMING_SNAKE_CASE_				=				Image.open(ds[0]['file']   )
							SCREAMING_SNAKE_CASE_				=				Image.open(ds[1]['file']   )
							SCREAMING_SNAKE_CASE_				=				Image.open(ds[2]['file']   )
							SCREAMING_SNAKE_CASE_				=				Image.open(ds[3]['file']   )

							return [imagea, imagea], [mapa, mapa]






@require_torch
@require_vision
class    snake_case     (      lowercase_,						unittest.TestCase		):






				"""simple docstring"""
				_a    	=     BeitImageProcessor if is_vision_available() else None



				def   a__					(    self       )     ->							Tuple:
											SCREAMING_SNAKE_CASE_				=				BeitImageProcessingTester(self       )



				@property
				def   a__					(    self       )     ->							Any:
											return self.image_processor_tester.prepare_image_processor_dict()



				def   a__					(    self       )     ->							Tuple:
											SCREAMING_SNAKE_CASE_				=				self.image_processing_class(**self.image_processor_dict       )
											self.assertTrue(hasattr(_lowercase,     'do_resize'       )       )
											self.assertTrue(hasattr(_lowercase,     'size'       )       )
											self.assertTrue(hasattr(_lowercase,     'do_center_crop'       )       )
											self.assertTrue(hasattr(_lowercase,     'center_crop'       )       )
											self.assertTrue(hasattr(_lowercase,     'do_normalize'       )       )
											self.assertTrue(hasattr(_lowercase,     'image_mean'       )       )
											self.assertTrue(hasattr(_lowercase,     'image_std'       )       )



				def   a__					(    self       )     ->							Optional[int]:
											SCREAMING_SNAKE_CASE_				=				self.image_processing_class.from_dict(self.image_processor_dict       )
											self.assertEqual(image_processor.size,     {'height': 20, 'width': 20}       )
											self.assertEqual(image_processor.crop_size,     {'height': 18, 'width': 18}       )
											self.assertEqual(image_processor.do_reduce_labels,     _lowercase       )

											SCREAMING_SNAKE_CASE_				=				self.image_processing_class.from_dict(
											    self.image_processor_dict,     size=42,     crop_size=84,     reduce_labels=_lowercase       )
											self.assertEqual(image_processor.size,     {'height': 42, 'width': 42}       )
											self.assertEqual(image_processor.crop_size,     {'height': 84, 'width': 84}       )
											self.assertEqual(image_processor.do_reduce_labels,     _lowercase       )



				def   a__					(    self       )     ->							str:
											pass



				def   a__					(    self       )     ->							Optional[Any]:
											# Initialize image_processing
											SCREAMING_SNAKE_CASE_				=				self.image_processing_class(**self.image_processor_dict       )
											# create random PIL images
											SCREAMING_SNAKE_CASE_				=				prepare_image_inputs(self.image_processor_tester,     equal_resolution=_lowercase       )
											for image in image_inputs:
																		self.assertIsInstance(_lowercase,     Image.Image       )

											# Test not batched input
											SCREAMING_SNAKE_CASE_				=				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.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )

											# Test batched
											SCREAMING_SNAKE_CASE_				=				image_processing(_lowercase,     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.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )



				def   a__					(    self       )     ->							int:
											# Initialize image_processing
											SCREAMING_SNAKE_CASE_				=				self.image_processing_class(**self.image_processor_dict       )
											# create random numpy tensors
											SCREAMING_SNAKE_CASE_				=				prepare_image_inputs(self.image_processor_tester,     equal_resolution=_lowercase,     numpify=_lowercase       )
											for image in image_inputs:
																		self.assertIsInstance(_lowercase,     np.ndarray       )

											# Test not batched input
											SCREAMING_SNAKE_CASE_				=				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.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )

											# Test batched
											SCREAMING_SNAKE_CASE_				=				image_processing(_lowercase,     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.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )



				def   a__					(    self       )     ->							List[Any]:
											# Initialize image_processing
											SCREAMING_SNAKE_CASE_				=				self.image_processing_class(**self.image_processor_dict       )
											# create random PyTorch tensors
											SCREAMING_SNAKE_CASE_				=				prepare_image_inputs(self.image_processor_tester,     equal_resolution=_lowercase,     torchify=_lowercase       )
											for image in image_inputs:
																		self.assertIsInstance(_lowercase,     torch.Tensor       )

											# Test not batched input
											SCREAMING_SNAKE_CASE_				=				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.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )

											# Test batched
											SCREAMING_SNAKE_CASE_				=				image_processing(_lowercase,     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.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )



				def   a__					(    self       )     ->							Optional[Any]:
											# Initialize image_processing
											SCREAMING_SNAKE_CASE_				=				self.image_processing_class(**self.image_processor_dict       )
											# create random PyTorch tensors
											SCREAMING_SNAKE_CASE_				=				prepare_image_inputs(self.image_processor_tester,     equal_resolution=_lowercase,     torchify=_lowercase       )
											SCREAMING_SNAKE_CASE_				=				[]
											for image in image_inputs:
																		self.assertIsInstance(_lowercase,     torch.Tensor       )
																		maps.append(torch.zeros(image.shape[-2:]       ).long()       )

											# Test not batched input
											SCREAMING_SNAKE_CASE_				=				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.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )
											self.assertEqual(
											    encoding['labels'].shape,     (
											        1,
											        self.image_processor_tester.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )
											self.assertEqual(encoding['labels'].dtype,     torch.long       )
											self.assertTrue(encoding['labels'].min().item() >= 0       )
											self.assertTrue(encoding['labels'].max().item() <= 255       )

											# Test batched
											SCREAMING_SNAKE_CASE_				=				image_processing(_lowercase,     _lowercase,     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.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )
											self.assertEqual(
											    encoding['labels'].shape,     (
											        self.image_processor_tester.batch_size,
											        self.image_processor_tester.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )
											self.assertEqual(encoding['labels'].dtype,     torch.long       )
											self.assertTrue(encoding['labels'].min().item() >= 0       )
											self.assertTrue(encoding['labels'].max().item() <= 255       )

											# Test not batched input (PIL images)
											SCREAMING_SNAKE_CASE_				,    SCREAMING_SNAKE_CASE_				=				prepare_semantic_single_inputs()

											SCREAMING_SNAKE_CASE_				=				image_processing(_lowercase,     _lowercase,     return_tensors='pt'       )
											self.assertEqual(
											    encoding['pixel_values'].shape,     (
											        1,
											        self.image_processor_tester.num_channels,
											        self.image_processor_tester.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )
											self.assertEqual(
											    encoding['labels'].shape,     (
											        1,
											        self.image_processor_tester.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )
											self.assertEqual(encoding['labels'].dtype,     torch.long       )
											self.assertTrue(encoding['labels'].min().item() >= 0       )
											self.assertTrue(encoding['labels'].max().item() <= 255       )

											# Test batched input (PIL images)
											SCREAMING_SNAKE_CASE_				,    SCREAMING_SNAKE_CASE_				=				prepare_semantic_batch_inputs()

											SCREAMING_SNAKE_CASE_				=				image_processing(_lowercase,     _lowercase,     return_tensors='pt'       )
											self.assertEqual(
											    encoding['pixel_values'].shape,     (
											        2,
											        self.image_processor_tester.num_channels,
											        self.image_processor_tester.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )
											self.assertEqual(
											    encoding['labels'].shape,     (
											        2,
											        self.image_processor_tester.crop_size['height'],
											        self.image_processor_tester.crop_size['width'],
											    ),     )
											self.assertEqual(encoding['labels'].dtype,     torch.long       )
											self.assertTrue(encoding['labels'].min().item() >= 0       )
											self.assertTrue(encoding['labels'].max().item() <= 255       )





				def   a__					(    self       )     ->							Any:
											# Initialize image_processing
											SCREAMING_SNAKE_CASE_				=				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
											SCREAMING_SNAKE_CASE_				,    SCREAMING_SNAKE_CASE_				=				prepare_semantic_single_inputs()
											SCREAMING_SNAKE_CASE_				=				image_processing(_lowercase,     _lowercase,     return_tensors='pt'       )
											self.assertTrue(encoding['labels'].min().item() >= 0       )
											self.assertTrue(encoding['labels'].max().item() <= 150       )

											SCREAMING_SNAKE_CASE_				=				True
											SCREAMING_SNAKE_CASE_				=				image_processing(_lowercase,     _lowercase,     return_tensors='pt'       )
											self.assertTrue(encoding['labels'].min().item() >= 0       )
											self.assertTrue(encoding['labels'].max().item() <= 255       )








'''simple docstring'''

import unittest

from transformers import MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING, is_vision_available, pipeline
from transformers.testing_utils import (
    is_pipeline_test,
    nested_simplify,
    require_tf,
    require_torch,
    require_vision,
    slow,
)

from .test_pipelines_common import ANY


if is_vision_available():
							from PIL import Image
else:






							class    snake_case     :






											"""simple docstring"""



											@staticmethod
											def   a__					(    *_lowercase,     **_lowercase       )     ->							Tuple:
																		pass






@is_pipeline_test
@require_vision
@require_torch
class    snake_case     (      unittest.TestCase		):






				"""simple docstring"""
				_a    	=     MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING



				def   a__					(    self,     _lowercase,     _lowercase,     _lowercase       )     ->							Tuple:
											SCREAMING_SNAKE_CASE_				=				pipeline(
											    'zero-shot-object-detection',     model='hf-internal-testing/tiny-random-owlvit-object-detection'       )

											SCREAMING_SNAKE_CASE_				=				[
											    {
											        'image': './tests/fixtures/tests_samples/COCO/000000039769.png',
											        'candidate_labels': ['cat', 'remote', 'couch'],
											    }
											]
											return object_detector, examples



				def   a__					(    self,     _lowercase,     _lowercase       )     ->							str:
											SCREAMING_SNAKE_CASE_				=				object_detector(examples[0],     threshold=0.0       )

											SCREAMING_SNAKE_CASE_				=				len(_lowercase       )
											self.assertGreater(_lowercase,     0       )
											self.assertEqual(
											    _lowercase,     [
											        {
											            'score': ANY(_lowercase       ),
											            'label': ANY(_lowercase       ),
											            'box': {'xmin': ANY(_lowercase       ), 'ymin': ANY(_lowercase       ), 'xmax': ANY(_lowercase       ), 'ymax': ANY(_lowercase       )},
											        }
											        for i in range(_lowercase       )
											    ],     )



				@require_tf
				@unittest.skip('Zero Shot Object Detection not implemented in TF'       )
				def   a__					(    self       )     ->							Union[str, Any]:
											pass



				@require_torch
				def   a__					(    self       )     ->							str:
											SCREAMING_SNAKE_CASE_				=				pipeline(
											    'zero-shot-object-detection',     model='hf-internal-testing/tiny-random-owlvit-object-detection'       )

											SCREAMING_SNAKE_CASE_				=				object_detector(
											    './tests/fixtures/tests_samples/COCO/000000039769.png',     candidate_labels=['cat', 'remote', 'couch'],     threshold=0.64,     )

											self.assertEqual(
											    nested_simplify(_lowercase,     decimals=4       ),     [
											        {'score': 0.7_235, 'label': 'cat', 'box': {'xmin': 204, 'ymin': 167, 'xmax': 232, 'ymax': 190}},
											        {'score': 0.7_218, 'label': 'remote', 'box': {'xmin': 204, 'ymin': 167, 'xmax': 232, 'ymax': 190}},
											        {'score': 0.7_184, 'label': 'couch', 'box': {'xmin': 204, 'ymin': 167, 'xmax': 232, 'ymax': 190}},
											        {'score': 0.6_748, 'label': 'remote', 'box': {'xmin': 571, 'ymin': 83, 'xmax': 598, 'ymax': 103}},
											        {'score': 0.6_656, 'label': 'cat', 'box': {'xmin': 571, 'ymin': 83, 'xmax': 598, 'ymax': 103}},
											        {'score': 0.6_614, 'label': 'couch', 'box': {'xmin': 571, 'ymin': 83, 'xmax': 598, 'ymax': 103}},
											        {'score': 0.6_456, 'label': 'remote', 'box': {'xmin': 494, 'ymin': 105, 'xmax': 521, 'ymax': 127}},
											        {'score': 0.642, 'label': 'remote', 'box': {'xmin': 67, 'ymin': 274, 'xmax': 93, 'ymax': 297}},
											        {'score': 0.6_419, 'label': 'cat', 'box': {'xmin': 494, 'ymin': 105, 'xmax': 521, 'ymax': 127}},
											    ],     )

											SCREAMING_SNAKE_CASE_				=				object_detector(
											    [
											        {
											            'image': './tests/fixtures/tests_samples/COCO/000000039769.png',
											            'candidate_labels': ['cat', 'remote', 'couch'],
											        }
											    ],     threshold=0.64,     )

											self.assertEqual(
											    nested_simplify(_lowercase,     decimals=4       ),     [
											        [
											            {'score': 0.7_235, 'label': 'cat', 'box': {'xmin': 204, 'ymin': 167, 'xmax': 232, 'ymax': 190}},
											            {'score': 0.7_218, 'label': 'remote', 'box': {'xmin': 204, 'ymin': 167, 'xmax': 232, 'ymax': 190}},
											            {'score': 0.7_184, 'label': 'couch', 'box': {'xmin': 204, 'ymin': 167, 'xmax': 232, 'ymax': 190}},
											            {'score': 0.6_748, 'label': 'remote', 'box': {'xmin': 571, 'ymin': 83, 'xmax': 598, 'ymax': 103}},
											            {'score': 0.6_656, 'label': 'cat', 'box': {'xmin': 571, 'ymin': 83, 'xmax': 598, 'ymax': 103}},
											            {'score': 0.6_614, 'label': 'couch', 'box': {'xmin': 571, 'ymin': 83, 'xmax': 598, 'ymax': 103}},
											            {'score': 0.6_456, 'label': 'remote', 'box': {'xmin': 494, 'ymin': 105, 'xmax': 521, 'ymax': 127}},
											            {'score': 0.642, 'label': 'remote', 'box': {'xmin': 67, 'ymin': 274, 'xmax': 93, 'ymax': 297}},
											            {'score': 0.6_419, 'label': 'cat', 'box': {'xmin': 494, 'ymin': 105, 'xmax': 521, 'ymax': 127}},
											        ]
											    ],     )



				@require_torch
				@slow
				def   a__					(    self       )     ->							Optional[int]:
											SCREAMING_SNAKE_CASE_				=				pipeline('zero-shot-object-detection'       )

											SCREAMING_SNAKE_CASE_				=				object_detector(
											    'http://images.cocodataset.org/val2017/000000039769.jpg',     candidate_labels=['cat', 'remote', 'couch'],     )
											self.assertEqual(
											    nested_simplify(_lowercase,     decimals=4       ),     [
											        {'score': 0.2_868, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}},
											        {'score': 0.277, 'label': 'remote', 'box': {'xmin': 40, 'ymin': 72, 'xmax': 177, 'ymax': 115}},
											        {'score': 0.2_537, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}},
											        {'score': 0.1_474, 'label': 'remote', 'box': {'xmin': 335, 'ymin': 74, 'xmax': 371, 'ymax': 187}},
											        {'score': 0.1_208, 'label': 'couch', 'box': {'xmin': 4, 'ymin': 0, 'xmax': 642, 'ymax': 476}},
											    ],     )

											SCREAMING_SNAKE_CASE_				=				object_detector(
											    [
											        {
											            'image': 'http://images.cocodataset.org/val2017/000000039769.jpg',
											            'candidate_labels': ['cat', 'remote', 'couch'],
											        },
											        {
											            'image': 'http://images.cocodataset.org/val2017/000000039769.jpg',
											            'candidate_labels': ['cat', 'remote', 'couch'],
											        },
											    ],     )
											self.assertEqual(
											    nested_simplify(_lowercase,     decimals=4       ),     [
											        [
											            {'score': 0.2_868, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}},
											            {'score': 0.277, 'label': 'remote', 'box': {'xmin': 40, 'ymin': 72, 'xmax': 177, 'ymax': 115}},
											            {'score': 0.2_537, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}},
											            {'score': 0.1_474, 'label': 'remote', 'box': {'xmin': 335, 'ymin': 74, 'xmax': 371, 'ymax': 187}},
											            {'score': 0.1_208, 'label': 'couch', 'box': {'xmin': 4, 'ymin': 0, 'xmax': 642, 'ymax': 476}},
											        ],
											        [
											            {'score': 0.2_868, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}},
											            {'score': 0.277, 'label': 'remote', 'box': {'xmin': 40, 'ymin': 72, 'xmax': 177, 'ymax': 115}},
											            {'score': 0.2_537, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}},
											            {'score': 0.1_474, 'label': 'remote', 'box': {'xmin': 335, 'ymin': 74, 'xmax': 371, 'ymax': 187}},
											            {'score': 0.1_208, 'label': 'couch', 'box': {'xmin': 4, 'ymin': 0, 'xmax': 642, 'ymax': 476}},
											        ],
											    ],     )



				@require_tf
				@unittest.skip('Zero Shot Object Detection not implemented in TF'       )
				def   a__					(    self       )     ->							Optional[Any]:
											pass



				@require_torch
				@slow
				def   a__					(    self       )     ->							Any:
											SCREAMING_SNAKE_CASE_				=				0.2
											SCREAMING_SNAKE_CASE_				=				pipeline('zero-shot-object-detection'       )

											SCREAMING_SNAKE_CASE_				=				object_detector(
											    'http://images.cocodataset.org/val2017/000000039769.jpg',     candidate_labels=['cat', 'remote', 'couch'],     threshold=_lowercase,     )
											self.assertEqual(
											    nested_simplify(_lowercase,     decimals=4       ),     [
											        {'score': 0.2_868, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}},
											        {'score': 0.277, 'label': 'remote', 'box': {'xmin': 40, 'ymin': 72, 'xmax': 177, 'ymax': 115}},
											        {'score': 0.2_537, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}},
											    ],     )





				@require_torch
				@slow
				def   a__					(    self       )     ->							int:
											SCREAMING_SNAKE_CASE_				=				2
											SCREAMING_SNAKE_CASE_				=				pipeline('zero-shot-object-detection'       )

											SCREAMING_SNAKE_CASE_				=				object_detector(
											    'http://images.cocodataset.org/val2017/000000039769.jpg',     candidate_labels=['cat', 'remote', 'couch'],     top_k=_lowercase,     )
											self.assertEqual(
											    nested_simplify(_lowercase,     decimals=4       ),     [
											        {'score': 0.2_868, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}},
											        {'score': 0.277, 'label': 'remote', 'box': {'xmin': 40, 'ymin': 72, 'xmax': 177, 'ymax': 115}},
											    ],     )





