ImportError: cannot import name 'Metric' from 'ignite.metrics'
See original GitHub issue🐛 Bug description
Unable to use Metric for calculating roc_auc_compute
Code that caused error:
from typing import Any, Callable, Tuple
import torch
from ignite.metrics import EpochMetric
def roc_auc_compute_fn(y_preds: torch.Tensor, y_targets: torch.Tensor) -> float:
try:
from sklearn.metrics import roc_auc_score
except ImportError:
raise RuntimeError("This contrib module requires sklearn to be installed.")
y_true = y_targets.numpy()
y_pred = y_preds.numpy()
return roc_auc_score(y_true, y_pred)
ImportError Traceback (most recent call last) <ipython-input-25-eaec9c574c2d> in <module> 3 import torch 4 ----> 5 from ignite.metrics import EpochMetric 6 7
C:\Users\dayan\AppData\Roaming\Python\Python37\site-packages\ignite\metrics_init_.py in <module> ----> 1 from ignite.metrics.accumulation import Average, GeometricAverage, VariableAccumulation 2 from ignite.metrics.accuracy import Accuracy 3 from ignite.metrics.confusion_matrix import ConfusionMatrix, DiceCoefficient, IoU, mIoU 4 from ignite.metrics.epoch_metric import EpochMetric 5 from ignite.metrics.fbeta import Fbeta
C:\Users\dayan\AppData\Roaming\Python\Python37\site-packages\ignite\metrics\accumulation.py in <module> 5 6 from ignite.exceptions import NotComputableError ----> 7 from ignite.metrics.metric import Metric, reinit__is_reduced, sync_all_reduce 8 9 all = [“VariableAccumulation”, “GeometricAverage”, “Average”]
C:\Users\dayan\AppData\Roaming\Python\Python37\site-packages\ignite\metrics\metric.py in <module> 8 9 import ignite.distributed as idist —> 10 from ignite.engine import CallableEventWithFilter, Engine, Events 11 12 if TYPE_CHECKING:
C:\Users\dayan\AppData\Roaming\Python\Python37\site-packages\ignite\engine_init_.py in <module> 8 from ignite.engine.engine import Engine 9 from ignite.engine.events import CallableEventWithFilter, EventEnum, Events, EventsList, RemovableEventHandle, State —> 10 from ignite.metrics import Metric 11 from ignite.utils import convert_tensor 12
ImportError: cannot import name ‘Metric’ from ‘ignite.metrics’ (C:\Users\dayan\AppData\Roaming\Python\Python37\site-packages\ignite\metrics_init_.py)
I am trying to compute AUC ROC score. But error is occurring …
Environment
- PyTorch Version : 1.8.1
- Ignite Version : 0.4.4
- OS : Windows
- How you installed Ignite : pip
- Python version: 3.7.7
- Any other relevant information:
Issue Analytics
- State:
- Created 2 years ago
- Comments:9
I tried it in another system and the stable version is working there… So no issues now… Thanks!
Yes… in nightly version it is solved… Thanks