File size: 897 Bytes
1c3eb47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import copy
import inspect
from typing import List, Union

import torch
import torch.nn as nn
import lightning
import torchmetrics
import torchmetrics.detection

from mmengine.config import Config, ConfigDict
from mmpl.registry import METRICS


def register_pl_metrics() -> List[str]:
    """Register loggers in ``lightning.pytorch.loggers`` to the ``LOGGERS`` registry.

    Returns:
        List[str]: A list of registered optimizers' name.
    """
    pl_metrics = []
    for modules in [torchmetrics, torchmetrics.detection]:
        for module_name in dir(modules):
            if module_name.startswith('__'):
                continue
            _metric = getattr(modules, module_name)
            if inspect.isclass(_metric):
                METRICS.register_module(module=_metric)
                pl_metrics.append(module_name)
    return pl_metrics


PL_METRICS = register_pl_metrics()