"""simple docstring"""






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


_A   					=    logging.get_logger(__name__)

_A   					=    {
    'microsoft/trocr-base-handwritten': (
        'https://huggingface.co/microsoft/trocr-base-handwritten/resolve/main/config.json'
    ),
    # See all TrOCR models at https://huggingface.co/models?filter=trocr
}

class lowerCamelCase		(_SCREAMING_SNAKE_CASE      ):






					'''simple docstring'''


					a   	=		"trocr"
					a   	=		["past_key_values"]
					a   	=		{
					    "num_attention_heads": "decoder_attention_heads",
					    "hidden_size": "d_model",
					    "num_hidden_layers": "decoder_layers",
					}



					def __init__(						self			:				Union[str, Any]   , _snake_case			:				Optional[int]=50265   , _snake_case			:				int=1024   , _snake_case			:				List[str]=12   , _snake_case			:				Any=16   , _snake_case			:				Tuple=4096   , _snake_case			:				Tuple="gelu"   , _snake_case			:				List[str]=512   , _snake_case			:				Union[str, Any]=0.1   , _snake_case			:				List[str]=0.0   , _snake_case			:				str=0.0   , _snake_case			:				int=2   , _snake_case			:				str=0.02   , _snake_case			:				str=0.0   , _snake_case			:				Tuple=True   , _snake_case			:				Dict=False   , _snake_case			:				Dict=True   , _snake_case			:				Dict=True   , _snake_case			:				List[Any]=1   , _snake_case			:				Any=0   , _snake_case			:				Dict=2   , **_snake_case			:				Tuple   , )							->       Union[str, Any]:
									SCREAMING_SNAKE_CASE__		  =				vocab_size
									SCREAMING_SNAKE_CASE__		  =				d_model
									SCREAMING_SNAKE_CASE__		  =				decoder_layers
									SCREAMING_SNAKE_CASE__		  =				decoder_attention_heads
									SCREAMING_SNAKE_CASE__		  =				decoder_ffn_dim
									SCREAMING_SNAKE_CASE__		  =				activation_function
									SCREAMING_SNAKE_CASE__		  =				max_position_embeddings
									SCREAMING_SNAKE_CASE__		  =				dropout
									SCREAMING_SNAKE_CASE__		  =				attention_dropout
									SCREAMING_SNAKE_CASE__		  =				activation_dropout
									SCREAMING_SNAKE_CASE__		  =				init_std
									SCREAMING_SNAKE_CASE__		  =				decoder_layerdrop
									SCREAMING_SNAKE_CASE__		  =				use_cache
									SCREAMING_SNAKE_CASE__		  =				scale_embedding
									SCREAMING_SNAKE_CASE__		  =				use_learned_position_embeddings
									SCREAMING_SNAKE_CASE__		  =				layernorm_embedding

									super().__init__(
									    pad_token_id=_snake_case   , bos_token_id=_snake_case   , eos_token_id=_snake_case   , decoder_start_token_id=_snake_case   , **_snake_case   , )





"""simple docstring"""






from typing import Callable, Optional

from .. import Features
from ..packaged_modules.generator.generator import Generator
from .abc import AbstractDatasetInputStream

class lowerCamelCase		(_SCREAMING_SNAKE_CASE      ):






					'''simple docstring'''


					def __init__(						self			:				List[str]   , _snake_case			:				Callable   , _snake_case			:				Optional[Features] = None   , _snake_case			:				str = None   , _snake_case			:				bool = False   , _snake_case			:				bool = False   , _snake_case			:				Optional[dict] = None   , _snake_case			:				Optional[int] = None   , **_snake_case			:				Dict   , )							->       Any:
									super().__init__(
									    features=_snake_case   , cache_dir=_snake_case   , keep_in_memory=_snake_case   , streaming=_snake_case   , num_proc=_snake_case   , **_snake_case   , )
									SCREAMING_SNAKE_CASE__		  =				Generator(
									    cache_dir=_snake_case   , features=_snake_case   , generator=_snake_case   , gen_kwargs=_snake_case   , **_snake_case   , )



					def 			lowerCAmelCase_					(						self			:				List[str]		)							->       Optional[Any]:
									# Build iterable dataset
									if self.streaming:
													SCREAMING_SNAKE_CASE__		  =				self.builder.as_streaming_dataset(split="train"		)
									# Build regular (map-style) dataset
									else:
													SCREAMING_SNAKE_CASE__		  =				None
													SCREAMING_SNAKE_CASE__		  =				None
													SCREAMING_SNAKE_CASE__		  =				None
													SCREAMING_SNAKE_CASE__		  =				None

													self.builder.download_and_prepare(
													    download_config=_snake_case   , download_mode=_snake_case   , verification_mode=_snake_case   , base_path=_snake_case   , num_proc=self.num_proc   , )
													SCREAMING_SNAKE_CASE__		  =				self.builder.as_dataset(
													    split="train"   , verification_mode=_snake_case   , in_memory=self.keep_in_memory		)
									return dataset




