


from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


__magic_name__  	=     logging.get_logger(__name__)

__magic_name__  	=     {
    '''microsoft/focalnet-tiny''': '''https://huggingface.co/microsoft/focalnet-tiny/resolve/main/config.json''',
}





class        lowerCAmelCase__ (					_A,							_A  ):






						"""simple docstring"""
						__UpperCAmelCase       :						List[Any]    	=			"focalnet"




						def __init__(       self ,				a_=224 ,				a_=4 ,				a_=3 ,				a_=96 ,				a_=False ,				a_=[192, 384, 768, 768] ,				a_=[2, 2, 6, 2] ,				a_=[2, 2, 2, 2] ,				a_=[3, 3, 3, 3] ,				a_="gelu" ,				a_=4.0 ,				a_=0.0 ,				a_=0.1 ,				a_=False ,				a_=1E-4 ,				a_=False ,				a_=False ,				a_=False ,				a_=0.02 ,				a_=1E-5 ,				a_=32 ,				a_=None ,				a_=None ,				**a_ ,				):
							super().__init__(**__lowerCAmelCase      )

							lowerCamelCase_					:				Tuple              =  image_size
							lowerCamelCase_					:				Dict              =  patch_size
							lowerCamelCase_					:				List[str]              =  num_channels
							lowerCamelCase_					:				Dict              =  embed_dim
							lowerCamelCase_					:				Any              =  use_conv_embed
							lowerCamelCase_					:				Dict              =  hidden_sizes
							lowerCamelCase_					:				Optional[Any]              =  depths
							lowerCamelCase_					:				int              =  focal_levels
							lowerCamelCase_					:				Any              =  focal_windows
							lowerCamelCase_					:				Optional[Any]              =  hidden_act
							lowerCamelCase_					:				List[Any]              =  mlp_ratio
							lowerCamelCase_					:				int              =  hidden_dropout_prob
							lowerCamelCase_					:				Union[str, Any]              =  drop_path_rate
							lowerCamelCase_					:				List[str]              =  use_layerscale
							lowerCamelCase_					:				List[Any]              =  layerscale_value
							lowerCamelCase_					:				Tuple              =  use_post_layernorm
							lowerCamelCase_					:				List[Any]              =  use_post_layernorm_in_modulation
							lowerCamelCase_					:				Dict              =  normalize_modulator
							lowerCamelCase_					:				str              =  initializer_range
							lowerCamelCase_					:				Optional[Any]              =  layer_norm_eps
							lowerCamelCase_					:				Any              =  encoder_stride
							lowerCamelCase_					:				Tuple              =  ["stem"] + [F"""stage{idx}""" for idx in range(1 ,				len(self.depths      ) + 1      )]
							lowerCamelCase_       ,lowerCamelCase_					:				List[str]              =  get_aligned_output_features_output_indices(
							    out_features=__lowerCAmelCase ,				out_indices=__lowerCAmelCase ,				stage_names=self.stage_names      )






from .configuration_bert_masked import MaskedBertConfig
from .modeling_bert_masked import (
    MaskedBertForMultipleChoice,
    MaskedBertForQuestionAnswering,
    MaskedBertForSequenceClassification,
    MaskedBertForTokenClassification,
    MaskedBertModel,
)
from .modules import *



