





'''simple docstring'''


import os
import sys
import tempfile

import torch

from .state import AcceleratorState
from .utils import PrecisionType, PrepareForLaunch, is_mps_available, patch_environment


def 						__a(SCREAMING_SNAKE_CASE_	:       List[Any]		,							SCREAMING_SNAKE_CASE_	:       Optional[int]=()		,							SCREAMING_SNAKE_CASE_	:       Optional[int]=None		,							SCREAMING_SNAKE_CASE_	:       Optional[Any]="no"		,							SCREAMING_SNAKE_CASE_	:       Any="29500"     ):



    '''simple docstring'''





    _lowerCAmelCase						      =   False
    _lowerCAmelCase						      =   False
    if any(key.startswith("KAGGLE"     ) for key in os.environ.keys()     ):
        _lowerCAmelCase						      =   True
    elif "IPython" in sys.modules:
        _lowerCAmelCase						      =   "google.colab" in str(sys.modules["IPython"].get_ipython()     )

    try:
        _lowerCAmelCase						      =   PrecisionType(mixed_precision.lower()     )
    except ValueError:
        raise ValueError(
            F'''Unknown mixed_precision mode: {args.mixed_precision.lower()}. Choose between {PrecisionType.list()}.'''     )

    if (in_colab or in_kaggle) and (os.environ.get("TPU_NAME"		,							SCREAMING_SNAKE_CASE_     ) is not None):
        # TPU launch
        import torch_xla.distributed.xla_multiprocessing as xmp

        if len(AcceleratorState._shared_state     ) > 0:
            raise ValueError(
                "To train on TPU in Colab or Kaggle Kernel, the `Accelerator` should only be initialized inside "
                "your training function. Restart your notebook and make sure no cells initializes an "
                "`Accelerator`."     )
        if num_processes is None:
            _lowerCAmelCase						      =   8

        _lowerCAmelCase						      =   PrepareForLaunch(SCREAMING_SNAKE_CASE_		,							distributed_type="TPU"     )
        print(F'''Launching a training on {num_processes} TPU cores.'''     )
        xmp.spawn(SCREAMING_SNAKE_CASE_		,							args=SCREAMING_SNAKE_CASE_		,							nprocs=SCREAMING_SNAKE_CASE_		,							start_method="fork"     )
    elif in_colab:
        # No need for a distributed launch otherwise as it's either CPU or one GPU.
        if torch.cuda.is_available():
            print("Launching training on one GPU."     )
        else:
            print("Launching training on one CPU."     )
        function(*SCREAMING_SNAKE_CASE_     )
    else:
        if num_processes is None:
            raise ValueError(
                "You have to specify the number of GPUs you would like to use, add `num_processes=...` to your call."     )

        if num_processes > 1:
            # Multi-GPU launch
            from torch.multiprocessing import start_processes
            from torch.multiprocessing.spawn import ProcessRaisedException

            if len(AcceleratorState._shared_state     ) > 0:
                raise ValueError(
                    "To launch a multi-GPU training from your notebook, the `Accelerator` should only be initialized "
                    "inside your training function. Restart your notebook and make sure no cells initializes an "
                    "`Accelerator`."     )

            if torch.cuda.is_initialized():
                raise ValueError(
                    "To launch a multi-GPU training from your notebook, you need to avoid running any instruction "
                    "using `torch.cuda` in any cell. Restart your notebook and make sure no cells use any CUDA "
                    "function."     )

            # torch.distributed will expect a few environment variable to be here. We set the ones common to each
            # process here (the other ones will be set be the launcher).
            with patch_environment(
                world_size=SCREAMING_SNAKE_CASE_		,							master_addr="127.0.01"		,							master_port=SCREAMING_SNAKE_CASE_		,							mixed_precision=SCREAMING_SNAKE_CASE_     ):
                _lowerCAmelCase						      =   PrepareForLaunch(SCREAMING_SNAKE_CASE_		,							distributed_type="MULTI_GPU"     )
                print(F'''Launching training on {num_processes} GPUs.'''     )
                try:
                    start_processes(SCREAMING_SNAKE_CASE_		,							args=SCREAMING_SNAKE_CASE_		,							nprocs=SCREAMING_SNAKE_CASE_		,							start_method="fork"     )
                except ProcessRaisedException as e:
                    if "Cannot re-initialize CUDA in forked subprocess" in e.args[0]:
                        raise RuntimeError(
                            "CUDA has been initialized before the `notebook_launcher` could create a forked subprocess. "
                            "This likely stems from an outside import causing issues once the `notebook_launcher()` is called. "
                            "Please review your imports and test them when running the `notebook_launcher()` to identify "
                            "which one is problematic."     ) from e

        else:
            # No need for a distributed launch otherwise as it's either CPU, GPU or MPS.
            if is_mps_available():
                _lowerCAmelCase						      =   "1"
                print("Launching training on MPS."     )
            elif torch.cuda.is_available():
                print("Launching training on one GPU."     )
            else:
                print("Launching training on CPU."     )
            function(*SCREAMING_SNAKE_CASE_     )





