


'''simple docstring'''
import unittest

from transformers import (
    MODEL_FOR_OBJECT_DETECTION_MAPPING,
    AutoFeatureExtractor,
    AutoModelForObjectDetection,
    ObjectDetectionPipeline,
    is_vision_available,
    pipeline,
)
from transformers.testing_utils import (
    is_pipeline_test,
    nested_simplify,
    require_pytesseract,
    require_tf,
    require_timm,
    require_torch,
    require_vision,
    slow,
)

from .test_pipelines_common import ANY


if is_vision_available():
		from PIL import Image
else:
		class   lowercase      :

				"""simple docstring"""

				@staticmethod
				def        lowerCAmelCase__							(						*UpperCamelCase_       ,  **UpperCamelCase_				):

									'''simple docstring'''


									pass
@is_pipeline_test
@require_vision
@require_timm
@require_torch
class   lowercase      (				unittest.TestCase   ):

		"""simple docstring"""

		_a       					=							MODEL_FOR_OBJECT_DETECTION_MAPPING




		def        lowerCAmelCase__							(						self       ,  UpperCamelCase_       ,  UpperCamelCase_       ,  UpperCamelCase_				):

							'''simple docstring'''


							UpperCamelCase__  :Any				   =					ObjectDetectionPipeline(model=UpperCamelCase_       ,  image_processor=UpperCamelCase_				)
							return object_detector, ["./tests/fixtures/tests_samples/COCO/000000039769.png"]




		def        lowerCAmelCase__							(						self       ,  UpperCamelCase_       ,  UpperCamelCase_				):

							'''simple docstring'''


							UpperCamelCase__  :Tuple				   =					object_detector('''./tests/fixtures/tests_samples/COCO/000000039769.png'''       ,  threshold=0.0				)

							self.assertGreater(len(UpperCamelCase_				)       ,  0				)
							for detected_object in outputs:
												self.assertEqual(
												    UpperCamelCase_       ,  {
												        '''score''': ANY(UpperCamelCase_				),
												        '''label''': ANY(UpperCamelCase_				),
												        '''box''': {'''xmin''': ANY(UpperCamelCase_				), '''ymin''': ANY(UpperCamelCase_				), '''xmax''': ANY(UpperCamelCase_				), '''ymax''': ANY(UpperCamelCase_				)},
												    }       ,  )

							import datasets

							UpperCamelCase__  :int				   =					datasets.load_dataset('''hf-internal-testing/fixtures_image_utils'''       ,  '''image'''       ,  split='''test'''				)

							UpperCamelCase__  :Any				   =					[
							    Image.open('''./tests/fixtures/tests_samples/COCO/000000039769.png'''				),
							    '''http://images.cocodataset.org/val2017/000000039769.jpg''',
							    # RGBA
							    dataset[0]['''file'''],
							    # LA
							    dataset[1]['''file'''],
							    # L
							    dataset[2]['''file'''],
							]
							UpperCamelCase__  :Any				   =					object_detector(UpperCamelCase_       ,  threshold=0.0				)

							self.assertEqual(len(UpperCamelCase_				)       ,  len(UpperCamelCase_				)				)
							for outputs in batch_outputs:
												self.assertGreater(len(UpperCamelCase_				)       ,  0				)
												for detected_object in outputs:
																	self.assertEqual(
																	    UpperCamelCase_       ,  {
																	        '''score''': ANY(UpperCamelCase_				),
																	        '''label''': ANY(UpperCamelCase_				),
																	        '''box''': {'''xmin''': ANY(UpperCamelCase_				), '''ymin''': ANY(UpperCamelCase_				), '''xmax''': ANY(UpperCamelCase_				), '''ymax''': ANY(UpperCamelCase_				)},
																	    }       ,  )




		@require_tf
		@unittest.skip('''Object detection not implemented in TF'''				)
		def        lowerCAmelCase__							(						self				):

							'''simple docstring'''


							pass




		@require_torch
		def        lowerCAmelCase__							(						self				):

							'''simple docstring'''


							UpperCamelCase__  :Any				   =					'''hf-internal-testing/tiny-detr-mobilenetsv3'''

							UpperCamelCase__  :int				   =					AutoModelForObjectDetection.from_pretrained(UpperCamelCase_				)
							UpperCamelCase__  :List[Any]				   =					AutoFeatureExtractor.from_pretrained(UpperCamelCase_				)
							UpperCamelCase__  :int				   =					ObjectDetectionPipeline(model=UpperCamelCase_       ,  feature_extractor=UpperCamelCase_				)

							UpperCamelCase__  :Union[str, Any]				   =					object_detector('''http://images.cocodataset.org/val2017/000000039769.jpg'''       ,  threshold=0.0				)

							self.assertEqual(
							    nested_simplify(UpperCamelCase_       ,  decimals=4				)       ,  [
							        {'''score''': 0.3376, '''label''': '''LABEL_0''', '''box''': {'''xmin''': 159, '''ymin''': 120, '''xmax''': 480, '''ymax''': 359}},
							        {'''score''': 0.3376, '''label''': '''LABEL_0''', '''box''': {'''xmin''': 159, '''ymin''': 120, '''xmax''': 480, '''ymax''': 359}},
							    ]       ,  )

							UpperCamelCase__  :Any				   =					object_detector(
							    [
							        '''http://images.cocodataset.org/val2017/000000039769.jpg''',
							        '''http://images.cocodataset.org/val2017/000000039769.jpg''',
							    ]       ,  threshold=0.0       ,  )

							self.assertEqual(
							    nested_simplify(UpperCamelCase_       ,  decimals=4				)       ,  [
							        [
							            {'''score''': 0.3376, '''label''': '''LABEL_0''', '''box''': {'''xmin''': 159, '''ymin''': 120, '''xmax''': 480, '''ymax''': 359}},
							            {'''score''': 0.3376, '''label''': '''LABEL_0''', '''box''': {'''xmin''': 159, '''ymin''': 120, '''xmax''': 480, '''ymax''': 359}},
							        ],
							        [
							            {'''score''': 0.3376, '''label''': '''LABEL_0''', '''box''': {'''xmin''': 159, '''ymin''': 120, '''xmax''': 480, '''ymax''': 359}},
							            {'''score''': 0.3376, '''label''': '''LABEL_0''', '''box''': {'''xmin''': 159, '''ymin''': 120, '''xmax''': 480, '''ymax''': 359}},
							        ],
							    ]       ,  )




		@require_torch
		@slow
		def        lowerCAmelCase__							(						self				):

							'''simple docstring'''


							UpperCamelCase__  :Optional[Any]				   =					'''facebook/detr-resnet-50'''

							UpperCamelCase__  :List[str]				   =					AutoModelForObjectDetection.from_pretrained(UpperCamelCase_				)
							UpperCamelCase__  :Union[str, Any]				   =					AutoFeatureExtractor.from_pretrained(UpperCamelCase_				)
							UpperCamelCase__  :Dict				   =					ObjectDetectionPipeline(model=UpperCamelCase_       ,  feature_extractor=UpperCamelCase_				)

							UpperCamelCase__  :Tuple				   =					object_detector('''http://images.cocodataset.org/val2017/000000039769.jpg'''				)
							self.assertEqual(
							    nested_simplify(UpperCamelCase_       ,  decimals=4				)       ,  [
							        {'''score''': 0.9982, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 70, '''xmax''': 175, '''ymax''': 117}},
							        {'''score''': 0.9960, '''label''': '''remote''', '''box''': {'''xmin''': 333, '''ymin''': 72, '''xmax''': 368, '''ymax''': 187}},
							        {'''score''': 0.9955, '''label''': '''couch''', '''box''': {'''xmin''': 0, '''ymin''': 1, '''xmax''': 639, '''ymax''': 473}},
							        {'''score''': 0.9988, '''label''': '''cat''', '''box''': {'''xmin''': 13, '''ymin''': 52, '''xmax''': 314, '''ymax''': 470}},
							        {'''score''': 0.9987, '''label''': '''cat''', '''box''': {'''xmin''': 345, '''ymin''': 23, '''xmax''': 640, '''ymax''': 368}},
							    ]       ,  )

							UpperCamelCase__  :Optional[int]				   =					object_detector(
							    [
							        '''http://images.cocodataset.org/val2017/000000039769.jpg''',
							        '''http://images.cocodataset.org/val2017/000000039769.jpg''',
							    ]				)
							self.assertEqual(
							    nested_simplify(UpperCamelCase_       ,  decimals=4				)       ,  [
							        [
							            {'''score''': 0.9982, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 70, '''xmax''': 175, '''ymax''': 117}},
							            {'''score''': 0.9960, '''label''': '''remote''', '''box''': {'''xmin''': 333, '''ymin''': 72, '''xmax''': 368, '''ymax''': 187}},
							            {'''score''': 0.9955, '''label''': '''couch''', '''box''': {'''xmin''': 0, '''ymin''': 1, '''xmax''': 639, '''ymax''': 473}},
							            {'''score''': 0.9988, '''label''': '''cat''', '''box''': {'''xmin''': 13, '''ymin''': 52, '''xmax''': 314, '''ymax''': 470}},
							            {'''score''': 0.9987, '''label''': '''cat''', '''box''': {'''xmin''': 345, '''ymin''': 23, '''xmax''': 640, '''ymax''': 368}},
							        ],
							        [
							            {'''score''': 0.9982, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 70, '''xmax''': 175, '''ymax''': 117}},
							            {'''score''': 0.9960, '''label''': '''remote''', '''box''': {'''xmin''': 333, '''ymin''': 72, '''xmax''': 368, '''ymax''': 187}},
							            {'''score''': 0.9955, '''label''': '''couch''', '''box''': {'''xmin''': 0, '''ymin''': 1, '''xmax''': 639, '''ymax''': 473}},
							            {'''score''': 0.9988, '''label''': '''cat''', '''box''': {'''xmin''': 13, '''ymin''': 52, '''xmax''': 314, '''ymax''': 470}},
							            {'''score''': 0.9987, '''label''': '''cat''', '''box''': {'''xmin''': 345, '''ymin''': 23, '''xmax''': 640, '''ymax''': 368}},
							        ],
							    ]       ,  )




		@require_torch
		@slow
		def        lowerCAmelCase__							(						self				):

							'''simple docstring'''


							UpperCamelCase__  :Any				   =					'''facebook/detr-resnet-50'''

							UpperCamelCase__  :int				   =					pipeline('''object-detection'''       ,  model=UpperCamelCase_				)

							UpperCamelCase__  :Dict				   =					object_detector('''http://images.cocodataset.org/val2017/000000039769.jpg'''				)
							self.assertEqual(
							    nested_simplify(UpperCamelCase_       ,  decimals=4				)       ,  [
							        {'''score''': 0.9982, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 70, '''xmax''': 175, '''ymax''': 117}},
							        {'''score''': 0.9960, '''label''': '''remote''', '''box''': {'''xmin''': 333, '''ymin''': 72, '''xmax''': 368, '''ymax''': 187}},
							        {'''score''': 0.9955, '''label''': '''couch''', '''box''': {'''xmin''': 0, '''ymin''': 1, '''xmax''': 639, '''ymax''': 473}},
							        {'''score''': 0.9988, '''label''': '''cat''', '''box''': {'''xmin''': 13, '''ymin''': 52, '''xmax''': 314, '''ymax''': 470}},
							        {'''score''': 0.9987, '''label''': '''cat''', '''box''': {'''xmin''': 345, '''ymin''': 23, '''xmax''': 640, '''ymax''': 368}},
							    ]       ,  )

							UpperCamelCase__  :Union[str, Any]				   =					object_detector(
							    [
							        '''http://images.cocodataset.org/val2017/000000039769.jpg''',
							        '''http://images.cocodataset.org/val2017/000000039769.jpg''',
							    ]				)
							self.assertEqual(
							    nested_simplify(UpperCamelCase_       ,  decimals=4				)       ,  [
							        [
							            {'''score''': 0.9982, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 70, '''xmax''': 175, '''ymax''': 117}},
							            {'''score''': 0.9960, '''label''': '''remote''', '''box''': {'''xmin''': 333, '''ymin''': 72, '''xmax''': 368, '''ymax''': 187}},
							            {'''score''': 0.9955, '''label''': '''couch''', '''box''': {'''xmin''': 0, '''ymin''': 1, '''xmax''': 639, '''ymax''': 473}},
							            {'''score''': 0.9988, '''label''': '''cat''', '''box''': {'''xmin''': 13, '''ymin''': 52, '''xmax''': 314, '''ymax''': 470}},
							            {'''score''': 0.9987, '''label''': '''cat''', '''box''': {'''xmin''': 345, '''ymin''': 23, '''xmax''': 640, '''ymax''': 368}},
							        ],
							        [
							            {'''score''': 0.9982, '''label''': '''remote''', '''box''': {'''xmin''': 40, '''ymin''': 70, '''xmax''': 175, '''ymax''': 117}},
							            {'''score''': 0.9960, '''label''': '''remote''', '''box''': {'''xmin''': 333, '''ymin''': 72, '''xmax''': 368, '''ymax''': 187}},
							            {'''score''': 0.9955, '''label''': '''couch''', '''box''': {'''xmin''': 0, '''ymin''': 1, '''xmax''': 639, '''ymax''': 473}},
							            {'''score''': 0.9988, '''label''': '''cat''', '''box''': {'''xmin''': 13, '''ymin''': 52, '''xmax''': 314, '''ymax''': 470}},
							            {'''score''': 0.9987, '''label''': '''cat''', '''box''': {'''xmin''': 345, '''ymin''': 23, '''xmax''': 640, '''ymax''': 368}},
							        ],
							    ]       ,  )




		@require_torch
		@slow
		def        lowerCAmelCase__							(						self				):

							'''simple docstring'''


							UpperCamelCase__  :Dict				   =					0.9985
							UpperCamelCase__  :List[Any]				   =					'''facebook/detr-resnet-50'''

							UpperCamelCase__  :int				   =					pipeline('''object-detection'''       ,  model=UpperCamelCase_				)

							UpperCamelCase__  :List[Any]				   =					object_detector('''http://images.cocodataset.org/val2017/000000039769.jpg'''       ,  threshold=UpperCamelCase_				)
							self.assertEqual(
							    nested_simplify(UpperCamelCase_       ,  decimals=4				)       ,  [
							        {'''score''': 0.9988, '''label''': '''cat''', '''box''': {'''xmin''': 13, '''ymin''': 52, '''xmax''': 314, '''ymax''': 470}},
							        {'''score''': 0.9987, '''label''': '''cat''', '''box''': {'''xmin''': 345, '''ymin''': 23, '''xmax''': 640, '''ymax''': 368}},
							    ]       ,  )




		@require_torch
		@require_pytesseract
		@slow
		def        lowerCAmelCase__							(						self				):

							'''simple docstring'''


							UpperCamelCase__  :str				   =					'''Narsil/layoutlmv3-finetuned-funsd'''
							UpperCamelCase__  :Dict				   =					0.9993

							UpperCamelCase__  :Union[str, Any]				   =					pipeline('''object-detection'''       ,  model=UpperCamelCase_       ,  threshold=UpperCamelCase_				)

							UpperCamelCase__  :Any				   =					object_detector(
							    '''https://huggingface.co/spaces/impira/docquery/resolve/2359223c1837a7587402bda0f2643382a6eefeab/invoice.png'''				)
							self.assertEqual(
							    nested_simplify(UpperCamelCase_       ,  decimals=4				)       ,  [
							        {'''score''': 0.9993, '''label''': '''I-ANSWER''', '''box''': {'''xmin''': 294, '''ymin''': 254, '''xmax''': 343, '''ymax''': 264}},
							        {'''score''': 0.9993, '''label''': '''I-ANSWER''', '''box''': {'''xmin''': 294, '''ymin''': 254, '''xmax''': 343, '''ymax''': 264}},
							    ]       ,  )



'''simple docstring'''
from __future__ import annotations

from math import pi, sqrt


def      a (     __a					,   __a  )    ->      tuple:



					'''simple docstring'''






					if inductance <= 0:
										raise ValueError('''Inductance cannot be 0 or negative'''  )

					elif capacitance <= 0:
										raise ValueError('''Capacitance cannot be 0 or negative'''  )

					else:
										return (
										    "Resonant frequency",
										    float(1 / (2 * pi * (sqrt(inductance * capacitance  )))  ),
										)


if __name__ == "__main__":
		import doctest

		doctest.testmod()