:py:mod:`anomalib.data` ======================= .. py:module:: anomalib.data .. autoapi-nested-parse:: Anomalib Datasets. Subpackages ----------- .. toctree:: :titlesonly: :maxdepth: 3 utils/index.rst Submodules ---------- .. toctree:: :titlesonly: :maxdepth: 1 btech/index.rst folder/index.rst inference/index.rst mvtec/index.rst Package Contents ---------------- Classes ~~~~~~~ .. autoapisummary:: anomalib.data.BTech anomalib.data.Folder anomalib.data.InferenceDataset anomalib.data.MVTec Functions ~~~~~~~~~ .. autoapisummary:: anomalib.data.get_datamodule .. py:class:: 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: Optional[int] = None, create_validation_set: bool = False) Bases: :py:obj:`pytorch_lightning.core.datamodule.LightningDataModule` BTechDataModule Lightning Data Module. .. py:method:: prepare_data() -> None Download the dataset if not available. .. py:method:: setup(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. :param stage: Optional[str]: Train/Val/Test stages. (Default value = None) .. py:method:: train_dataloader() -> pytorch_lightning.utilities.types.TRAIN_DATALOADERS Get train dataloader. .. py:method:: val_dataloader() -> pytorch_lightning.utilities.types.EVAL_DATALOADERS Get validation dataloader. .. py:method:: test_dataloader() -> pytorch_lightning.utilities.types.EVAL_DATALOADERS Get test dataloader. .. py:method:: predict_dataloader() -> pytorch_lightning.utilities.types.EVAL_DATALOADERS Get predict dataloader. .. py:class:: 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: Optional[int] = None, 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) Bases: :py:obj:`pytorch_lightning.core.datamodule.LightningDataModule` Folder Lightning Data Module. .. py:method:: setup(stage: Optional[str] = None) -> None Setup train, validation and test data. :param stage: Optional[str]: Train/Val/Test stages. (Default value = None) .. py:method:: train_dataloader() -> pytorch_lightning.utilities.types.TRAIN_DATALOADERS Get train dataloader. .. py:method:: val_dataloader() -> pytorch_lightning.utilities.types.EVAL_DATALOADERS Get validation dataloader. .. py:method:: test_dataloader() -> pytorch_lightning.utilities.types.EVAL_DATALOADERS Get test dataloader. .. py:method:: predict_dataloader() -> pytorch_lightning.utilities.types.EVAL_DATALOADERS Get predict dataloader. .. py:class:: 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) Bases: :py:obj:`torch.utils.data.dataset.Dataset` Inference Dataset to perform prediction. .. py:method:: __len__() -> int Get the number of images in the given path. .. py:method:: __getitem__(index: int) -> Any Get the image based on the `index`. .. py:class:: 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: Optional[int] = None, create_validation_set: bool = False) Bases: :py:obj:`pytorch_lightning.core.datamodule.LightningDataModule` MVTec AD Lightning Data Module. .. py:method:: prepare_data() -> None Download the dataset if not available. .. py:method:: setup(stage: Optional[str] = None) -> None Setup train, validation and test data. :param stage: Optional[str]: Train/Val/Test stages. (Default value = None) .. py:method:: train_dataloader() -> pytorch_lightning.utilities.types.TRAIN_DATALOADERS Get train dataloader. .. py:method:: val_dataloader() -> pytorch_lightning.utilities.types.EVAL_DATALOADERS Get validation dataloader. .. py:method:: test_dataloader() -> pytorch_lightning.utilities.types.EVAL_DATALOADERS Get test dataloader. .. py:method:: predict_dataloader() -> pytorch_lightning.utilities.types.EVAL_DATALOADERS Get predict dataloader. .. py:function:: get_datamodule(config: Union[omegaconf.DictConfig, omegaconf.ListConfig]) -> pytorch_lightning.LightningDataModule Get Anomaly Datamodule. :param config: Configuration of the anomaly model. :type config: Union[DictConfig, ListConfig] :returns: PyTorch Lightning DataModule