Skip to content

Commit 0abfef4

Browse files
committed
Add MetricDict class
1 parent fdee1d8 commit 0abfef4

File tree

5 files changed

+924
-2
lines changed

5 files changed

+924
-2
lines changed

cyclops/evaluate/metrics/experimental/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
MultilabelF1Score,
1818
MultilabelFBetaScore,
1919
)
20+
from cyclops.evaluate.metrics.experimental.metric_dict import MetricDict
2021
from cyclops.evaluate.metrics.experimental.precision_recall import (
2122
BinaryPrecision,
2223
BinaryRecall,

cyclops/evaluate/metrics/experimental/metric.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,19 @@ def __deepcopy__(self, memo: Optional[Dict[int, Any]] = None) -> "Metric":
488488
lambda x: apc.to_device(clone(x), self.device),
489489
)
490490
setattr(obj_copy, k, _defaults_)
491+
elif isinstance(v, (list, tuple)):
492+
seq_var = apply_to_array_collection(
493+
v,
494+
lambda x: apc.to_device(clone(x), self.device),
495+
)
496+
setattr(
497+
obj_copy,
498+
k,
499+
[
500+
deepcopy(arr, memo) if not apc.is_array_api_obj(arr) else arr
501+
for arr in seq_var
502+
],
503+
)
491504
elif apc.is_array_api_obj(v):
492505
setattr(obj_copy, k, apc.to_device(clone(v), self.device))
493506
else:

0 commit comments

Comments
 (0)