"""simple docstring"""







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_a	:	List[Any]=					{
    "configuration_musicgen": [
        "MUSICGEN_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "MusicgenConfig",
        "MusicgenDecoderConfig",
    ],
    "processing_musicgen": ["MusicgenProcessor"],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_a	:	List[Any]=					[
	    "MUSICGEN_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "MusicgenForConditionalGeneration",
	    "MusicgenForCausalLM",
	    "MusicgenModel",
	    "MusicgenPreTrainedModel",
	]

if TYPE_CHECKING:
	from .configuration_musicgen import (
	    MUSICGEN_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    MusicgenConfig,
	    MusicgenDecoderConfig,
	)
	from .processing_musicgen import MusicgenProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_musicgen import (
		    MUSICGEN_PRETRAINED_MODEL_ARCHIVE_LIST,
		    MusicgenForCausalLM,
		    MusicgenForConditionalGeneration,
		    MusicgenModel,
		    MusicgenPreTrainedModel,
		)

else:
	import sys

	_a	:	Dict=					_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






"""simple docstring"""







from typing import TypeVar

from .arrow_dataset import Dataset, _split_by_node_map_style_dataset
from .iterable_dataset import IterableDataset, _split_by_node_iterable_dataset


_a	:	List[Any]=					TypeVar("DatasetType", Dataset, IterableDataset)
def     __UpperCAmelCase							(       UpperCAmelCase_       :							DatasetType     ,				UpperCAmelCase_       :							int     ,				UpperCAmelCase_       :							int    )				->     DatasetType:

	'''simple docstring'''





	if isinstance(UpperCAmelCase_     ,				UpperCAmelCase_    ):
		return _split_by_node_map_style_dataset(UpperCAmelCase_     ,				rank=UpperCAmelCase_     ,				world_size=UpperCAmelCase_    )
	else:
		return _split_by_node_iterable_dataset(UpperCAmelCase_     ,				rank=UpperCAmelCase_     ,				world_size=UpperCAmelCase_    )





