



'''simple docstring'''







from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE__     : Optional[int]				=   {"""configuration_pegasus""": ["""PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP""", """PegasusConfig"""]}

try:
							if not is_sentencepiece_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__     : List[str]				=   ["""PegasusTokenizer"""]

try:
							if not is_tokenizers_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__     : Union[str, Any]				=   ["""PegasusTokenizerFast"""]

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__     : List[Any]				=   [
							    """PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST""",
							    """PegasusForCausalLM""",
							    """PegasusForConditionalGeneration""",
							    """PegasusModel""",
							    """PegasusPreTrainedModel""",
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__     : Tuple				=   [
							    """TFPegasusForConditionalGeneration""",
							    """TFPegasusModel""",
							    """TFPegasusPreTrainedModel""",
							]

try:
							if not is_flax_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							SCREAMING_SNAKE_CASE__     : List[Any]				=   [
							    """FlaxPegasusForConditionalGeneration""",
							    """FlaxPegasusModel""",
							    """FlaxPegasusPreTrainedModel""",
							]


if TYPE_CHECKING:
							from .configuration_pegasus import PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP, PegasusConfig

							try:
														if not is_sentencepiece_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_pegasus import PegasusTokenizer

							try:
														if not is_tokenizers_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_pegasus_fast import PegasusTokenizerFast

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_pegasus import (
														    PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST,
														    PegasusForCausalLM,
														    PegasusForConditionalGeneration,
														    PegasusModel,
														    PegasusPreTrainedModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_pegasus import TFPegasusForConditionalGeneration, TFPegasusModel, TFPegasusPreTrainedModel

							try:
														if not is_flax_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_flax_pegasus import (
														    FlaxPegasusForConditionalGeneration,
														    FlaxPegasusModel,
														    FlaxPegasusPreTrainedModel,
														)

else:
							import sys

							SCREAMING_SNAKE_CASE__     : int				=   _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)

'''simple docstring'''





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


UpperCamelCase       :     Any			=    logging.get_logger(__name__)

UpperCamelCase       :     Optional[int]			=    {
    """openbmb/cpm-ant-10b""": """https://huggingface.co/openbmb/cpm-ant-10b/blob/main/config.json"""
    # See all CPMAnt models at https://huggingface.co/models?filter=cpmant
}



class   UpperCamelCase					(       a_       ):







    """simple docstring"""





    A     :    List[str]				=			"cpmant"





    def __init__(					self     :						Tuple							,							UpperCAmelCase_     :						int = 3_0_7_2_0							,							UpperCAmelCase_     :						int = 4_0_9_6							,							UpperCAmelCase_     :						int = 3_2							,							UpperCAmelCase_     :						int = 1_2_8							,							UpperCAmelCase_     :						int = 1_0_2_4_0							,							UpperCAmelCase_     :						int = 4_8							,							UpperCAmelCase_     :						int = 0.0							,							UpperCAmelCase_     :						int = 5_1_2							,							UpperCAmelCase_     :						int = 2_0_4_8							,							UpperCAmelCase_     :						int = 1e-6							,							UpperCAmelCase_     :						float = 1.0							,							UpperCAmelCase_     :						int = 3_2							,							UpperCAmelCase_     :						int = 3_2							,							UpperCAmelCase_     :						int = 3_2							,							UpperCAmelCase_     :						bool = True							,							**UpperCAmelCase_     :						Tuple							,							):


         """simple docstring"""







         super().__init__(**UpperCAmelCase_)
         a					:							Union[str, Any]							= prompt_types
         a					:							List[str]							= prompt_length
         a					:							List[Any]							= segment_types
         a					:							Any							= hidden_size
         a					:							Optional[int]							= num_attention_heads
         a					:							Union[str, Any]							= dim_head
         a					:							int							= dim_ff
         a					:							Union[str, Any]							= num_hidden_layers
         a					:							List[Any]							= position_bias_num_buckets
         a					:							Optional[int]							= position_bias_max_distance
         a					:							str							= dropout_p
         a					:							List[str]							= eps
         a					:							Dict							= use_cache
         a					:							Tuple							= vocab_size
         a					:							Optional[Any]							= init_std

