def main(): args = parse_args() # load the configuration # import on-the-fly to avoid overwriting cfg from common.config import purge_cfg from mvpnet.config.mvpnet_3d import cfg cfg.merge_from_file(args.config_file) cfg.merge_from_list(args.opts) purge_cfg(cfg) cfg.freeze() output_dir = cfg.OUTPUT_DIR # replace '@' with config path if output_dir: config_path = osp.splitext(args.config_file)[0] output_dir = output_dir.replace( '@', config_path.replace('configs', 'outputs')) if not osp.isdir(output_dir): warnings.warn('Make a new directory: {}'.format(output_dir)) os.makedirs(output_dir) # run name timestamp = time.strftime('%m-%d_%H-%M-%S') hostname = socket.gethostname() run_name = '{:s}.{:s}'.format(timestamp, hostname) logger = setup_logger('mvpnet', output_dir, comment='test.{:s}'.format(run_name)) logger.info('{:d} GPUs available'.format(torch.cuda.device_count())) logger.info(args) from common.utils.misc import collect_env_info logger.info('Collecting env info (might take some time)\n' + collect_env_info()) logger.info('Loaded configuration file {:s}'.format(args.config_file)) logger.info('Running with config:\n{}'.format(cfg)) assert cfg.TASK == 'mvpnet_3d' test(cfg, args, output_dir, run_name)
def main(): args = parse_args() # load the configuration # import on-the-fly to avoid overwriting cfg from common.config import purge_cfg from mvpnet.config.sem_seg_2d import cfg # cfg.merge_from_file(args.config_file) cfg.merge_from_file('/home/dchangyu/mvpnet/configs/scannet/unet_resnet34.yaml') cfg.merge_from_list(args.opts) purge_cfg(cfg) cfg.freeze() output_dir = cfg.OUTPUT_DIR # replace '@' with config path if output_dir: # config_path = osp.splitext(args.config_file)[0] config_path = '/home/dchangyu/mvpnet/configs/scannet/unet_resnet34.yaml' output_dir = output_dir.replace('@', config_path.replace('configs', 'outputs')) if osp.isdir(output_dir): warnings.warn('Output directory exists.') os.makedirs(output_dir, exist_ok=True) # run name timestamp = time.strftime('%m-%d_%H-%M-%S') hostname = socket.gethostname() run_name = '{:s}.{:s}'.format(timestamp, hostname) logger = setup_logger('mvpnet', output_dir, comment='train.{:s}'.format(run_name)) logger.info('{:d} GPUs available'.format(torch.cuda.device_count())) logger.info(args) from common.utils.misc import collect_env_info logger.info('Collecting env info (might take some time)\n' + collect_env_info()) logger.info('Loaded configuration file {:s}'.format(args.config_file)) logger.info('Running with config:\n{}'.format(cfg)) assert cfg.TASK == 'sem_seg_2d' train(cfg, output_dir, run_name)