




"""simple docstring"""






import unittest

from transformers import load_tool
from transformers.utils import is_torch_available


if is_torch_available():
			import torch

from transformers.testing_utils import require_torch

from .test_tools_common import ToolTesterMixin






@require_torch
class lowerCAmelCase__			(  unittest.TestCase,			lowercase		):






			'''simple docstring'''



			def       A_					(						self						):
							_lowerCamelCase  :    str					=					load_tool('text-to-speech'						)
							self.tool.setup()
			def       A_					(						self						):
							# SpeechT5 isn't deterministic
							torch.manual_seed(0						)
							_lowerCamelCase  :    str					=					self.tool('hey'						)
							_lowerCamelCase  :    Optional[Any]					=					result.to_raw()
							self.assertTrue(
							    torch.allclose(
							        resulting_tensor[:3]						,   torch.tensor([-0.0_00_59_66_66_88_32_11_58_29, -0.0_00_36_57_64_01_90_79_50_64, -0.00_01_34_39_50_27_99_88_34_85]						)						,   )						)






			def       A_					(						self						):
							# SpeechT5 isn't deterministic
							torch.manual_seed(0						)
							_lowerCamelCase  :    List[Any]					=					self.tool('hey'						)
							_lowerCamelCase  :    Any					=					result.to_raw()
							self.assertTrue(
							    torch.allclose(
							        resulting_tensor[:3]						,   torch.tensor([-0.0_00_59_66_66_88_32_11_58_29, -0.0_00_36_57_64_01_90_79_50_64, -0.00_01_34_39_50_27_99_88_34_85]						)						,   )						)





"""simple docstring"""






import unittest

from transformers import is_vision_available
from transformers.pipelines import 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 lowerCAmelCase__			:






						'''simple docstring'''



						@staticmethod
						def       A_					(						*lowercase						,   **lowercase						):
										pass






@is_pipeline_test
@require_vision
class lowerCAmelCase__			(  unittest.TestCase		):






			'''simple docstring'''



			@require_torch
			def       A_					(						self						):
							_lowerCamelCase  :    int					=					pipeline(
							    model='hf-internal-testing/tiny-random-clip-zero-shot-image-classification'						,   )
							_lowerCamelCase  :    List[Any]					=					Image.open('./tests/fixtures/tests_samples/COCO/000000039769.png'						)
							_lowerCamelCase  :    List[str]					=					image_classifier(lowercase						,   candidate_labels=['a', 'b', 'c']						)

							# The floating scores are so close, we enter floating error approximation and the order is not guaranteed across
							# python and torch versions.
							self.assertIn(
							    nested_simplify(lowercase						)						,   [
							        [{'score': 0.3_33, 'label': 'a'}, {'score': 0.3_33, 'label': 'b'}, {'score': 0.3_33, 'label': 'c'}],
							        [{'score': 0.3_33, 'label': 'a'}, {'score': 0.3_33, 'label': 'c'}, {'score': 0.3_33, 'label': 'b'}],
							    ]						,   )

							_lowerCamelCase  :    Optional[Any]					=					image_classifier([image] * 5						,   candidate_labels=['A', 'B', 'C']						,   batch_size=2						)
							self.assertEqual(
							    nested_simplify(lowercase						)						,   [
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							    ]						,   )
			@require_tf
			def       A_					(						self						):
							_lowerCamelCase  :    Optional[Any]					=					pipeline(
							    model='hf-internal-testing/tiny-random-clip-zero-shot-image-classification'						,   framework='tf'						)
							_lowerCamelCase  :    Tuple					=					Image.open('./tests/fixtures/tests_samples/COCO/000000039769.png'						)
							_lowerCamelCase  :    Optional[int]					=					image_classifier(lowercase						,   candidate_labels=['a', 'b', 'c']						)

							self.assertEqual(
							    nested_simplify(lowercase						)						,   [{'score': 0.3_33, 'label': 'a'}, {'score': 0.3_33, 'label': 'b'}, {'score': 0.3_33, 'label': 'c'}]						,   )

							_lowerCamelCase  :    Optional[Any]					=					image_classifier([image] * 5						,   candidate_labels=['A', 'B', 'C']						,   batch_size=2						)
							self.assertEqual(
							    nested_simplify(lowercase						)						,   [
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							        [
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							            {'score': 0.3_33, 'label': ANY(lowercase						)},
							        ],
							    ]						,   )
			@slow
			@require_torch
			def       A_					(						self						):
							_lowerCamelCase  :    Tuple					=					pipeline(
							    task='zero-shot-image-classification'						,   model='openai/clip-vit-base-patch32'						,   )
							# This is an image of 2 cats with remotes and no planes
							_lowerCamelCase  :    Optional[Any]					=					Image.open('./tests/fixtures/tests_samples/COCO/000000039769.png'						)
							_lowerCamelCase  :    Optional[Any]					=					image_classifier(lowercase						,   candidate_labels=['cat', 'plane', 'remote']						)

							self.assertEqual(
							    nested_simplify(lowercase						)						,   [
							        {'score': 0.5_11, 'label': 'remote'},
							        {'score': 0.4_85, 'label': 'cat'},
							        {'score': 0.0_04, 'label': 'plane'},
							    ]						,   )

							_lowerCamelCase  :    Dict					=					image_classifier([image] * 5						,   candidate_labels=['cat', 'plane', 'remote']						,   batch_size=2						)
							self.assertEqual(
							    nested_simplify(lowercase						)						,   [
							        [
							            {'score': 0.5_11, 'label': 'remote'},
							            {'score': 0.4_85, 'label': 'cat'},
							            {'score': 0.0_04, 'label': 'plane'},
							        ],
							    ]
							    * 5						,   )






			@slow
			@require_tf
			def       A_					(						self						):
							_lowerCamelCase  :    List[str]					=					pipeline(
							    task='zero-shot-image-classification'						,   model='openai/clip-vit-base-patch32'						,   framework='tf'						)
							# This is an image of 2 cats with remotes and no planes
							_lowerCamelCase  :    List[str]					=					Image.open('./tests/fixtures/tests_samples/COCO/000000039769.png'						)
							_lowerCamelCase  :    Tuple					=					image_classifier(lowercase						,   candidate_labels=['cat', 'plane', 'remote']						)
							self.assertEqual(
							    nested_simplify(lowercase						)						,   [
							        {'score': 0.5_11, 'label': 'remote'},
							        {'score': 0.4_85, 'label': 'cat'},
							        {'score': 0.0_04, 'label': 'plane'},
							    ]						,   )

							_lowerCamelCase  :    Dict					=					image_classifier([image] * 5						,   candidate_labels=['cat', 'plane', 'remote']						,   batch_size=2						)
							self.assertEqual(
							    nested_simplify(lowercase						)						,   [
							        [
							            {'score': 0.5_11, 'label': 'remote'},
							            {'score': 0.4_85, 'label': 'cat'},
							            {'score': 0.0_04, 'label': 'plane'},
							        ],
							    ]
							    * 5						,   )