anomalib.data

Anomalib Datasets.

Subpackages

Submodules

Package Contents

Classes

BTech

BTechDataModule Lightning Data Module.

Folder

Folder Lightning Data Module.

InferenceDataset

Inference Dataset to perform prediction.

MVTec

MVTec AD Lightning Data Module.

Functions

get_datamodule(config: Union[omegaconf.DictConfig, omegaconf.ListConfig]) → pytorch_lightning.LightningDataModule

Get Anomaly Datamodule.

class anomalib.data.BTech(root: str, category: str, image_size: Optional[Union[int, Tuple[int, int]]] = None, train_batch_size: int = 32, test_batch_size: int = 32, num_workers: int = 8, task: str = 'segmentation', transform_config_train: Optional[Union[str, albumentations.Compose]] = None, transform_config_val: Optional[Union[str, albumentations.Compose]] = None, seed: int = 0, create_validation_set: bool = False)[source]

Bases: pytorch_lightning.core.datamodule.LightningDataModule

BTechDataModule Lightning Data Module.

prepare_data(self) None

Download the dataset if not available.

setup(self, stage: Optional[str] = None) None

Setup train, validation and test data.

BTech dataset uses BTech dataset structure, which is the reason for using anomalib.data.btech.BTech class to get the dataset items.

Parameters

stage – Optional[str]: Train/Val/Test stages. (Default value = None)

train_dataloader(self) pytorch_lightning.utilities.types.TRAIN_DATALOADERS

Get train dataloader.

val_dataloader(self) pytorch_lightning.utilities.types.EVAL_DATALOADERS

Get validation dataloader.

test_dataloader(self) pytorch_lightning.utilities.types.EVAL_DATALOADERS

Get test dataloader.

predict_dataloader(self) pytorch_lightning.utilities.types.EVAL_DATALOADERS

Get predict dataloader.

class anomalib.data.Folder(root: Union[str, pathlib.Path], normal_dir: str = 'normal', abnormal_dir: str = 'abnormal', task: str = 'classification', normal_test_dir: Optional[Union[pathlib.Path, str]] = None, mask_dir: Optional[Union[pathlib.Path, str]] = None, extensions: Optional[Tuple[str, Ellipsis]] = None, split_ratio: float = 0.2, seed: int = 0, image_size: Optional[Union[int, Tuple[int, int]]] = None, train_batch_size: int = 32, test_batch_size: int = 32, num_workers: int = 8, transform_config_train: Optional[Union[str, albumentations.Compose]] = None, transform_config_val: Optional[Union[str, albumentations.Compose]] = None, create_validation_set: bool = False)[source]

Bases: pytorch_lightning.core.datamodule.LightningDataModule

Folder Lightning Data Module.

setup(self, stage: Optional[str] = None) None

Setup train, validation and test data.

Parameters

stage – Optional[str]: Train/Val/Test stages. (Default value = None)

train_dataloader(self) pytorch_lightning.utilities.types.TRAIN_DATALOADERS

Get train dataloader.

val_dataloader(self) pytorch_lightning.utilities.types.EVAL_DATALOADERS

Get validation dataloader.

test_dataloader(self) pytorch_lightning.utilities.types.EVAL_DATALOADERS

Get test dataloader.

predict_dataloader(self) pytorch_lightning.utilities.types.EVAL_DATALOADERS

Get predict dataloader.

class anomalib.data.InferenceDataset(path: Union[str, pathlib.Path], pre_process: Optional[anomalib.pre_processing.PreProcessor] = None, image_size: Optional[Union[int, Tuple[int, int]]] = None, transform_config: Optional[Union[str, albumentations.Compose]] = None)[source]

Bases: torch.utils.data.dataset.Dataset

Inference Dataset to perform prediction.

__len__(self) int

Get the number of images in the given path.

__getitem__(self, index: int) Any

Get the image based on the index.

class anomalib.data.MVTec(root: str, category: str, image_size: Optional[Union[int, Tuple[int, int]]] = None, train_batch_size: int = 32, test_batch_size: int = 32, num_workers: int = 8, task: str = 'segmentation', transform_config_train: Optional[Union[str, albumentations.Compose]] = None, transform_config_val: Optional[Union[str, albumentations.Compose]] = None, seed: int = 0, create_validation_set: bool = False)[source]

Bases: pytorch_lightning.core.datamodule.LightningDataModule

MVTec AD Lightning Data Module.

prepare_data(self) None

Download the dataset if not available.

setup(self, stage: Optional[str] = None) None

Setup train, validation and test data.

Parameters

stage – Optional[str]: Train/Val/Test stages. (Default value = None)

train_dataloader(self) pytorch_lightning.utilities.types.TRAIN_DATALOADERS

Get train dataloader.

val_dataloader(self) pytorch_lightning.utilities.types.EVAL_DATALOADERS

Get validation dataloader.

test_dataloader(self) pytorch_lightning.utilities.types.EVAL_DATALOADERS

Get test dataloader.

predict_dataloader(self) pytorch_lightning.utilities.types.EVAL_DATALOADERS

Get predict dataloader.

anomalib.data.get_datamodule(config: Union[omegaconf.DictConfig, omegaconf.ListConfig]) pytorch_lightning.LightningDataModule[source]

Get Anomaly Datamodule.

Parameters

config (Union[DictConfig, ListConfig]) – Configuration of the anomaly model.

Returns

PyTorch Lightning DataModule