Spaces:
Runtime error
Runtime error
import random | |
import numpy | |
import torch | |
from typing import List, Optional, Sequence, Tuple, Union | |
from mmengine.config import ConfigDict | |
from mmengine.utils.dl_utils import collect_env | |
from collections import OrderedDict | |
ConfigType = Union[ConfigDict, dict] | |
OptConfigType = Optional[ConfigType] | |
MultiConfig = Union[ConfigType, List[ConfigType]] | |
OptMultiConfig = Optional[MultiConfig] | |
def fix_random_seed(seed: int): | |
random.seed(seed) | |
numpy.random.seed(seed) | |
torch.manual_seed(seed) | |
torch.cuda.manual_seed(seed) | |
torch.cuda.manual_seed_all(seed) | |
torch.backends.cudnn.deterministic = True | |
# torch.backends.cudnn.deterministic = False # speed up maybe | |
torch.backends.cudnn.benchmark = True | |
def log_env(cfg, env_cfg, runner_info, logger): | |
"""Logging environment information of the current task. | |
Args: | |
env_cfg (dict): The environment config of the runner. | |
""" | |
# Collect and log environment information. | |
env = collect_env() | |
runtime_env = OrderedDict() | |
runtime_env.update(env_cfg) | |
runtime_env['seed'] = runner_info.seed | |
runtime_env['Distributed launcher'] = runner_info.launcher | |
runtime_env['Distributed training'] = runner_info.distributed | |
runtime_env['GPU number'] = runner_info.world_size | |
env_info = '\n ' + '\n '.join(f'{k}: {v}' | |
for k, v in env.items()) | |
runtime_env_info = '\n ' + '\n '.join( | |
f'{k}: {v}' for k, v in runtime_env.items()) | |
dash_line = '-' * 60 | |
logger.info('\n' + dash_line + '\nSystem environment:' + | |
env_info + '\n' | |
'\nRuntime environment:' + runtime_env_info + '\n' + | |
dash_line + '\n') | |
if cfg._cfg_dict: | |
logger.info(f'Config:\n{cfg.pretty_text}') |