"""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    :







     @staticmethod
     def 			lowerCamelCase		(     *UpperCamelCase__						,     **UpperCamelCase__						)     ->		Dict:

         '''simple docstring'''




         pass







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







   @require_torch
   def 			lowerCamelCase		(     self						)     ->		Union[str, Any]:

       '''simple docstring'''




       snake_case   :				Optional[int]				 =   pipeline(
           model="hf-internal-testing/tiny-random-clip-zero-shot-image-classification"						,     )
       snake_case   :				str				 =   Image.open("./tests/fixtures/tests_samples/COCO/000000039769.png"						)
       snake_case   :				Optional[Any]				 =   image_classifier(UpperCamelCase__						,     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(UpperCamelCase__						)						,     [
               [{"score": 0.333, "label": "a"}, {"score": 0.333, "label": "b"}, {"score": 0.333, "label": "c"}],
               [{"score": 0.333, "label": "a"}, {"score": 0.333, "label": "c"}, {"score": 0.333, "label": "b"}],
           ]						,     )

       snake_case   :				Optional[Any]				 =   image_classifier([image] * 5						,     candidate_labels=["A", "B", "C"]						,     batch_size=2						)
       self.assertEqual(
           nested_simplify(UpperCamelCase__						)						,     [
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
           ]						,     )







   @require_tf
   def 			lowerCamelCase		(     self						)     ->		List[Any]:

       '''simple docstring'''




       snake_case   :				str				 =   pipeline(
           model="hf-internal-testing/tiny-random-clip-zero-shot-image-classification"						,     framework="tf"						)
       snake_case   :				int				 =   Image.open("./tests/fixtures/tests_samples/COCO/000000039769.png"						)
       snake_case   :				List[Any]				 =   image_classifier(UpperCamelCase__						,     candidate_labels=["a", "b", "c"]						)

       self.assertEqual(
           nested_simplify(UpperCamelCase__						)						,     [{"score": 0.333, "label": "a"}, {"score": 0.333, "label": "b"}, {"score": 0.333, "label": "c"}]						,     )

       snake_case   :				str				 =   image_classifier([image] * 5						,     candidate_labels=["A", "B", "C"]						,     batch_size=2						)
       self.assertEqual(
           nested_simplify(UpperCamelCase__						)						,     [
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
               [
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
                   {"score": 0.333, "label": ANY(UpperCamelCase__						)},
               ],
           ]						,     )







   @slow
   @require_torch
   def 			lowerCamelCase		(     self						)     ->		Union[str, Any]:

       '''simple docstring'''




       snake_case   :				str				 =   pipeline(
           task="zero-shot-image-classification"						,     model="openai/clip-vit-base-patch32"						,     )
       # This is an image of 2 cats with remotes and no planes
       snake_case   :				Any				 =   Image.open("./tests/fixtures/tests_samples/COCO/000000039769.png"						)
       snake_case   :				Union[str, Any]				 =   image_classifier(UpperCamelCase__						,     candidate_labels=["cat", "plane", "remote"]						)

       self.assertEqual(
           nested_simplify(UpperCamelCase__						)						,     [
               {"score": 0.511, "label": "remote"},
               {"score": 0.485, "label": "cat"},
               {"score": 0.004, "label": "plane"},
           ]						,     )

       snake_case   :				Tuple				 =   image_classifier([image] * 5						,     candidate_labels=["cat", "plane", "remote"]						,     batch_size=2						)
       self.assertEqual(
           nested_simplify(UpperCamelCase__						)						,     [
               [
                   {"score": 0.511, "label": "remote"},
                   {"score": 0.485, "label": "cat"},
                   {"score": 0.004, "label": "plane"},
               ],
           ]
           * 5						,     )







   @slow
   @require_tf
   def 			lowerCamelCase		(     self						)     ->		str:

       '''simple docstring'''




       snake_case   :				List[Any]				 =   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
       snake_case   :				Tuple				 =   Image.open("./tests/fixtures/tests_samples/COCO/000000039769.png"						)
       snake_case   :				Optional[Any]				 =   image_classifier(UpperCamelCase__						,     candidate_labels=["cat", "plane", "remote"]						)
       self.assertEqual(
           nested_simplify(UpperCamelCase__						)						,     [
               {"score": 0.511, "label": "remote"},
               {"score": 0.485, "label": "cat"},
               {"score": 0.004, "label": "plane"},
           ]						,     )

       snake_case   :				List[str]				 =   image_classifier([image] * 5						,     candidate_labels=["cat", "plane", "remote"]						,     batch_size=2						)
       self.assertEqual(
           nested_simplify(UpperCamelCase__						)						,     [
               [
                   {"score": 0.511, "label": "remote"},
                   {"score": 0.485, "label": "cat"},
                   {"score": 0.004, "label": "plane"},
               ],
           ]
           * 5						,     )









"""simple docstring"""



from __future__ import annotations

import numpy as np







def   __lowerCAmelCase						(						lowercase  :  list[float]			)     ->						Any:


    """simple docstring"""





    return np.maximum(0						,							lowercase			)


if __name__ == "__main__":
  print(np.array(relu([-1, 0, 5])))  # --> [0, 0, 5]





