



'''simple docstring'''




from .imports import is_tqdm_available


if is_tqdm_available():
						from tqdm.auto import tqdm as _tqdm

from ..state import PartialState


def        lowerCAmelCase_     (			_lowerCamelCase:     bool = True ,   *_lowerCamelCase:     Optional[int] ,   **_lowerCamelCase:     Optional[Any]      ):
		if not is_tqdm_available():
				raise ImportError("""Accelerate's `tqdm` module requires `tqdm` to be installed. Please run `pip install tqdm`."""      )
		__SCREAMING_SNAKE_CASE :	Any					 =	False
		if main_process_only:
				__SCREAMING_SNAKE_CASE :	Optional[int]					 =	PartialState().local_process_index == 0
		return _tqdm(*_lowerCamelCase ,   **_lowerCamelCase ,   disable=_lowerCamelCase      )




'''simple docstring'''




UpperCamelCase__ :			List[str]												=				'''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