
'''simple docstring'''


import functools
import operator

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


__lowercase							:   Dict					=     logging.get_logger(__name__)

__lowercase							:   Dict					=     {
    '''microsoft/unispeech-sat-base-100h-libri-ft''': (
        '''https://huggingface.co/microsoft/unispeech-sat-base-100h-libri-ft/resolve/main/config.json'''
    ),
    # See all UniSpeechSat models at https://huggingface.co/models?filter=unispeech_sat
}

class 	__lowercase				(  lowercase__    ):
			lowerCamelCase			:		Union[str, Any]	      =			"""unispeech-sat"""

			def __init__(self			,   A=3_2			,   A=7_6_8			,   A=1_2			,   A=1_2			,   A=3_0_7_2			,   A="gelu"			,   A=0.1			,   A=0.1			,   A=0.1			,   A=0.0			,   A=0.0			,   A=0.1			,   A=0.1			,   A=0.02			,   A=1E-5			,   A="group"			,   A="gelu"			,   A=(5_1_2, 5_1_2, 5_1_2, 5_1_2, 5_1_2, 5_1_2, 5_1_2)			,   A=(5, 2, 2, 2, 2, 2, 2)			,   A=(1_0, 3, 3, 3, 3, 2, 2)			,   A=False			,   A=1_2_8			,   A=1_6			,   A=False			,   A=True			,   A=0.05			,   A=1_0			,   A=2			,   A=0.0			,   A=1_0			,   A=0			,   A=3_2_0			,   A=2			,   A=0.1			,   A=1_0_0			,   A=2_5_6			,   A=2_5_6			,   A=0.1			,   A="mean"			,   A=False			,   A=False			,   A=2_5_6			,   A=(5_1_2, 5_1_2, 5_1_2, 5_1_2, 1_5_0_0)			,   A=(5, 3, 3, 1, 1)			,   A=(1, 2, 3, 1, 1)			,   A=5_1_2			,   A=0			,   A=1			,   A=2			,   A=5_0_4			,   **A			,   ):
								super().__init__(**__lowercase			,   pad_token_id=__lowercase			,   bos_token_id=__lowercase			,   eos_token_id=__lowercase      )
								lowerCamelCase_					:      Any     =		hidden_size
								lowerCamelCase_					:      int     =		feat_extract_norm
								lowerCamelCase_					:      Optional[Any]     =		feat_extract_activation
								lowerCamelCase_					:      int     =		list(__lowercase      )
								lowerCamelCase_					:      Dict     =		list(__lowercase      )
								lowerCamelCase_					:      List[str]     =		list(__lowercase      )
								lowerCamelCase_					:      Union[str, Any]     =		conv_bias
								lowerCamelCase_					:      Dict     =		num_conv_pos_embeddings
								lowerCamelCase_					:      Optional[int]     =		num_conv_pos_embedding_groups
								lowerCamelCase_					:      Dict     =		len(self.conv_dim      )
								lowerCamelCase_					:      List[str]     =		num_hidden_layers
								lowerCamelCase_					:      Any     =		intermediate_size
								lowerCamelCase_					:      Any     =		hidden_act
								lowerCamelCase_					:      List[Any]     =		num_attention_heads
								lowerCamelCase_					:      Any     =		hidden_dropout
								lowerCamelCase_					:      Tuple     =		attention_dropout
								lowerCamelCase_					:      Tuple     =		activation_dropout
								lowerCamelCase_					:      Union[str, Any]     =		feat_proj_dropout
								lowerCamelCase_					:      List[Any]     =		final_dropout
								lowerCamelCase_					:      Dict     =		layerdrop
								lowerCamelCase_					:      str     =		layer_norm_eps
								lowerCamelCase_					:      int     =		initializer_range
								lowerCamelCase_					:      List[Any]     =		vocab_size
								lowerCamelCase_					:      Tuple     =		num_clusters
								lowerCamelCase_					:      int     =		do_stable_layer_norm
								lowerCamelCase_					:      Dict     =		use_weighted_layer_sum

								if (
								    (len(self.conv_stride      ) != self.num_feat_extract_layers)
								    or (len(self.conv_kernel      ) != self.num_feat_extract_layers)
								    or (len(self.conv_dim      ) != self.num_feat_extract_layers)
								):
													raise ValueError(
													    '''Configuration for convolutional layers is incorrect. It is required that `len(config.conv_dim)` =='''
													    ''' `len(config.conv_stride)` == `len(config.conv_kernel)`, but is `len(config.conv_dim) ='''
													    F""" {len(self.conv_dim      )}`, `len(config.conv_stride) = {len(self.conv_stride      )}`,"""
													    F""" `len(config.conv_kernel) = {len(self.conv_kernel      )}`."""      )

								# fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
								lowerCamelCase_					:      Dict     =		apply_spec_augment
								lowerCamelCase_					:      Optional[Any]     =		mask_time_prob
								lowerCamelCase_					:      int     =		mask_time_length
								lowerCamelCase_					:      Union[str, Any]     =		mask_time_min_masks
								lowerCamelCase_					:      Union[str, Any]     =		mask_feature_prob
								lowerCamelCase_					:      List[str]     =		mask_feature_length
								lowerCamelCase_					:      int     =		mask_feature_min_masks

								# parameters for pretraining with codevector quantized representations
								lowerCamelCase_					:      Optional[int]     =		num_codevectors_per_group
								lowerCamelCase_					:      Optional[Any]     =		num_codevector_groups
								lowerCamelCase_					:      Dict     =		contrastive_logits_temperature
								lowerCamelCase_					:      List[Any]     =		feat_quantizer_dropout
								lowerCamelCase_					:      Dict     =		num_negatives
								lowerCamelCase_					:      Tuple     =		codevector_dim
								lowerCamelCase_					:      Dict     =		proj_codevector_dim
								lowerCamelCase_					:      str     =		diversity_loss_weight

								# ctc loss
								lowerCamelCase_					:      Union[str, Any]     =		ctc_loss_reduction
								lowerCamelCase_					:      Union[str, Any]     =		ctc_zero_infinity

								# SequenceClassification-specific parameter. Feel free to ignore for other classes.
								lowerCamelCase_					:      List[Any]     =		classifier_proj_size

								# XVector-specific parameters. Feel free to ignore for other classes.
								lowerCamelCase_					:      Tuple     =		list(__lowercase      )
								lowerCamelCase_					:      int     =		list(__lowercase      )
								lowerCamelCase_					:      Union[str, Any]     =		list(__lowercase      )
								lowerCamelCase_					:      Union[str, Any]     =		xvector_output_dim






			@property
			def        UpperCAmelCase__ (self      ):
								return functools.reduce(operator.mul			,   self.conv_stride			,   1      )




'''simple docstring'''


import os
from math import logaa




def lowercase_	(   _lowercase = "base_exp.txt"				)     ->							int:
					'''simple docstring'''

					lowerCamelCase_					:      float     =		0
					lowerCamelCase_					:      Dict     =		0
					for i, line in enumerate(open(os.path.join(os.path.dirname(_lowercase				)			,       _lowercase				)				)				):
										lowerCamelCase_,      lowerCamelCase_					:      Dict     =		list(map(_lowercase			,       line.split(''','''				)				)				)
										if x * logaa(_lowercase				) > largest:
															lowerCamelCase_					:      List[str]     =		x * logaa(_lowercase				)
															lowerCamelCase_					:      Union[str, Any]     =		i + 1
					return result


if __name__ == "__main__":
					print(solution())


