from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_lowercase							:      Dict      							={
    '''configuration_clap''': [
        '''CLAP_PRETRAINED_MODEL_ARCHIVE_LIST''',
        '''ClapAudioConfig''',
        '''ClapConfig''',
        '''ClapTextConfig''',
    ],
    '''processing_clap''': ['''ClapProcessor'''],
}

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    _lowercase							:      Any      							=[
        '''CLAP_PRETRAINED_MODEL_ARCHIVE_LIST''',
        '''ClapModel''',
        '''ClapPreTrainedModel''',
        '''ClapTextModel''',
        '''ClapTextModelWithProjection''',
        '''ClapAudioModel''',
        '''ClapAudioModelWithProjection''',
    ]
    _lowercase							:      Optional[Any]      							=['''ClapFeatureExtractor''']

if TYPE_CHECKING:
    from .configuration_clap import (
        CLAP_PRETRAINED_MODEL_ARCHIVE_LIST,
        ClapAudioConfig,
        ClapConfig,
        ClapTextConfig,
    )
    from .processing_clap import ClapProcessor

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .feature_extraction_clap import ClapFeatureExtractor
        from .modeling_clap import (
            CLAP_PRETRAINED_MODEL_ARCHIVE_LIST,
            ClapAudioModel,
            ClapAudioModelWithProjection,
            ClapModel,
            ClapPreTrainedModel,
            ClapTextModel,
            ClapTextModelWithProjection,
        )


else:
    import sys

    _lowercase							:      str      							=_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)







_lowercase							:      Dict      							='''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






