


import operator as op


UpperCAmelCase_ :					int       =			'scaler.pt'
UpperCAmelCase_ :					Any       =			'pytorch_model'
UpperCAmelCase_ :					Any       =			'random_states'
UpperCAmelCase_ :					Any       =			'optimizer'
UpperCAmelCase_ :					List[Any]       =			'scheduler'
UpperCAmelCase_ :					Any       =			'pytorch_model.bin'
UpperCAmelCase_ :					str       =			'pytorch_model.bin.index.json'
UpperCAmelCase_ :					List[Any]       =			'model.safetensors'
UpperCAmelCase_ :					Dict       =			'model.safetensors.index.json'
UpperCAmelCase_ :					List[Any]       =			'1.10.2'
UpperCAmelCase_ :					Tuple       =			'py38'
UpperCAmelCase_ :					List[Any]       =			'4.17.0'
UpperCAmelCase_ :					Optional[int]       =			['ml.p3.16xlarge', 'ml.p3dn.24xlarge', 'ml.p4dn.24xlarge']
UpperCAmelCase_ :					Any       =			['FULL_SHARD', 'SHARD_GRAD_OP', 'NO_SHARD', 'HYBRID_SHARD', 'HYBRID_SHARD_ZERO2']
UpperCAmelCase_ :					str       =			['TRANSFORMER_BASED_WRAP', 'SIZE_BASED_WRAP', 'NO_WRAP']
UpperCAmelCase_ :					Optional[int]       =			['BACKWARD_PRE', 'BACKWARD_POST', 'NO_PREFETCH']
UpperCAmelCase_ :					Union[str, Any]       =			['FULL_STATE_DICT', 'LOCAL_STATE_DICT', 'SHARDED_STATE_DICT']
UpperCAmelCase_ :					Optional[Any]       =			'2.0.1'
UpperCAmelCase_ :					Tuple       =			['pdsh', 'standard', 'openmpi', 'mvapich']
UpperCAmelCase_ :					Optional[int]       =			['default', 'reduce-overhead', 'max-autotune']

UpperCAmelCase_ :					Dict       =			{'>': op.gt, '>=': op.ge, '==': op.eq, '!=': op.ne, '<=': op.le, '<': op.lt}

# These are the args for `torch.distributed.launch` for pytorch < 1.9
UpperCAmelCase_ :					Any       =			[
    'nnodes',
    'nproc_per_node',
    'rdzv_backend',
    'rdzv_endpoint',
    'rdzv_id',
    'rdzv_conf',
    'standalone',
    'max_restarts',
    'monitor_interval',
    'start_method',
    'role',
    'module',
    'm',
    'no_python',
    'run_path',
    'log_dir',
    'r',
    'redirects',
    't',
    'tee',
    'node_rank',
    'master_addr',
    'master_port',
]

UpperCAmelCase_ :					Optional[Any]       =			['DEEPSPEED', 'MULTI_GPU', 'FSDP', 'MEGATRON_LM']
UpperCAmelCase_ :					Optional[int]       =			['DEEPSPEED', 'MULTI_XPU', 'FSDP']






'''simple docstring'''
# 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.
lowerCAmelCase						=					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 					lowerCamelCase_ ( __UpperCamelCase					:       Optional[Any]		)					->	str:







     """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 					lowerCamelCase_ ( __UpperCamelCase					:       Tuple		)					->	List[str]:







     """simple docstring"""
     from transformers.testing_utils import pytest_addoption_shared

     pytest_addoption_shared(__UpperCamelCase		)

def 					lowerCamelCase_ ( __UpperCamelCase					:       Union[str, Any]		)					->	str:







     """simple docstring"""
     from transformers.testing_utils import pytest_terminal_summary_main

     _A				=							terminalreporter.config.getoption('--make-reports'		)
     if make_reports:
          pytest_terminal_summary_main(__UpperCamelCase							,    id=__UpperCamelCase		)

def 					lowerCamelCase_ ( __UpperCamelCase					:       str							,    __UpperCamelCase					:       List[str]		)					->	Optional[int]:







     """simple docstring"""
     # If no tests are collected, pytest exists with code 5, which makes the CI fail.
     if exitstatus == 5:
          _A				=							0


# Doctest custom flag to ignore output.
lowerCAmelCase						=					doctest.register_optionflag("""IGNORE_RESULT""")

lowerCAmelCase						=					doctest.OutputChecker






class        lowerCAmelCase_  (     UpperCAmelCase	):






       def   UpperCamelCase						( self			,     _UpperCamelCase			,     _UpperCamelCase			,     _UpperCamelCase   )->      Tuple:
            if IGNORE_RESULT & optionflags:
                 return True
            return OutputChecker.check_output(self			,     _UpperCamelCase			,     _UpperCamelCase			,     _UpperCamelCase   )






lowerCAmelCase						=					CustomOutputChecker
lowerCAmelCase						=					HfDoctestModule
lowerCAmelCase						=					HfDocTestParser





