


"""simple docstring"""
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


SCREAMING_SNAKE_CASE					:       Tuple							   =							{
    """configuration_realm""": ["""REALM_PRETRAINED_CONFIG_ARCHIVE_MAP""", """RealmConfig"""],
    """tokenization_realm""": ["""RealmTokenizer"""],
}

try:
			if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			SCREAMING_SNAKE_CASE					:       Optional[Any]							   =							["""RealmTokenizerFast"""]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			SCREAMING_SNAKE_CASE					:       Dict							   =							[
			    """REALM_PRETRAINED_MODEL_ARCHIVE_LIST""",
			    """RealmEmbedder""",
			    """RealmForOpenQA""",
			    """RealmKnowledgeAugEncoder""",
			    """RealmPreTrainedModel""",
			    """RealmReader""",
			    """RealmScorer""",
			    """load_tf_weights_in_realm""",
			]
			SCREAMING_SNAKE_CASE					:       Union[str, Any]							   =							["""RealmRetriever"""]


if TYPE_CHECKING:
			from .configuration_realm import REALM_PRETRAINED_CONFIG_ARCHIVE_MAP, RealmConfig
			from .tokenization_realm import RealmTokenizer

			try:
						if not is_tokenizers_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_realm import RealmTokenizerFast

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_realm import (
						    REALM_PRETRAINED_MODEL_ARCHIVE_LIST,
						    RealmEmbedder,
						    RealmForOpenQA,
						    RealmKnowledgeAugEncoder,
						    RealmPreTrainedModel,
						    RealmReader,
						    RealmScorer,
						    load_tf_weights_in_realm,
						)
						from .retrieval_realm import RealmRetriever


else:
			import sys

			SCREAMING_SNAKE_CASE					:       str							   =							_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)











'''simple docstring'''







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


A					       =logging.get_logger(__name__)

A					       ={
    'facebook/regnet-y-040': 'https://huggingface.co/facebook/regnet-y-040/blob/main/config.json',
}


class      _a    (      __a					):
       __a							:	Optional[int]  							=   """regnet"""
       __a							:	Optional[Any]  							=   ["""x""", """y"""]
       def __init__(      self		:      int  ,							lowercase		:      List[Any]=3  ,							lowercase		:      Union[str, Any]=32  ,							lowercase		:      Tuple=[128, 192, 512, 1_088]  ,							lowercase		:      List[Any]=[2, 6, 12, 2]  ,							lowercase		:      Optional[Any]=64  ,							lowercase		:      Optional[int]="y"  ,							lowercase		:      int="relu"  ,							**lowercase		:      int  ,							):



           '''simple docstring'''

           super().__init__(**lowercase							)
           if layer_type not in self.layer_types:
               raise ValueError(f"layer_type={layer_type} is not one of {','.join(self.layer_types							)}"							)
           UpperCAmelCase     			=						num_channels
           UpperCAmelCase     			=						embedding_size
           UpperCAmelCase     			=						hidden_sizes
           UpperCAmelCase     			=						depths
           UpperCAmelCase     			=						groups_width
           UpperCAmelCase     			=						layer_type
           UpperCAmelCase     			=						hidden_act
           # always downsample in the first stage
           UpperCAmelCase     			=						True




