





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


__lowercase       :Optional[Any]       =  logging.get_logger(__name__)

__lowercase       :List[str]       =  {
    "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    _a     (				lowercase__							):






							"""simple docstring"""

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

							def __init__(      self				:     int							,	a				:     int=5_02_65							,	a				:     int=10_24							,	a				:     Tuple=12							,	a				:     int=16							,	a				:     Optional[int]=40_96							,	a				:     Dict="gelu"							,	a				:     str=5_12							,	a				:     Optional[Any]=0.1							,	a				:     int=0.0							,	a				:     Optional[int]=0.0							,	a				:     List[Any]=2							,	a				:     str=0.02							,	a				:     Dict=0.0							,	a				:     List[Any]=True							,	a				:     int=False							,	a				:     List[str]=True							,	a				:     str=True							,	a				:     List[Any]=1							,	a				:     Dict=0							,	a				:     Any=2							,	**a				:     int							,	)	->List[str]:
													SCREAMING_SNAKE_CASE__     :				Dict   =					vocab_size
													SCREAMING_SNAKE_CASE__     :				List[str]   =					d_model
													SCREAMING_SNAKE_CASE__     :				List[Any]   =					decoder_layers
													SCREAMING_SNAKE_CASE__     :				Tuple   =					decoder_attention_heads
													SCREAMING_SNAKE_CASE__     :				Optional[Any]   =					decoder_ffn_dim
													SCREAMING_SNAKE_CASE__     :				Optional[int]   =					activation_function
													SCREAMING_SNAKE_CASE__     :				Union[str, Any]   =					max_position_embeddings
													SCREAMING_SNAKE_CASE__     :				int   =					dropout
													SCREAMING_SNAKE_CASE__     :				List[str]   =					attention_dropout
													SCREAMING_SNAKE_CASE__     :				Optional[Any]   =					activation_dropout
													SCREAMING_SNAKE_CASE__     :				Dict   =					init_std
													SCREAMING_SNAKE_CASE__     :				Optional[int]   =					decoder_layerdrop
													SCREAMING_SNAKE_CASE__     :				Dict   =					use_cache
													SCREAMING_SNAKE_CASE__     :				Any   =					scale_embedding
													SCREAMING_SNAKE_CASE__     :				int   =					use_learned_position_embeddings
													SCREAMING_SNAKE_CASE__     :				Union[str, Any]   =					layernorm_embedding

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






# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import doctest
import sys
import warnings
from os.path import abspath, dirname, join

import _pytest

from transformers.testing_utils import HfDoctestModule, HfDocTestParser


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
__lowercase       :List[Any]       =  abspath(join(dirname(__file__), "src"))
sys.path.insert(1, git_repo_path)

# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action="ignore", category=FutureWarning)







def       UpperCAmelCase							(     _lowerCamelCase      :  int     ):





						'''simple docstring'''


						config.addinivalue_line(
						    "markers"			,   "is_pt_tf_cross_test: mark test to run only when PT and TF interactions are tested"     )
						config.addinivalue_line(
						    "markers"			,   "is_pt_flax_cross_test: mark test to run only when PT and FLAX interactions are tested"     )
						config.addinivalue_line("markers"			,   "is_pipeline_test: mark test to run only when pipelines are tested"     )
						config.addinivalue_line("markers"			,   "is_staging_test: mark test to run only in the staging environment"     )
						config.addinivalue_line("markers"			,   "accelerate_tests: mark test that require accelerate"     )
						config.addinivalue_line("markers"			,   "tool_tests: mark the tool tests that are run on their specific schedule"     )







def       UpperCAmelCase							(     _lowerCamelCase      :  str     ):





						'''simple docstring'''


						from transformers.testing_utils import pytest_addoption_shared

						pytest_addoption_shared(_lowerCamelCase     )







def       UpperCAmelCase							(     _lowerCamelCase      :  Tuple     ):





						'''simple docstring'''


						from transformers.testing_utils import pytest_terminal_summary_main

						SCREAMING_SNAKE_CASE__     :				List[str]   =					terminalreporter.config.getoption("--make-reports"     )
						if make_reports:
												pytest_terminal_summary_main(_lowerCamelCase			,   id=_lowerCamelCase     )







def       UpperCAmelCase							(     _lowerCamelCase      :  List[Any]			,   _lowerCamelCase      :  Dict     ):





						'''simple docstring'''


						if exitstatus == 5:
												SCREAMING_SNAKE_CASE__     :				List[str]   =					0


# Doctest custom flag to ignore output.
__lowercase       :Optional[Any]       =  doctest.register_optionflag("IGNORE_RESULT")

__lowercase       :Dict       =  doctest.OutputChecker



class    _a     (				lowercase__							):






							"""simple docstring"""

							def      A_  (      self				:     Dict							,	a				:     List[str]							,	a				:     Dict							,	a				:     int    )	->Optional[Any]:
													if IGNORE_RESULT & optionflags:
																			return True
													return OutputChecker.check_output(self							,	a							,	a							,	a    )







__lowercase       :Any       =  CustomOutputChecker
__lowercase       :Any       =  HfDoctestModule



__lowercase       :int       =  HfDocTestParser