Spaces:
Running
on
Zero
Running
on
Zero
import os | |
import argparse | |
import torch | |
from .yacs import CfgNode as CN | |
# pylint: disable=redefined-outer-name | |
_C = CN() | |
def get_cfg_defaults(): | |
return _C.clone() | |
def parse_cfg(cfg): | |
cfg.logdir = os.path.join('out', cfg.experiment) | |
def determine_primary_secondary_gpus(cfg): | |
print("------------------ GPU Configurations ------------------") | |
cfg.n_gpus = torch.cuda.device_count() | |
if cfg.n_gpus > 0: | |
all_gpus = list(range(cfg.n_gpus)) | |
cfg.primary_gpus = [0] | |
if cfg.n_gpus > 1: | |
cfg.secondary_gpus = [g for g in all_gpus]# if g not in cfg.primary_gpus] | |
else: | |
cfg.secondary_gpus = cfg.primary_gpus | |
print(f"Primary GPUs: {cfg.primary_gpus}") | |
print(f"Secondary GPUs: {cfg.secondary_gpus}") | |
else: | |
print(f"CPU job") | |
print("--------------------------------------------------------") | |
def make_cfg(args): | |
cfg = get_cfg_defaults() | |
cfg.merge_from_file('recon/configs/default.yaml') | |
cfg.merge_from_file(args.cfg) | |
cfg.merge_from_list(args.opts) | |
cfg.file_path = args.cfg | |
parse_cfg(cfg) | |
# determine_primary_secondary_gpus(cfg) | |
return cfg | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--cfg", default='recon/configs/head-gallery-training-all-train.yaml', type=str) | |
parser.add_argument("opts", default=None, nargs=argparse.REMAINDER) | |
args = parser.parse_args() | |
cfg = make_cfg(args) |