YAMLDataset
YAMLDataset загружает датасеты в формате Ultralytics/YOLO, описанные файлом data.yaml. Предоставляет выборки train, val и опционально test, поддерживает классификацию, детекцию и сегментацию в зависимости от формата разметки.
Файлы меток обрабатываются в двух режимах:
- Ограничивающий прямоугольник —
<class_id> <x_center> <y_center> <width> <height>(нормализованные координаты). Подходит для классификации и детекции. - Полигональная маска —
<class_id> <x1> <y1> ... <xn> <yn>. Для сегментации возвращает маску; для детекции строит bbox по минимальным и максимальным координатам.
from hyppopipe.data.dataset import YAMLDataset
ds = YAMLDataset("datasets/my_task/data.yaml")
split_data = ds.as_split_data()
train_cls = split_data.train.as_classification_dataset()
Как и у датасетов на основе директорий, поддерживаются флаги absorb_folders (игнорировать готовое разбиение) и strict (проверка расширений и MIME-типов при загрузке).
Документация¶
Ultralytics/YOLOv5 YAML facade with lazy per-task split materialization.
Parses data.yaml, exposes train, val, and optional test as
YAMLSplitResource objects, and provides as_split_data for training
pipelines.
Examples:
Load splits and build a classification training set::
ds = YAMLDataset("datasets/my_task/data.yaml")
split_data = ds.as_split_data()
train_set = split_data.train.as_classification_dataset()
__init__(path_to_yaml, *, absorb_folders=False, detection_layout='auto', strict=True)
¶
Load dataset YAML and prepare split resources.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path_to_yaml
|
str | Path
|
Path to the dataset YAML file. |
required |
absorb_folders
|
bool
|
Allow nested top folders in classification layout. |
False
|
detection_layout
|
str
|
|
'auto'
|
strict
|
bool
|
Passed when loading classification images. |
True
|
as_split_data()
¶
Return train/val (and optional test) resources for Trainer.
Returns:
| Type | Description |
|---|---|
TrainVal | TrainValTest
|
|