

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


SCREAMING_SNAKE_CASE_						=					logging.get_logger(__name__)

SCREAMING_SNAKE_CASE_						=					{
    'google/reformer-crime-and-punishment': (
        'https://huggingface.co/google/reformer-crime-and-punishment/resolve/main/config.json'
    ),
    'google/reformer-enwik8': 'https://huggingface.co/google/reformer-enwik8/resolve/main/config.json',
}

class  a     (		UpperCAmelCase ):
						_lowercase			  =	"reformer"
						_lowercase			  =	["past_buckets_states"]
						_lowercase			  =	{}


						def __init__(				self  ,    A_=64  ,    A_=["local", "lsh", "local", "lsh", "local", "lsh"]  ,    A_=1.0  ,    A_=True  ,    A_=[64, 64]  ,    A_=[64, 192]  ,    A_=0  ,    A_=2  ,    A_=512  ,    A_=None  ,    A_="relu"  ,    A_=0.05  ,    A_=256  ,    A_=0.02  ,    A_=False  ,    A_=1e-12  ,    A_=1  ,    A_=0  ,    A_=0.05  ,    A_=64  ,    A_=64  ,    A_=0.0  ,    A_=1  ,    A_=0  ,    A_=4096  ,    A_=12  ,    A_=None  ,    A_=1  ,    A_=0  ,    A_=320  ,    A_=False  ,    A_=True  ,    A_=None  ,    **A_  ,    ):







										'''simple docstring'''


										_UpperCAmelCase				:						Dict       						=			hash_seed
										_UpperCAmelCase				:						List[str]       						=			vocab_size
										_UpperCAmelCase				:						List[str]       						=			attention_head_size
										_UpperCAmelCase				:						int       						=			hidden_size
										_UpperCAmelCase				:						List[str]       						=			num_attention_heads
										_UpperCAmelCase				:						str       						=			num_hashes
										_UpperCAmelCase				:						str       						=			len(A_		)
										_UpperCAmelCase				:						Optional[int]       						=			tuple(A_		) if isinstance(A_  ,    A_		) else num_buckets
										_UpperCAmelCase				:						Dict       						=			lsh_attn_chunk_length
										_UpperCAmelCase				:						str       						=			local_attn_chunk_length
										_UpperCAmelCase				:						Optional[Any]       						=			lsh_num_chunks_after
										_UpperCAmelCase				:						Any       						=			lsh_num_chunks_before
										_UpperCAmelCase				:						Tuple       						=			local_num_chunks_after
										_UpperCAmelCase				:						Union[str, Any]       						=			local_num_chunks_before
										_UpperCAmelCase				:						Optional[Any]       						=			hidden_act
										_UpperCAmelCase				:						List[Any]       						=			feed_forward_size
										_UpperCAmelCase				:						Optional[Any]       						=			hidden_dropout_prob
										_UpperCAmelCase				:						Dict       						=			lsh_attention_probs_dropout_prob
										_UpperCAmelCase				:						List[str]       						=			local_attention_probs_dropout_prob
										_UpperCAmelCase				:						Optional[int]       						=			max_position_embeddings
										_UpperCAmelCase				:						str       						=			initializer_range
										_UpperCAmelCase				:						Tuple       						=			layer_norm_eps
										_UpperCAmelCase				:						Optional[Any]       						=			axial_pos_embds
										_UpperCAmelCase				:						Optional[int]       						=			tuple(A_		)
										_UpperCAmelCase				:						List[Any]       						=			tuple(A_		)
										_UpperCAmelCase				:						Dict       						=			axial_norm_std
										_UpperCAmelCase				:						List[str]       						=			chunk_size_lm_head
										_UpperCAmelCase				:						List[str]       						=			attn_layers
										_UpperCAmelCase				:						Optional[Any]       						=			use_cache
										_UpperCAmelCase				:						int       						=			classifier_dropout
										super().__init__(
										    pad_token_id=A_  ,    eos_token_id=A_  ,    is_decoder=A_  ,    tie_word_embeddings=A_  ,    **A_  ,    )





from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE_						=					{'configuration_hubert': ['HUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'HubertConfig']}

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					SCREAMING_SNAKE_CASE_						=					[
					    'HUBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
					    'HubertForCTC',
					    'HubertForSequenceClassification',
					    'HubertModel',
					    'HubertPreTrainedModel',
					]


try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					SCREAMING_SNAKE_CASE_						=					[
					    'TF_HUBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
					    'TFHubertForCTC',
					    'TFHubertModel',
					    'TFHubertPreTrainedModel',
					]

if TYPE_CHECKING:
					from .configuration_hubert import HUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, HubertConfig

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_hubert import (
										    HUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    HubertForCTC,
										    HubertForSequenceClassification,
										    HubertModel,
										    HubertPreTrainedModel,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_hubert import (
										    TF_HUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFHubertForCTC,
										    TFHubertModel,
										    TFHubertPreTrainedModel,
										)


else:
					import sys

					SCREAMING_SNAKE_CASE_						=					_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)


