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


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

_snake_case      :							int     	=    {
    "facebook/nllb-moe-54B": "https://huggingface.co/facebook/nllb-moe-54b/resolve/main/config.json",
}





class   UpperCamelCase_      (      __snake_case		):







						'''simple docstring'''



						UpperCamelCase      :  Any				   =					'nllb-moe'
						UpperCamelCase      :  Optional[int]				   =					['past_key_values']
						UpperCamelCase      :  Dict				   =					{'num_attention_heads': 'encoder_attention_heads', 'hidden_size': 'd_model'}





						def __init__(			self							:Dict		,    lowerCAmelCase__							:Union[str, Any]=128112		,    lowerCAmelCase__							:Union[str, Any]=1024		,    lowerCAmelCase__							:Union[str, Any]=12		,    lowerCAmelCase__							:Dict=4096		,    lowerCAmelCase__							:Tuple=16		,    lowerCAmelCase__							:str=12		,    lowerCAmelCase__							:Union[str, Any]=4096		,    lowerCAmelCase__							:Optional[Any]=16		,    lowerCAmelCase__							:Union[str, Any]=0.05		,    lowerCAmelCase__							:List[str]=0.05		,    lowerCAmelCase__							:Any=True		,    lowerCAmelCase__							:Dict=True		,    lowerCAmelCase__							:List[str]="relu"		,    lowerCAmelCase__							:Optional[int]=1024		,    lowerCAmelCase__							:Union[str, Any]=0.1		,    lowerCAmelCase__							:Optional[Any]=0.1		,    lowerCAmelCase__							:List[Any]=0.0		,    lowerCAmelCase__							:str=0.02		,    lowerCAmelCase__							:Optional[Any]=2		,    lowerCAmelCase__							:List[Any]=True		,    lowerCAmelCase__							:Any=False		,    lowerCAmelCase__							:Dict="float32"		,    lowerCAmelCase__							:Optional[Any]=False		,    lowerCAmelCase__							:Tuple=128		,    lowerCAmelCase__							:str=64		,    lowerCAmelCase__							:str=4		,    lowerCAmelCase__							:List[Any]=4		,    lowerCAmelCase__							:List[Any]=0.0_01		,    lowerCAmelCase__							:Dict=0.0_01		,    lowerCAmelCase__							:Union[str, Any]="all"		,    lowerCAmelCase__							:Dict=False		,    lowerCAmelCase__							:Union[str, Any]=False		,    lowerCAmelCase__							:str=1.0		,    lowerCAmelCase__							:Tuple=0.2		,    lowerCAmelCase__							:List[Any]=1		,    lowerCAmelCase__							:Dict=0		,    lowerCAmelCase__							:Dict=2		,    lowerCAmelCase__							:Dict=False		,    **lowerCAmelCase__							:str		,    )  ->Optional[Any]:
										lowercase         =      vocab_size
										lowercase         =      max_position_embeddings
										lowercase         =      d_model
										lowercase         =      encoder_ffn_dim
										lowercase         =      encoder_layers
										lowercase         =      encoder_attention_heads
										lowercase         =      decoder_ffn_dim
										lowercase         =      decoder_layers
										lowercase         =      decoder_attention_heads
										lowercase         =      dropout
										lowercase         =      attention_dropout
										lowercase         =      activation_dropout
										lowercase         =      activation_function
										lowercase         =      init_std
										lowercase         =      encoder_layerdrop
										lowercase         =      decoder_layerdrop
										lowercase         =      use_cache
										lowercase         =      encoder_layers
										lowercase         =      scale_embedding  # scale factor will be sqrt(d_model) if True
										lowercase         =      router_z_loss_coef
										lowercase         =      router_aux_loss_coef
										lowercase         =      decoder_sparse_step
										lowercase         =      encoder_sparse_step
										lowercase         =      num_experts
										lowercase         =      expert_capacity
										lowercase         =      router_bias
										if router_dtype not in ["float32", "float16", "bfloat16"]:
														raise ValueError(F'''`router_dtype` must be one of \'float32\', \'float16\' or \'bfloat16\', got {router_dtype}'''     )
										lowercase         =      router_dtype

										lowercase         =      router_ignore_padding_tokens
										lowercase         =      batch_prioritized_routing
										lowercase         =      second_expert_policy
										lowercase         =      normalize_router_prob_before_dropping
										lowercase         =      moe_eval_capacity_token_fraction
										lowercase         =      moe_token_dropout
										lowercase         =      output_router_logits
										super().__init__(
										    pad_token_id=lowerCAmelCase__		,    bos_token_id=lowerCAmelCase__		,    eos_token_id=lowerCAmelCase__		,    is_encoder_decoder=lowerCAmelCase__		,    decoder_start_token_id=lowerCAmelCase__		,    **lowerCAmelCase__		,    )




"""simple docstring"""



from diffusers.utils.testing_utils import require_onnxruntime







@require_onnxruntime
class    __a						:
				pass