




'''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   __A (							unittest.TestCase  ):



   """simple docstring"""







   @require_torch
   def snake_case_(      self						)->       Union[str, Any]:
      lowercase__       							=							pipeline(
          task='''zero-shot-audio-classification'''				, model='''hf-internal-testing/tiny-clap-htsat-unfused'''						)
      lowercase__       							=							load_dataset('''ashraq/esc50'''						)
      lowercase__       							=							dataset['train']['audio'][-1]['array']
      lowercase__       							=							audio_classifier(__lowercase				, candidate_labels=['''Sound of a dog''', '''Sound of vaccum cleaner''']						)
      self.assertEqual(
          nested_simplify(__lowercase						)				, [{'''score''': 0.5_0_1, '''label''': '''Sound of a dog'''}, {'''score''': 0.4_9_9, '''label''': '''Sound of vaccum cleaner'''}]				, )

   @unittest.skip('''No models are available in TF'''						)
   def snake_case_(      self						)->       List[str]:
      pass

   @slow
   @require_torch
   def snake_case_(      self						)->       Dict:
      lowercase__       							=							pipeline(
          task='''zero-shot-audio-classification'''				, model='''laion/clap-htsat-unfused'''				, )
      # This is an audio of a dog
      lowercase__       							=							load_dataset('''ashraq/esc50'''						)
      lowercase__       							=							dataset['train']['audio'][-1]['array']
      lowercase__       							=							audio_classifier(__lowercase				, candidate_labels=['''Sound of a dog''', '''Sound of vaccum cleaner''']						)

      self.assertEqual(
          nested_simplify(__lowercase						)				, [
              {'''score''': 0.9_9_9, '''label''': '''Sound of a dog'''},
              {'''score''': 0.0_0_1, '''label''': '''Sound of vaccum cleaner'''},
          ]				, )

      lowercase__       							=							audio_classifier([audio] * 5				, candidate_labels=['''Sound of a dog''', '''Sound of vaccum cleaner''']						)
      self.assertEqual(
          nested_simplify(__lowercase						)				, [
              [
                  {'''score''': 0.9_9_9, '''label''': '''Sound of a dog'''},
                  {'''score''': 0.0_0_1, '''label''': '''Sound of vaccum cleaner'''},
              ],
          ]
          * 5				, )
      lowercase__       							=							audio_classifier(
          [audio] * 5				, candidate_labels=['''Sound of a dog''', '''Sound of vaccum cleaner''']				, batch_size=5						)
      self.assertEqual(
          nested_simplify(__lowercase						)				, [
              [
                  {'''score''': 0.9_9_9, '''label''': '''Sound of a dog'''},
                  {'''score''': 0.0_0_1, '''label''': '''Sound of vaccum cleaner'''},
              ],
          ]
          * 5				, )

   @unittest.skip('''No models are available in TF'''						)
   def snake_case_(      self						)->       Any:
      pass








'''simple docstring'''
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


UpperCAmelCase_			:  Dict										=   {
    'configuration_distilbert': [
        'DISTILBERT_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'DistilBertConfig',
        'DistilBertOnnxConfig',
    ],
    'tokenization_distilbert': ['DistilBertTokenizer'],
}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase_			:  List[Any]										=   ['DistilBertTokenizerFast']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase_			:  int										=   [
     'DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
     'DistilBertForMaskedLM',
     'DistilBertForMultipleChoice',
     'DistilBertForQuestionAnswering',
     'DistilBertForSequenceClassification',
     'DistilBertForTokenClassification',
     'DistilBertModel',
     'DistilBertPreTrainedModel',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase_			:  Optional[int]										=   [
     'TF_DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
     'TFDistilBertForMaskedLM',
     'TFDistilBertForMultipleChoice',
     'TFDistilBertForQuestionAnswering',
     'TFDistilBertForSequenceClassification',
     'TFDistilBertForTokenClassification',
     'TFDistilBertMainLayer',
     'TFDistilBertModel',
     'TFDistilBertPreTrainedModel',
 ]

try:
 if not is_flax_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase_			:  List[str]										=   [
     'FlaxDistilBertForMaskedLM',
     'FlaxDistilBertForMultipleChoice',
     'FlaxDistilBertForQuestionAnswering',
     'FlaxDistilBertForSequenceClassification',
     'FlaxDistilBertForTokenClassification',
     'FlaxDistilBertModel',
     'FlaxDistilBertPreTrainedModel',
 ]


if TYPE_CHECKING:
 from .configuration_distilbert import (
     DISTILBERT_PRETRAINED_CONFIG_ARCHIVE_MAP,
     DistilBertConfig,
     DistilBertOnnxConfig,
 )
 from .tokenization_distilbert import DistilBertTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_distilbert_fast import DistilBertTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_distilbert import (
      DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
      DistilBertForMaskedLM,
      DistilBertForMultipleChoice,
      DistilBertForQuestionAnswering,
      DistilBertForSequenceClassification,
      DistilBertForTokenClassification,
      DistilBertModel,
      DistilBertPreTrainedModel,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_distilbert import (
      TF_DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFDistilBertForMaskedLM,
      TFDistilBertForMultipleChoice,
      TFDistilBertForQuestionAnswering,
      TFDistilBertForSequenceClassification,
      TFDistilBertForTokenClassification,
      TFDistilBertMainLayer,
      TFDistilBertModel,
      TFDistilBertPreTrainedModel,
  )

 try:
  if not is_flax_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_flax_distilbert import (
      FlaxDistilBertForMaskedLM,
      FlaxDistilBertForMultipleChoice,
      FlaxDistilBertForQuestionAnswering,
      FlaxDistilBertForSequenceClassification,
      FlaxDistilBertForTokenClassification,
      FlaxDistilBertModel,
      FlaxDistilBertPreTrainedModel,
  )

else:
 import sys

 UpperCAmelCase_			:  Optional[Any]										=   _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)






