


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available


lowerCAmelCase							=						{}

try:
				if not is_sentencepiece_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowerCAmelCase							=						["""BartphoTokenizer"""]

if TYPE_CHECKING:
				try:
								if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_bartpho import BartphoTokenizer

else:
				import sys

				lowerCAmelCase							=						_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)





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


	@require_torch
	def    A(						self):
							__UpperCAmelCase :       str  						=  pipeline(
							    task='''zero-shot-audio-classification'''							,    model='''hf-internal-testing/tiny-clap-htsat-unfused''')
							__UpperCAmelCase :       Optional[int]  						=  load_dataset('''ashraq/esc50''')
							__UpperCAmelCase :       Dict  						=  dataset['''train''']['''audio'''][-1]['''array''']
							__UpperCAmelCase :       Union[str, Any]  						=  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    A(						self):
							pass


	@slow
	@require_torch
	def    A(						self):
							__UpperCAmelCase :       int  						=  pipeline(
							    task='''zero-shot-audio-classification'''							,    model='''laion/clap-htsat-unfused'''							,    )
							# This is an audio of a dog
							__UpperCAmelCase :       Optional[Any]  						=  load_dataset('''ashraq/esc50''')
							__UpperCAmelCase :       Union[str, Any]  						=  dataset['''train''']['''audio'''][-1]['''array''']
							__UpperCAmelCase :       Union[str, Any]  						=  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'''},
							    ]							,    )

							__UpperCAmelCase :       Optional[Any]  						=  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							,    )
							__UpperCAmelCase :       Optional[Any]  						=  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    A(						self):
							pass