def 						__a(SCREAMING_SNAKE_CASE_	:       List[str]		,							SCREAMING_SNAKE_CASE_	:       Optional[int]=()		,							SCREAMING_SNAKE_CASE_	:       List[str]=2     ):



    '''simple docstring'''





    from torch.multiprocessing import start_processes

    with tempfile.NamedTemporaryFile() as tmp_file:
        # torch.distributed will expect a few environment variable to be here. We set the ones common to each
        # process here (the other ones will be set be the launcher).
        with patch_environment(
            world_size=SCREAMING_SNAKE_CASE_		,							master_addr="127.0.01"		,							master_port="29500"		,							accelerate_mixed_precision="no"		,							accelerate_debug_rdv_file=tmp_file.name		,							accelerate_use_cpu="yes"		,							):
            _lowerCAmelCase						      =   PrepareForLaunch(SCREAMING_SNAKE_CASE_		,							debug=SCREAMING_SNAKE_CASE_     )
            start_processes(SCREAMING_SNAKE_CASE_		,							args=SCREAMING_SNAKE_CASE_		,							nprocs=SCREAMING_SNAKE_CASE_		,							start_method="fork"     )









'''simple docstring'''


from ..utils import DummyObject, requires_backends

class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Dict								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)







def 						__a(*SCREAMING_SNAKE_CASE_	:       Optional[Any]		,							**SCREAMING_SNAKE_CASE_	:       int     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       str		,							**SCREAMING_SNAKE_CASE_	:       str     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       str		,							**SCREAMING_SNAKE_CASE_	:       List[Any]     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       Optional[Any]		,							**SCREAMING_SNAKE_CASE_	:       List[str]     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       List[Any]		,							**SCREAMING_SNAKE_CASE_	:       List[str]     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       Tuple		,							**SCREAMING_SNAKE_CASE_	:       str     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )


def 						__a(*SCREAMING_SNAKE_CASE_	:       int		,							**SCREAMING_SNAKE_CASE_	:       Dict     ):



    '''simple docstring'''





    requires_backends(SCREAMING_SNAKE_CASE_		,							["torch"]     )

class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Dict								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Any								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Any								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Optional[int]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				str								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Tuple								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Any								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Tuple								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				str								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Dict								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Any								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				int:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Dict								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				str								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				int								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[str]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				List[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				List[str]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Tuple								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Any:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				str								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Optional[int]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Tuple:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)







class  lowerCAmelCase_		(		metaclass=__magic_name__		):
 __lowerCamelCase    :				Union[str, Any]								=       ["torch"]




 def __init__(						self      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Union[str, Any]:
     requires_backends(self      ,  ["torch"]		)




 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				str:
     requires_backends(cls      ,  ["torch"]		)





 @classmethod
 def 				_snake_case (						cls      ,  *_lowerCAmelCase      ,  **_lowerCAmelCase		)     ->				Dict:
     requires_backends(cls      ,  ["torch"]		)


