fruit_project.utils.datasets.alb_mosaic_dataset

Classes

AlbumentationsMosaicDataset

Dataset wrapper that applies Albumentations' native Mosaic augmentation,

Functions

Module Contents

class fruit_project.utils.datasets.alb_mosaic_dataset.AlbumentationsMosaicDataset(dataset: fruit_project.utils.datasets.det_dataset.DET_DS, current_epoch: int = 0, hard_transforms: albumentations.Compose = None, easy_transforms: albumentations.Compose = None, cfg=None)[source]

Bases: torch.utils.data.Dataset

Dataset wrapper that applies Albumentations’ native Mosaic augmentation, following the correct API based on official documentation.

dataset[source]
target_size[source]
mosaic_prob[source]
disable_mosaic_epochs[source]
current_epoch = 0[source]
total_epochs[source]
processor[source]
id2lbl[source]
lbl2id[source]
labels[source]
image_paths[source]
label_paths[source]
config_dir[source]
input_size[source]
normalize[source]
mosaic_transform[source]
bbox_params[source]
hard_transforms = None[source]
easy_transforms = None[source]
mosaic_compose[source]
easy_compose[source]
update_epoch(epoch: int)[source]

Update current epoch for mosaic scheduling.

should_apply_mosaic() bool[source]

Determine if mosaic should be applied based on epoch and probability.

_validate_and_clip_bbox(bbox: List[float], img_width: int, img_height: int) List[float] | None[source]

Validate and clip bounding box coordinates.

_prepare_mosaic_metadata(primary_idx: int) List[Dict[str, Any]][source]

Prepare metadata for Albumentations Mosaic transform. This now returns a LIST OF DICTIONARIES, as required by the docs.

_apply_mosaic_augmentation(idx: int) Tuple[numpy.ndarray, List, List][source]

Apply Albumentations Mosaic transform.

_apply_fallback_transform(idx: int, use_easy_transforms: bool = False) Tuple[numpy.ndarray, List, List][source]

Apply fallback transforms when mosaic fails or is disabled.

__len__()[source]
__getitem__(idx)[source]

Get item with optional mosaic augmentation.

fruit_project.utils.datasets.alb_mosaic_dataset.create_albumentations_mosaic_dataset(dataset: fruit_project.utils.datasets.det_dataset.DET_DS, hard_transforms: albumentations.Compose = None, easy_transforms: albumentations.Compose = None, cfg=None) AlbumentationsMosaicDataset[source]