diff --git a/docs/source/snippets/config/data/image/folder/classification/cli/default.yaml b/docs/source/snippets/config/data/image/folder/classification/cli/default.yaml index d9d3a5e98c..d635306ae9 100644 --- a/docs/source/snippets/config/data/image/folder/classification/cli/default.yaml +++ b/docs/source/snippets/config/data/image/folder/classification/cli/default.yaml @@ -12,11 +12,11 @@ init_args: train_batch_size: 32 eval_batch_size: 32 num_workers: 8 - task: CLASSIFICATION + task: classification transform_config_train: null transform_config_eval: null - test_split_mode: FROM_DIR + test_split_mode: from_dir test_split_ratio: 0.2 - val_split_mode: SAME_AS_TEST + val_split_mode: same_as_test val_split_ratio: 0.5 seed: null diff --git a/docs/source/snippets/config/data/image/folder/classification/cli/normal.yaml b/docs/source/snippets/config/data/image/folder/classification/cli/normal.yaml index d04cb02600..4bcaa3cce4 100644 --- a/docs/source/snippets/config/data/image/folder/classification/cli/normal.yaml +++ b/docs/source/snippets/config/data/image/folder/classification/cli/normal.yaml @@ -5,4 +5,4 @@ init_args: normalization: imagenet val_split_mode: NONE test_split_mode: NONE - task: CLASSIFICATION + task: classification diff --git a/docs/source/snippets/config/data/image/folder/classification/cli/normal_and_synthetic.yaml b/docs/source/snippets/config/data/image/folder/classification/cli/normal_and_synthetic.yaml index 5ec1c0be63..f77619826f 100644 --- a/docs/source/snippets/config/data/image/folder/classification/cli/normal_and_synthetic.yaml +++ b/docs/source/snippets/config/data/image/folder/classification/cli/normal_and_synthetic.yaml @@ -4,4 +4,4 @@ init_args: normal_dir: "good" normalization: imagenet test_split_mode: SYNTHETIC - task: CLASSIFICATION + task: classification diff --git a/docs/source/snippets/config/data/image/folder/segmentation/cli/normal_and_synthetic.yaml b/docs/source/snippets/config/data/image/folder/segmentation/cli/normal_and_synthetic.yaml index 60ca7bad12..9a85417a88 100644 --- a/docs/source/snippets/config/data/image/folder/segmentation/cli/normal_and_synthetic.yaml +++ b/docs/source/snippets/config/data/image/folder/segmentation/cli/normal_and_synthetic.yaml @@ -6,11 +6,11 @@ init_args: train_batch_size: 32 eval_batch_size: 32 num_workers: 8 - task: SEGMENTATION + task: segmentation transform_config_train: null transform_config_eval: null test_split_mode: SYNTHETIC test_split_ratio: 0.2 - val_split_mode: SAME_AS_TEST + val_split_mode: same_as_test val_split_ratio: 0.5 seed: null diff --git a/src/anomalib/cli/cli.py b/src/anomalib/cli/cli.py index aa2d5139f8..8475de7f3c 100644 --- a/src/anomalib/cli/cli.py +++ b/src/anomalib/cli/cli.py @@ -133,10 +133,10 @@ def add_arguments_to_parser(self, parser: LightningArgumentParser) -> None: parser.add_function_arguments(get_normalization_callback, "normalization") # visualization takes task from the project parser.add_function_arguments(get_visualization_callbacks, "visualization", skip={"task"}) - parser.add_argument("--task", type=TaskType, default=TaskType.SEGMENTATION) + parser.add_argument("--task", type=TaskType | str, default=TaskType.SEGMENTATION) parser.add_argument("--metrics.image", type=list[str] | str | None, default=["F1Score", "AUROC"]) parser.add_argument("--metrics.pixel", type=list[str] | str | None, default=None, required=False) - parser.add_argument("--metrics.threshold", type=BaseThreshold, default="F1AdaptiveThreshold") + parser.add_argument("--metrics.threshold", type=BaseThreshold | str, default="F1AdaptiveThreshold") parser.add_argument("--logging.log_graph", type=bool, help="Log the model to the logger", default=False) if hasattr(parser, "subcommand") and parser.subcommand != "predict": # Predict also accepts str and Path inputs parser.link_arguments("data.init_args.image_size", "model.init_args.input_size") diff --git a/src/anomalib/engine/engine.py b/src/anomalib/engine/engine.py index 4ac5543926..345923196c 100644 --- a/src/anomalib/engine/engine.py +++ b/src/anomalib/engine/engine.py @@ -127,7 +127,7 @@ def __init__( | ListConfig | list[dict[str, str | float]] | str = "F1AdaptiveThreshold", - task: TaskType = TaskType.SEGMENTATION, + task: TaskType | str = TaskType.SEGMENTATION, image_metrics: str | list[str] | None = None, pixel_metrics: str | list[str] | None = None, visualization: DictConfig | dict[str, Any] | Namespace | None = None, @@ -139,7 +139,7 @@ def __init__( self._cache = _TrainerArgumentsCache(callbacks=[*callbacks], **kwargs) self.normalization = normalization self.threshold = threshold - self.task = task + self.task = TaskType(task) self.image_metric_names = image_metrics self.pixel_metric_names = pixel_metrics self.visualization = visualization diff --git a/src/configs/data/avenue.yaml b/src/configs/data/avenue.yaml index cf1a832ec5..3b800dcf93 100644 --- a/src/configs/data/avenue.yaml +++ b/src/configs/data/avenue.yaml @@ -4,7 +4,7 @@ init_args: gt_dir: ./datasets/avenue/masks clip_length_in_frames: 1 frames_between_clips: 1 - target_frame: LAST + target_frame: last image_size: [256, 256] center_crop: null normalization: imagenet diff --git a/src/configs/data/btech.yaml b/src/configs/data/btech.yaml index 4a6331075a..072ed47b64 100644 --- a/src/configs/data/btech.yaml +++ b/src/configs/data/btech.yaml @@ -10,8 +10,8 @@ init_args: num_workers: 8 transform_config_train: null transform_config_eval: null - test_split_mode: FROM_DIR + test_split_mode: from_dir test_split_ratio: 0.2 - val_split_mode: SAME_AS_TEST + val_split_mode: same_as_test val_split_ratio: 0.5 seed: null diff --git a/src/configs/data/folder.yaml b/src/configs/data/folder.yaml index feb1c13d7b..3a5f648947 100644 --- a/src/configs/data/folder.yaml +++ b/src/configs/data/folder.yaml @@ -13,11 +13,11 @@ init_args: train_batch_size: 32 eval_batch_size: 32 num_workers: 8 - task: SEGMENTATION + task: segmentation transform_config_train: null transform_config_eval: null - test_split_mode: FROM_DIR + test_split_mode: from_dir test_split_ratio: 0.2 - val_split_mode: SAME_AS_TEST + val_split_mode: same_as_test val_split_ratio: 0.5 seed: null diff --git a/src/configs/data/kolektor.yaml b/src/configs/data/kolektor.yaml index 27deb34a42..a4a88db4f9 100644 --- a/src/configs/data/kolektor.yaml +++ b/src/configs/data/kolektor.yaml @@ -9,8 +9,8 @@ init_args: num_workers: 8 transform_config_train: null transform_config_eval: null - test_split_mode: FROM_DIR + test_split_mode: from_dir test_split_ratio: 0.2 - val_split_mode: SAME_AS_TEST + val_split_mode: same_as_test val_split_ratio: 0.5 seed: null diff --git a/src/configs/data/mvtec.yaml b/src/configs/data/mvtec.yaml index 407c7cb82e..3faab4931e 100644 --- a/src/configs/data/mvtec.yaml +++ b/src/configs/data/mvtec.yaml @@ -8,11 +8,11 @@ init_args: train_batch_size: 32 eval_batch_size: 32 num_workers: 8 - task: SEGMENTATION + task: segmentation transform_config_train: null transform_config_eval: null - test_split_mode: FROM_DIR + test_split_mode: from_dir test_split_ratio: 0.2 - val_split_mode: SAME_AS_TEST + val_split_mode: same_as_test val_split_ratio: 0.5 seed: null diff --git a/src/configs/data/mvtec_3d.yaml b/src/configs/data/mvtec_3d.yaml index 6204249b68..55c1c63839 100644 --- a/src/configs/data/mvtec_3d.yaml +++ b/src/configs/data/mvtec_3d.yaml @@ -10,8 +10,8 @@ init_args: num_workers: 8 transform_config_train: null transform_config_eval: null - test_split_mode: FROM_DIR + test_split_mode: from_dir test_split_ratio: 0.2 - val_split_mode: SAME_AS_TEST + val_split_mode: same_as_test val_split_ratio: 0.5 seed: null diff --git a/src/configs/data/shanghaitec.yaml b/src/configs/data/shanghaitec.yaml index 703d977f67..43fc85a0ef 100644 --- a/src/configs/data/shanghaitec.yaml +++ b/src/configs/data/shanghaitec.yaml @@ -4,7 +4,7 @@ init_args: scene: 1 clip_length_in_frames: 1 frames_between_clips: 1 - target_frame: LAST + target_frame: last image_size: [256, 256] center_crop: null normalization: imagenet diff --git a/src/configs/data/ucsd_ped.yaml b/src/configs/data/ucsd_ped.yaml index 0a96d09593..90a23a3ffc 100644 --- a/src/configs/data/ucsd_ped.yaml +++ b/src/configs/data/ucsd_ped.yaml @@ -4,7 +4,7 @@ init_args: category: "UCSDped2" clip_length_in_frames: 2 frames_between_clips: 10 - target_frame: LAST + target_frame: last image_size: [256, 256] center_crop: null normalization: imagenet diff --git a/src/configs/data/visa.yaml b/src/configs/data/visa.yaml index f2526ad86b..13cdc50f58 100644 --- a/src/configs/data/visa.yaml +++ b/src/configs/data/visa.yaml @@ -10,8 +10,8 @@ init_args: num_workers: 8 transform_config_train: null transform_config_eval: null - test_split_mode: FROM_DIR + test_split_mode: from_dir test_split_ratio: 0.2 - val_split_mode: SAME_AS_TEST + val_split_mode: same_as_test val_split_ratio: 0.5 seed: null diff --git a/src/configs/model/ai_vad.yaml b/src/configs/model/ai_vad.yaml index a579b95d69..b799299330 100644 --- a/src/configs/model/ai_vad.yaml +++ b/src/configs/model/ai_vad.yaml @@ -18,4 +18,4 @@ model: n_neighbors_pose: 1 n_neighbors_deep: 1 -task: DETECTION +task: detection diff --git a/src/configs/model/dfkde.yaml b/src/configs/model/dfkde.yaml index a241bd55cc..87854a8eca 100644 --- a/src/configs/model/dfkde.yaml +++ b/src/configs/model/dfkde.yaml @@ -9,4 +9,4 @@ model: feature_scaling_method: SCALE max_training_points: 40000 -task: CLASSIFICATION +task: classification diff --git a/src/configs/model/ganomaly.yaml b/src/configs/model/ganomaly.yaml index 0b84d9b960..9e73b09204 100644 --- a/src/configs/model/ganomaly.yaml +++ b/src/configs/model/ganomaly.yaml @@ -13,7 +13,7 @@ model: beta1: 0.5 beta2: 0.999 -task: CLASSIFICATION +task: classification trainer: max_epochs: 100 diff --git a/src/configs/model/rkde.yaml b/src/configs/model/rkde.yaml index 5bcf6ba230..b421ffed7d 100644 --- a/src/configs/model/rkde.yaml +++ b/src/configs/model/rkde.yaml @@ -10,4 +10,4 @@ model: feature_scaling_method: SCALE max_training_points: 40000 -task: DETECTION +task: detection