'''simple docstring'''
import os
from pathlib import Path







def  _UpperCamelCase (     ):




				"""simple docstring"""



				from torch.utils.cpp_extension import load

				__UpperCamelCase	:	Optional[int]		    =  Path(_a			).resolve().parent.parent.parent / 'kernels' / 'deformable_detr'
				__UpperCamelCase	:	Optional[Any]		    =  [
				    root / filename
				    for filename in [
				        'vision.cpp',
				        os.path.join('cpu'				,     'ms_deform_attn_cpu.cpp'			),
				        os.path.join('cuda'				,     'ms_deform_attn_cuda.cu'			),
				    ]
				]

				load(
				    'MultiScaleDeformableAttention'				,     _a				,     with_cuda=_a				,     extra_include_paths=[str(_a			)]				,     extra_cflags=['-DWITH_CUDA=1']				,     extra_cuda_cflags=[
				        '-DCUDA_HAS_FP16=1',
				        '-D__CUDA_NO_HALF_OPERATORS__',
				        '-D__CUDA_NO_HALF_CONVERSIONS__',
				        '-D__CUDA_NO_HALF2_OPERATORS__',
				    ]				,     )

				import MultiScaleDeformableAttention as MSDA

				return MSDA




'''simple docstring'''
a=  '''0.21.0'''

from .accelerator import Accelerator
from .big_modeling import (
    cpu_offload,
    cpu_offload_with_hook,
    disk_offload,
    dispatch_model,
    init_empty_weights,
    init_on_device,
    load_checkpoint_and_dispatch,
)
from .data_loader import skip_first_batches
from .launchers import debug_launcher, notebook_launcher
from .state import PartialState
from .utils import (
    DeepSpeedPlugin,
    DistributedDataParallelKwargs,
    DistributedType,
    FullyShardedDataParallelPlugin,
    GradScalerKwargs,
    InitProcessGroupKwargs,
    find_executable_batch_size,
    infer_auto_device_map,
    is_rich_available,
    load_checkpoint_in_model,
    synchronize_rng_states,
)


if is_rich_available():
  from .utils import rich



