Skip to content

Commit

Permalink
Bugfix in GeneralizedDiceScore move segmentation metrics to `eva.vi…
Browse files Browse the repository at this point in the history
…sion` (#653)
  • Loading branch information
nkaenzig authored Oct 1, 2024
1 parent ed73bb0 commit 8e9eda4
Show file tree
Hide file tree
Showing 31 changed files with 276 additions and 163 deletions.
4 changes: 2 additions & 2 deletions configs/vision/pathology/offline/segmentation/bcss.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: eva.core.metrics.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
4 changes: 2 additions & 2 deletions configs/vision/pathology/offline/segmentation/consep.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: eva.core.metrics.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
4 changes: 2 additions & 2 deletions configs/vision/pathology/offline/segmentation/monusac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -82,14 +82,14 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
ignore_index: *IGNORE_INDEX
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: eva.core.metrics.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: eva.core.metrics.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
4 changes: 2 additions & 2 deletions configs/vision/pathology/online/segmentation/bcss.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: eva.core.metrics.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
4 changes: 2 additions & 2 deletions configs/vision/pathology/online/segmentation/consep.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: eva.core.metrics.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
4 changes: 2 additions & 2 deletions configs/vision/pathology/online/segmentation/monusac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,14 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
ignore_index: *IGNORE_INDEX
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: eva.core.metrics.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: eva.core.metrics.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
4 changes: 2 additions & 2 deletions configs/vision/radiology/offline/segmentation/lits.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: torchmetrics.segmentation.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: torchmetrics.segmentation.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
4 changes: 2 additions & 2 deletions configs/vision/radiology/online/segmentation/lits.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: torchmetrics.segmentation.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,13 @@ model:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.core.metrics.defaults.MulticlassSegmentationMetrics
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: *NUM_CLASSES
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: torchmetrics.segmentation.GeneralizedDiceScore
class_path: eva.vision.metrics.GeneralizedDiceScore
init_args:
num_classes: *NUM_CLASSES
weight_type: linear
Expand Down
4 changes: 0 additions & 4 deletions src/eva/core/metrics/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,13 @@
from eva.core.metrics.average_loss import AverageLoss
from eva.core.metrics.binary_balanced_accuracy import BinaryBalancedAccuracy
from eva.core.metrics.defaults import BinaryClassificationMetrics, MulticlassClassificationMetrics
from eva.core.metrics.generalized_dice import GeneralizedDiceScore
from eva.core.metrics.mean_iou import MeanIoU
from eva.core.metrics.structs import Metric, MetricCollection, MetricModule, MetricsSchema

__all__ = [
"AverageLoss",
"BinaryBalancedAccuracy",
"BinaryClassificationMetrics",
"MulticlassClassificationMetrics",
"GeneralizedDiceScore",
"MeanIoU",
"Metric",
"MetricCollection",
"MetricModule",
Expand Down
2 changes: 0 additions & 2 deletions src/eva/core/metrics/defaults/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
BinaryClassificationMetrics,
MulticlassClassificationMetrics,
)
from eva.core.metrics.defaults.segmentation import MulticlassSegmentationMetrics

__all__ = [
"MulticlassClassificationMetrics",
"BinaryClassificationMetrics",
"MulticlassSegmentationMetrics",
]
120 changes: 0 additions & 120 deletions src/eva/core/metrics/mean_iou.py

This file was deleted.

11 changes: 11 additions & 0 deletions src/eva/vision/metrics/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
"""Default metric collections API."""

from eva.vision.metrics.defaults.segmentation import MulticlassSegmentationMetrics
from eva.vision.metrics.segmentation.generalized_dice import GeneralizedDiceScore
from eva.vision.metrics.segmentation.mean_iou import MeanIoU

__all__ = [
"MulticlassSegmentationMetrics",
"GeneralizedDiceScore",
"MeanIoU",
]
7 changes: 7 additions & 0 deletions src/eva/vision/metrics/defaults/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""Default metric collections API."""

from eva.vision.metrics.defaults.segmentation import MulticlassSegmentationMetrics

__all__ = [
"MulticlassSegmentationMetrics",
]
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""Default segmentation metric collections API."""

from eva.core.metrics.defaults.segmentation.multiclass import MulticlassSegmentationMetrics
from eva.vision.metrics.defaults.segmentation.multiclass import MulticlassSegmentationMetrics

__all__ = ["MulticlassSegmentationMetrics"]
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Default metric collection for multiclass semantic segmentation tasks."""

from eva.core.metrics import generalized_dice, mean_iou, structs
from eva.core.metrics import structs
from eva.vision.metrics.segmentation import generalized_dice, mean_iou


class MulticlassSegmentationMetrics(structs.MetricCollection):
Expand Down
1 change: 1 addition & 0 deletions src/eva/vision/metrics/segmentation/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python_sources()
9 changes: 9 additions & 0 deletions src/eva/vision/metrics/segmentation/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
"""Segmentation metrics API."""

from eva.vision.metrics.segmentation.generalized_dice import GeneralizedDiceScore
from eva.vision.metrics.segmentation.mean_iou import MeanIoU

__all__ = [
"GeneralizedDiceScore",
"MeanIoU",
]
Loading

0 comments on commit 8e9eda4

Please sign in to comment.