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


lowerCamelCase_  :	Union[str, Any] 				=					logging.get_logger(__name__)

lowerCamelCase_  :	int 				=					{
    """RWKV/rwkv-4-169m-pile""": """https://huggingface.co/RWKV/rwkv-4-169m-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-430m-pile""": """https://huggingface.co/RWKV/rwkv-4-430m-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-1b5-pile""": """https://huggingface.co/RWKV/rwkv-4-1b5-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-3b-pile""": """https://huggingface.co/RWKV/rwkv-4-3b-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-7b-pile""": """https://huggingface.co/RWKV/rwkv-4-7b-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-14b-pile""": """https://huggingface.co/RWKV/rwkv-4-14b-pile/resolve/main/config.json""",
    """RWKV/rwkv-raven-1b5""": """https://huggingface.co/RWKV/rwkv-raven-1b5/resolve/main/config.json""",
    """RWKV/rwkv-raven-3b""": """https://huggingface.co/RWKV/rwkv-raven-3b/resolve/main/config.json""",
    """RWKV/rwkv-raven-7b""": """https://huggingface.co/RWKV/rwkv-raven-7b/resolve/main/config.json""",
    """RWKV/rwkv-raven-14b""": """https://huggingface.co/RWKV/rwkv-raven-14b/resolve/main/config.json""",
}

class     _UpperCamelCase			(   _A					):






			'''simple docstring'''

			__UpperCamelCase :  str    =	"""rwkv"""
			__UpperCamelCase :  List[Any]    =	{"""max_position_embeddings""": """context_length"""}

			def __init__(    self	:    str  ,		snake_case_	:    Dict=5_0277  ,		snake_case_	:    Any=1024  ,		snake_case_	:    Optional[int]=4096  ,		snake_case_	:    str=32  ,		snake_case_	:    List[str]=None  ,		snake_case_	:    List[str]=None  ,		snake_case_	:    Optional[int]=1e-5  ,		snake_case_	:    List[str]=0  ,		snake_case_	:    str=0  ,		snake_case_	:    Optional[int]=6  ,		snake_case_	:    Any=False  ,		snake_case_	:    Optional[int]=True  ,		**snake_case_	:    Dict  ,		):
							UpperCamelCase_:							int		=  vocab_size
							UpperCamelCase_:							List[Any]		=  context_length
							UpperCamelCase_:							Optional[Any]		=  hidden_size
							UpperCamelCase_:							Optional[int]		=  num_hidden_layers
							UpperCamelCase_:							str		=  attention_hidden_size if attention_hidden_size is not None else hidden_size
							UpperCamelCase_:							Optional[int]		=  intermediate_size if intermediate_size is not None else 4 * hidden_size
							UpperCamelCase_:							Optional[int]		=  layer_norm_epsilon
							UpperCamelCase_:							int		=  rescale_every
							UpperCamelCase_:							Optional[int]		=  use_cache

							UpperCamelCase_:							Optional[Any]		=  bos_token_id
							UpperCamelCase_:							Tuple		=  eos_token_id

							super().__init__(
							    tie_word_embeddings=snake_case_  ,		bos_token_id=snake_case_  ,		eos_token_id=snake_case_  ,		**snake_case_ )








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






			'''simple docstring'''

			@require_torch
			def  lowerCAmelCase__		(    self	:    Dict ):
							UpperCamelCase_:							Any		=  pipeline(
							    task="""zero-shot-audio-classification"""  ,		model="""hf-internal-testing/tiny-clap-htsat-unfused""" )
							UpperCamelCase_:							str		=  load_dataset("""ashraq/esc50""" )
							UpperCamelCase_:							Optional[int]		=  dataset["""train"""]["""audio"""][-1]["""array"""]
							UpperCamelCase_:							Optional[int]		=  audio_classifier(snake_case_  ,		candidate_labels=["""Sound of a dog""", """Sound of vaccum cleaner"""] )
							self.assertEqual(
							    nested_simplify(snake_case_ )  ,		[{"""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  lowerCAmelCase__		(    self	:    Optional[Any] ):
							pass

			@slow
			@require_torch
			def  lowerCAmelCase__		(    self	:    int ):
							UpperCamelCase_:							List[str]		=  pipeline(
							    task="""zero-shot-audio-classification"""  ,		model="""laion/clap-htsat-unfused"""  ,		)
							# This is an audio of a dog
							UpperCamelCase_:							Tuple		=  load_dataset("""ashraq/esc50""" )
							UpperCamelCase_:							Optional[int]		=  dataset["""train"""]["""audio"""][-1]["""array"""]
							UpperCamelCase_:							int		=  audio_classifier(snake_case_  ,		candidate_labels=["""Sound of a dog""", """Sound of vaccum cleaner"""] )

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

							UpperCamelCase_:							Any		=  audio_classifier([audio] * 5  ,		candidate_labels=["""Sound of a dog""", """Sound of vaccum cleaner"""] )
							self.assertEqual(
							    nested_simplify(snake_case_ )  ,		[
							        [
							            {"""score""": 0.999, """label""": """Sound of a dog"""},
							            {"""score""": 0.001, """label""": """Sound of vaccum cleaner"""},
							        ],
							    ]
							    * 5  ,		)
							UpperCamelCase_:							Any		=  audio_classifier(
							    [audio] * 5  ,		candidate_labels=["""Sound of a dog""", """Sound of vaccum cleaner"""]  ,		batch_size=5 )
							self.assertEqual(
							    nested_simplify(snake_case_ )  ,		[
							        [
							            {"""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  lowerCAmelCase__		(    self	:    Optional[Any] ):
							pass






