fruit_project.utils.datasets.alb_mosaic_dataset =============================================== .. py:module:: fruit_project.utils.datasets.alb_mosaic_dataset Classes ------- .. autoapisummary:: fruit_project.utils.datasets.alb_mosaic_dataset.AlbumentationsMosaicDataset Functions --------- .. autoapisummary:: fruit_project.utils.datasets.alb_mosaic_dataset.create_albumentations_mosaic_dataset Module Contents --------------- .. py:class:: 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) Bases: :py:obj:`torch.utils.data.Dataset` Dataset wrapper that applies Albumentations' native Mosaic augmentation, following the correct API based on official documentation. .. py:attribute:: dataset .. py:attribute:: target_size .. py:attribute:: mosaic_prob .. py:attribute:: disable_mosaic_epochs .. py:attribute:: current_epoch :value: 0 .. py:attribute:: total_epochs .. py:attribute:: processor .. py:attribute:: id2lbl .. py:attribute:: lbl2id .. py:attribute:: labels .. py:attribute:: image_paths .. py:attribute:: label_paths .. py:attribute:: config_dir .. py:attribute:: input_size .. py:attribute:: normalize .. py:attribute:: mosaic_transform .. py:attribute:: bbox_params .. py:attribute:: hard_transforms :value: None .. py:attribute:: easy_transforms :value: None .. py:attribute:: mosaic_compose .. py:attribute:: easy_compose .. py:method:: update_epoch(epoch: int) Update current epoch for mosaic scheduling. .. py:method:: should_apply_mosaic() -> bool Determine if mosaic should be applied based on epoch and probability. .. py:method:: _validate_and_clip_bbox(bbox: List[float], img_width: int, img_height: int) -> Optional[List[float]] Validate and clip bounding box coordinates. .. py:method:: _prepare_mosaic_metadata(primary_idx: int) -> List[Dict[str, Any]] Prepare metadata for Albumentations Mosaic transform. This now returns a LIST OF DICTIONARIES, as required by the docs. .. py:method:: _apply_mosaic_augmentation(idx: int) -> Tuple[numpy.ndarray, List, List] Apply Albumentations Mosaic transform. .. py:method:: _apply_fallback_transform(idx: int, use_easy_transforms: bool = False) -> Tuple[numpy.ndarray, List, List] Apply fallback transforms when mosaic fails or is disabled. .. py:method:: __len__() .. py:method:: __getitem__(idx) Get item with optional mosaic augmentation. .. py:function:: 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