Filter dataset to a specific split or return the first available split.
Source code in src/guidellm/data/utils/dataset.py
| def resolve_dataset_split(
dataset: DatasetDictType,
split: str | None = None,
) -> DatasetType:
"""
Filter dataset to a specific split or return the first available split.
"""
if split is not None and isinstance(dataset, DatasetDict | IterableDatasetDict):
if split in dataset:
return dataset[split]
raise ValueError(f"Requested split '{split}' not found in dataset: {dataset}.")
elif split is not None:
raise ValueError(
f"Requested split '{split}' but dataset has no splits: {dataset}."
)
if isinstance(dataset, Dataset | IterableDataset):
return dataset
for _, default_splits in DEFAULT_SPLITS.items():
for default_split in default_splits:
if default_split in dataset:
return dataset[default_split]
return dataset[list(dataset.keys())[0]]
|