def my_default_setup(cfg, args): """Perform some basic common setups at the beginning of a job, including: 1. Set up the detectron2 logger 2. Log basic information about environment, cmdline arguments, and config 3. Backup the config to the output directory Args: cfg (CfgNode): the full config to be used args (argparse.NameSpace): the command line arguments to be logged """ output_dir = cfg.OUTPUT_DIR if comm.is_main_process() and output_dir: mmcv.mkdir_or_exist(output_dir) rank = comm.get_rank() setup_logger(output_dir, distributed_rank=rank) for _mod in ["PIL", "chardet"]: # disable DEBUG logs logging.getLogger(_mod).setLevel(logging.INFO) logger.info("Rank of current process: {}. World size: {}".format( rank, comm.get_world_size())) logger.info("Environment info:\n" + collect_env_info()) logger.info("Command line arguments: " + str(args)) if hasattr(args, "config_file") and args.config_file != "": logger.info("Contents of args.config_file={}:\n{}".format( args.config_file, PathManager.open(args.config_file, "r").read())) logger.info("Running with full config:\n{}".format(cfg)) if comm.is_main_process() and output_dir: # Note: some of our scripts may expect the existence of # config.yaml in output directory # path = os.path.join(output_dir, "config.yaml") # with PathManager.open(path, "w") as f: # f.write(cfg.dump()) path = osp.join(output_dir, osp.basename(args.config_file)) cfg.dump(path) logger.info("Full config saved to {}".format(path)) assert ( args.num_gpus <= torch.cuda.device_count() and args.num_gpus >= 1 ), f"args.num_gpus: {args.num_gpus}, available num gpus: {torch.cuda.device_count()}" # make sure each worker has a different, yet deterministic seed if specified seed_all_rng(None if cfg.SEED < 0 else cfg.SEED + rank) # cudnn benchmark has large overhead. It shouldn't be used considering the small size of # typical validation set. if not (hasattr(args, "eval_only") and args.eval_only): torch.backends.cudnn.benchmark = cfg.CUDNN_BENCHMARK
grid_show( [ img[:, :, [2, 1, 0]], img_vis[:, :, [2, 1, 0]], img_vis_kpts2d[:, :, [2, 1, 0]], depth ], ["img", "vis_img", "img_vis_kpts2d", "depth"], row=2, col=2, ) if __name__ == "__main__": """Test the dataset loader. python this_file.py dataset_name """ from lib.vis_utils.image import grid_show from lib.utils.setup_logger import setup_logger import detectron2.data.datasets # noqa # add pre-defined metadata from lib.vis_utils.image import vis_image_mask_bbox_cv2 from core.utils.utils import get_emb_show from core.utils.data_utils import read_image_cv2 print("sys.argv:", sys.argv) setup_logger() register_with_name_cfg(sys.argv[1]) print("dataset catalog: ", DatasetCatalog.list()) test_vis()