basecls.utils 源代码

#!/usr/bin/env python3
# Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
from collections import abc
from typing import Any, Mapping

import megfile
from basecore.utils import Registry

from .env import set_nccl_env, set_num_threads
from .logger import default_logging, setup_logger


[文档]class registers: """All registried module could be found here.""" augments = Registry("augments") dataloaders = Registry("dataloaders") hooks = Registry("hooks") models = Registry("models") solvers = Registry("solvers") trainers = Registry("trainers")
[文档]def recursive_update(d: Mapping[str, Any], u: Mapping[str, Any]): for k, v in u.items(): if isinstance(d.get(k), abc.Mapping) and isinstance(v, abc.Mapping): d[k] = recursive_update(d[k], v) else: d[k] = v return d
_EXCLUDE = {} __all__ = [k for k in globals().keys() if k not in _EXCLUDE and not k.startswith("_")]