|
23 | 23 | from anomalib import TaskType
|
24 | 24 | from anomalib.data.datamodules.base.image import AnomalibDataModule
|
25 | 25 | from anomalib.data.datasets.image.kolektor import KolektorDataset
|
26 |
| -from anomalib.data.utils import DownloadInfo, Split, TestSplitMode, ValSplitMode, download_and_extract |
| 26 | +from anomalib.data.utils import DownloadInfo, Split, SplitMode, TestSplitMode, ValSplitMode, download_and_extract |
27 | 27 |
|
28 | 28 | logger = logging.getLogger(__name__)
|
29 | 29 |
|
@@ -67,10 +67,10 @@ def __init__(
|
67 | 67 | eval_batch_size: int = 32,
|
68 | 68 | num_workers: int = 8,
|
69 | 69 | task: TaskType | str = TaskType.SEGMENTATION,
|
70 |
| - test_split_mode: TestSplitMode | str = TestSplitMode.FROM_DIR, |
71 |
| - test_split_ratio: float = 0.2, |
72 |
| - val_split_mode: ValSplitMode | str = ValSplitMode.SAME_AS_TEST, |
73 |
| - val_split_ratio: float = 0.5, |
| 70 | + test_split_mode: SplitMode | TestSplitMode | str = SplitMode.PREDEFINED, |
| 71 | + test_split_ratio: float | None = None, |
| 72 | + val_split_mode: SplitMode | ValSplitMode | str = SplitMode.AUTO, |
| 73 | + val_split_ratio: float | None = None, |
74 | 74 | seed: int | None = None,
|
75 | 75 | ) -> None:
|
76 | 76 | super().__init__(
|
@@ -99,6 +99,11 @@ def _setup(self, _stage: str | None = None) -> None:
|
99 | 99 | root=self.root,
|
100 | 100 | )
|
101 | 101 |
|
| 102 | + # Kolektor dataset does not provide a validation set. |
| 103 | + # Auto behaviour is to clone the test set as validation set. |
| 104 | + if self.val_split_mode == SplitMode.AUTO: |
| 105 | + self.val_data = self.test_data.clone() |
| 106 | + |
102 | 107 | def prepare_data(self) -> None:
|
103 | 108 | """Download the dataset if not available.
|
104 | 109 |
|
|
0 commit comments