





'''simple docstring'''




import unittest

from datasets import load_dataset

from transformers.pipelines import pipeline
from transformers.testing_utils import is_pipeline_test, nested_simplify, require_torch, slow


@is_pipeline_test
@require_torch
class 					SCREAMING_SNAKE_CASE       (unittest.TestCase				):


     @require_torch
     def 				SCREAMING_SNAKE_CASE    (		self):

          '''simple docstring'''






          __A		:					List[str]						=			pipeline(
              task='zero-shot-audio-classification'		,      model='hf-internal-testing/tiny-clap-htsat-unfused')
          __A		:					str						=			load_dataset('ashraq/esc50')
          __A		:					str						=			dataset['train']['audio'][-1]['array']
          __A		:					Union[str, Any]						=			audio_classifier(_UpperCAmelCase		,      candidate_labels=['Sound of a dog', 'Sound of vaccum cleaner'])
          self.assertEqual(
              nested_simplify(_UpperCAmelCase)		,      [{'score': 0.501, 'label': 'Sound of a dog'}, {'score': 0.499, 'label': 'Sound of vaccum cleaner'}]		,      )


     @unittest.skip('No models are available in TF')
     def 				SCREAMING_SNAKE_CASE    (		self):

          '''simple docstring'''






          pass


     @slow
     @require_torch
     def 				SCREAMING_SNAKE_CASE    (		self):

          '''simple docstring'''






          __A		:					List[str]						=			pipeline(
              task='zero-shot-audio-classification'		,      model='laion/clap-htsat-unfused'		,      )
          # This is an audio of a dog
          __A		:					Any						=			load_dataset('ashraq/esc50')
          __A		:					Dict						=			dataset['train']['audio'][-1]['array']
          __A		:					Tuple						=			audio_classifier(_UpperCAmelCase		,      candidate_labels=['Sound of a dog', 'Sound of vaccum cleaner'])

          self.assertEqual(
              nested_simplify(_UpperCAmelCase)		,      [
                  {'score': 0.999, 'label': 'Sound of a dog'},
                  {'score': 0.001, 'label': 'Sound of vaccum cleaner'},
              ]		,      )

          __A		:					Tuple						=			audio_classifier([audio] * 5		,      candidate_labels=['Sound of a dog', 'Sound of vaccum cleaner'])
          self.assertEqual(
              nested_simplify(_UpperCAmelCase)		,      [
                  [
                      {'score': 0.999, 'label': 'Sound of a dog'},
                      {'score': 0.001, 'label': 'Sound of vaccum cleaner'},
                  ],
              ]
              * 5		,      )
          __A		:					List[str]						=			audio_classifier(
              [audio] * 5		,      candidate_labels=['Sound of a dog', 'Sound of vaccum cleaner']		,      batch_size=5)
          self.assertEqual(
              nested_simplify(_UpperCAmelCase)		,      [
                  [
                      {'score': 0.999, 'label': 'Sound of a dog'},
                      {'score': 0.001, 'label': 'Sound of vaccum cleaner'},
                  ],
              ]
              * 5		,      )


     @unittest.skip('No models are available in TF')
     def 				SCREAMING_SNAKE_CASE    (		self):

          '''simple docstring'''






          pass






'''simple docstring'''




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


lowercase__       : List[Any]         =       logging.get_logger(__name__)

lowercase__       : Optional[int]         =       {
    '''unc-nlp/lxmert-base-uncased''': '''https://huggingface.co/unc-nlp/lxmert-base-uncased/resolve/main/config.json''',
}


class 					SCREAMING_SNAKE_CASE       (a__				):
     lowerCAmelCase						     =			'''lxmert'''
     lowerCAmelCase						     =			{}


     def __init__(		self		,      _UpperCAmelCase=3_0522		,      _UpperCAmelCase=768		,      _UpperCAmelCase=12		,      _UpperCAmelCase=9500		,      _UpperCAmelCase=1600		,      _UpperCAmelCase=400		,      _UpperCAmelCase=3072		,      _UpperCAmelCase="gelu"		,      _UpperCAmelCase=0.1		,      _UpperCAmelCase=0.1		,      _UpperCAmelCase=512		,      _UpperCAmelCase=2		,      _UpperCAmelCase=0.02		,      _UpperCAmelCase=1e-1_2		,      _UpperCAmelCase=9		,      _UpperCAmelCase=5		,      _UpperCAmelCase=5		,      _UpperCAmelCase=2048		,      _UpperCAmelCase=4		,      _UpperCAmelCase=6.67		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      _UpperCAmelCase=True		,      **_UpperCAmelCase		,      ):

          '''simple docstring'''






          __A		:					Tuple						=			vocab_size
          __A		:					int						=			hidden_size
          __A		:					str						=			num_attention_heads
          __A		:					Tuple						=			hidden_act
          __A		:					int						=			intermediate_size
          __A		:					str						=			hidden_dropout_prob
          __A		:					Optional[int]						=			attention_probs_dropout_prob
          __A		:					Optional[Any]						=			max_position_embeddings
          __A		:					Tuple						=			type_vocab_size
          __A		:					Optional[int]						=			initializer_range
          __A		:					Any						=			layer_norm_eps
          __A		:					Optional[Any]						=			num_qa_labels
          __A		:					Optional[int]						=			num_object_labels
          __A		:					Any						=			num_attr_labels
          __A		:					Union[str, Any]						=			l_layers
          __A		:					Optional[int]						=			x_layers
          __A		:					List[Any]						=			r_layers
          __A		:					Tuple						=			visual_feat_dim
          __A		:					Tuple						=			visual_pos_dim
          __A		:					Optional[int]						=			visual_loss_normalizer
          __A		:					int						=			task_matched
          __A		:					List[Any]						=			task_mask_lm
          __A		:					Optional[Any]						=			task_obj_predict
          __A		:					str						=			task_qa
          __A		:					List[Any]						=			visual_obj_loss
          __A		:					Optional[Any]						=			visual_attr_loss
          __A		:					Union[str, Any]						=			visual_feat_loss
          __A		:					Union[str, Any]						=			{'vision': r_layers, 'cross_encoder': x_layers, 'language': l_layers}
          super().__init__(**_UpperCAmelCase)