SSL_Dataset
anomaly_match.datasets.SSL_Dataset
¶
Semi-supervised dataset splitting for labeled and unlabeled data.
SSL_Dataset(cfg, train=True, data_source=None, labeled_cache_path=None)
¶
SSL_Dataset class separates labeled and unlabeled data.
Returns BasicDataset: torch.utils.data.Dataset (see datasets.dataset.py).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cfg
|
DotMap
|
Configuration object containing dataset parameters. |
required |
train
|
bool
|
True means the dataset is training dataset (default=True). |
True
|
data_source
|
TrainingDataSource | None
|
Optional data source for loading images. If |
None
|
labeled_cache_path
|
str | None
|
Optional path to a |
None
|
Source code in anomaly_match/datasets/SSL_Dataset.py
get_data()
¶
Return data (images) and targets (labels).
Source code in anomaly_match/datasets/SSL_Dataset.py
get_dset(use_strong_transform=False, strong_transform=None)
¶
Return a BasicDataset containing the returns of get_data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
use_strong_transform
|
bool
|
If True, returned dataset generates a pair of weak and strong augmented images. |
False
|
strong_transform
|
Callable | None
|
list of strong_transform (augmentation) if use_strong_transform is True |
None
|
Returns:
| Type | Description |
|---|---|
BasicDataset
|
BasicDataset configured for evaluation. |
Source code in anomaly_match/datasets/SSL_Dataset.py
get_ssl_dset(use_strong_transform=True, strong_transform=None)
¶
Split training samples into labeled and unlabeled samples.
The labeled data is balanced samples over classes.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
use_strong_transform
|
bool
|
If True, unlabeled dataset returns weak & strong augmented image pair. If False, unlabeled datasets returns only weak augmented image. |
True
|
strong_transform
|
Callable | None
|
list of strong transform (RandAugment in FixMatch) |
None
|
Returns:
| Type | Description |
|---|---|
tuple[BasicDataset, BasicDataset]
|
BasicDataset (for labeled data), BasicDataset (for unlabeled data) |
Raises:
| Type | Description |
|---|---|
ValueError
|
If labeled data contains only one class (all normal or all anomaly). FixMatch requires both classes. |