Exemple #1
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    add_context_preserving_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #2
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    add_panoptic_deeplab_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #3
0
def main(_A: argparse.Namespace):

    # Get the current device as set for current distributed process.
    # Check `launch` function in `virtex.utils.distributed` module.
    device = torch.cuda.current_device()

    # Local process group is needed for detectron2.
    pg = list(range(dist.get_world_size()))
    d2.utils.comm._LOCAL_PROCESS_GROUP = torch.distributed.new_group(pg)

    # Create a config object (this will be immutable) and perform common setup
    # such as logging and setting up serialization directory.
    if _A.weight_init == "imagenet":
        _A.config_override.extend(["MODEL.VISUAL.PRETRAINED", True])
    _C = Config(_A.config, _A.config_override)

    # We use `default_setup` from detectron2 to do some common setup, such as
    # logging, setting up serialization etc. For more info, look into source.
    _D2C = build_detectron2_config(_C, _A)
    default_setup(_D2C, _A)

    # Prepare weights to pass in instantiation call of trainer.
    if _A.weight_init in {"virtex", "torchvision"}:
        if _A.resume:
            # If resuming training, let detectron2 load weights by providing path.
            model = None
            weights = _A.checkpoint_path
        else:
            # Load backbone weights from VirTex pretrained checkpoint.
            model = PretrainingModelFactory.from_config(_C)
            if _A.weight_init == "virtex":
                CheckpointManager(model=model).load(_A.checkpoint_path)
            else:
                model.visual.cnn.load_state_dict(
                    torch.load(_A.checkpoint_path, map_location="cpu")["state_dict"],
                    strict=False,
                )
            weights = model.visual.detectron2_backbone_state_dict()
    else:
        # If random or imagenet init, just load weights after initializing model.
        model = PretrainingModelFactory.from_config(_C)
        weights = model.visual.detectron2_backbone_state_dict()

    # Back up pretrain config and model checkpoint (if provided).
    _C.dump(os.path.join(_A.serialization_dir, "pretrain_config.yaml"))
    if _A.weight_init == "virtex" and not _A.resume:
        torch.save(
            model.state_dict(),
            os.path.join(_A.serialization_dir, "pretrain_model.pth"),
        )

    del model
    trainer = DownstreamTrainer(_D2C, weights)
    trainer.test() if _A.eval_only else trainer.train()
Exemple #4
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    set_global_cfg(cfg)
    default_setup(cfg, args)
    return cfg
Exemple #5
0
def setup(args):
    cfg = get_cfg()
    add_dataset_category_config(cfg)
    add_densepose_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(cfg, args)
    # Setup logger for "densepose" module
    setup_logger(output=cfg.OUTPUT_DIR, distributed_rank=comm.get_rank(), name="densepose")
    return cfg
def setup(args):
    """
	V.Bernasconi create COCOart
    """

    keypoint_names = [
        "nose", "left_eye", "right_eye", "left_ear", "right_ear",
        "left_shoulder", "right_shoulder", "left_elbow", "right_elbow",
        "left_wrist", "right_wrist", "left_hip", "right_hip", "left_knee",
        "right_knee", "left_ankle", "right_ankle"
    ]
    keypoint_flip_map = {
        'left_eye': 'right_eye',
        'left_ear': 'right_ear',
        'left_shoulder': 'right_shoulder',
        'left_elbow': 'right_elbow',
        'left_wrist': 'right_wrist',
        'left_hip': 'right_hip',
        'left_knee': 'right_knee',
        'left_ankle': 'right_ankle'
    }
    register_coco_instances("cocoArt", {},
                            json_path + "person_keypoints_train2017.json",
                            img_path + "train2017/")
    cocoArt_metadata = MetadataCatalog.get("cocoArt")
    cocoArt_dicts = DatasetCatalog.get("cocoArt")

    register_coco_instances("cocoArtTest", {},
                            json_path + "person_keypoints_val2017.json",
                            img_path + "val2017/")
    cocoArtTest_metadata = MetadataCatalog.get("cocoArtTest")
    cocoArtTest_dicts = DatasetCatalog.get("cocoArtTest")

    cocoArt_metadata.keypoint_names = keypoint_names
    cocoArt_metadata.keypoint_flip_map = keypoint_flip_map

    cocoArtTest_metadata.keypoint_names = keypoint_names
    cocoArtTest_metadata.keypoint_flip_map = keypoint_flip_map
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.DATASETS.TRAIN = ("cocoArt", )
    cfg.DATASETS.TEST = ("cocoArtTest", )
    cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url(
        "COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x")
    cfg.TEST.EVAL_PERIOD = 100
    #cfg.OUTPUT_DIR = "./output_RCNN_R_50_FPN_1x"
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #7
0
 def setup():
     """
     Create configs and perform basic setups.
     """
     cfg = get_cfg()
     cfg.MODEL.DEVICE = 'cpu'
     add_vovnet_config(cfg)
     cfg.merge_from_file('projects/sku110/configs/faster_rcnn_ShuffleNetv2_05_FPNLite_1x.yaml')
     cfg.SOLVER.IMS_PER_BATCH = 1
     cfg.freeze()
     default_setup(cfg, {})
     return cfg
Exemple #8
0
def setup(args):

    cfg = get_cfg()
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(cfg, args)
    setup_logger(output=cfg.OUTPUT_DIR,
                 distributed_rank=comm.get_rank(),
                 name="openlogo")

    return cfg
Exemple #9
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    # To turn off defgrid, comment the line underneath
    add_defgrid_maskhead_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
def main(args):
    cfg = LazyConfig.load(args.config_file)
    cfg = LazyConfig.apply_overrides(cfg, args.opts)
    default_setup(cfg, args)

    if args.eval_only:
        model = instantiate(cfg.model)
        model = create_ddp_model(model)
        DetectionCheckpointer(model).load(cfg.train.init_checkpoint)
        print(do_test(cfg, model))
    else:
        do_train(args, cfg)
Exemple #11
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    cfg.merge_from_file(args.config_file)   # 从config file 覆盖配置
    cfg.merge_from_list(args.opts)          # 从CLI参数 覆盖配置
    plain_register_dataset()
    # 更改配置参数
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #12
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    add_config(args, cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(switch_extract_mode(args.extract_mode))
    cfg.merge_from_list(set_min_max_boxes(args.min_max_boxes))
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
 def setup():
     """
     Create configs and perform basic setups.
     """
     cfg = get_cfg()
     cfg.MODEL.DEVICE = 'cpu'
     add_vovnet_config(cfg)
     cfg.merge_from_file(
         'projects/vovnet_sku110/configs/faster_rcnn_V_19_FPN_1x.yaml')
     cfg.freeze()
     default_setup(cfg, {})
     return cfg
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    add_attribute_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.merge_from_list(switch_extract_mode(args.extract_mode))
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #15
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)

    cfg.OUTPUT_DIR = args.config_file.replace("configs/", "output/")[:-5]
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #16
0
def setup(args):
    cfg = get_cfg()  # 默认配置
    add_multitask_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(cfg, args)
    # Setup logger for "multitask" module
    setup_logger(output=cfg.OUTPUT_DIR,
                 distributed_rank=comm.get_rank(),
                 name="multitask")
    return cfg
Exemple #17
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(
        cfg, args
    )  # if you don't like any of the default setup, write your own setup code
    return cfg
Exemple #18
0
def setup(args):
    cfg = get_cfg()
    add_theis_config(cfg)
    cfg.merge_from_file('./configs/Miro-CAE-reconstruct.yaml')
    download_kodak()
    register_kodak()
    cfg.freeze()
    default_setup(cfg, args)
    setup_logger(output=cfg.OUTPUT_DIR,
                 distributed_rank=comm.get_rank(),
                 name="cae")
    return cfg
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    add_config(args, cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.MODE = args.mode
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
def setup(args):
    """
	Create configs and perform basic setups.
	"""
    out_dir = args.config_file.split(os.sep)[-1].rsplit('.', 1)[0]
    cfg = get_cfg()
    cfg.OUTPUT_DIR = os.path.join('./output', out_dir)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #21
0
def main(args):
    """Main program entry point."""
    # Generate detectron2 config from command line arguments.
    cfg = get_cfg()
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)

    # The configuration file should not contain any datasets. They are configured
    # from command line arguments instead.
    if len(cfg.DATASETS.TRAIN) > 0 or len(cfg.DATASETS.TEST) > 0:
        logging.error("Please set DATASETS.TRAIN = () and DATASETS.TEST = ().")
        sys.exit(1)
    cfg.DATASETS.TRAIN = (TRAIN_SPLIT_NAME, )
    cfg.DATASETS.TEST = (VALID_SPLIT_NAME, )

    cfg.freeze()
    default_setup(cfg, args)

    # Register synthetic sign datasets.
    if args.image_width is not None or args.image_height is not None:
        if args.image_width is None or args.image_height is None:
            logging.error(
                "Please specify both, image-width and image-height (or none).")
            sys.exit(1)
        image_shape = args.image_height, args.image_width
    else:
        image_shape = None

    register_synthetic_signs(args.train_csv,
                             args.label_map,
                             cfg,
                             name=TRAIN_SPLIT_NAME,
                             image_shape=image_shape)
    if args.valid_csv is not None:
        register_synthetic_signs(args.valid_csv,
                                 args.label_map,
                                 cfg,
                                 name=VALID_SPLIT_NAME,
                                 image_shape=image_shape)

    # Run training or evaluation.
    if args.eval_only:
        model = Trainer.build_model(cfg)
        DetectionCheckpointer(model, save_dir=cfg.OUTPUT_DIR).resume_or_load(
            cfg.MODEL.WEIGHTS, resume=args.resume)
        res = Trainer.test(cfg, model)
        if comm.is_main_process():
            verify_results(cfg, res)
        return res

    trainer = Trainer(cfg)
    trainer.resume_or_load(resume=args.resume)
    return trainer.train()
Exemple #22
0
def setup(args):
    cfg = get_cfg()
    get_sparseplane_cfg_defaults(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(cfg, args)
    # Setup logger for "meshrcnn" module
    setup_logger(output=cfg.OUTPUT_DIR,
                 distributed_rank=comm.get_rank(),
                 name="planercnn")
    return cfg
Exemple #23
0
def set_ddp_seed(seed=0, outdir=None, CUDNN_BENCHMARK=False):
    from template_lib.v2.config_cfgnode import TLCfgNode
    import argparse

    d2_cfg = TLCfgNode()
    d2_cfg.SEED = seed
    d2_cfg.OUTPUT_DIR = outdir
    d2_cfg.CUDNN_BENCHMARK = CUDNN_BENCHMARK

    args = argparse.Namespace()
    default_setup(d2_cfg, args)
    pass
def setup_pascal_voc(args):
    cfg = get_cfg()
    cfg.merge_from_file(model_zoo.get_config_file('PascalVOC-Detection/faster_rcnn_R_50_C4.yaml'))
    cfg.DATASETS.TEST = ('voc_2007_test_2012_eval',)
    cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url(
         "PascalVOC-Detection/faster_rcnn_R_50_C4.yaml")  # Let training initialize from model zoo
    cfg.SOLVER.IMS_PER_BATCH = 2

    cfg.freeze()
    default_setup(cfg, args)
    setup_logger(output=cfg.OUTPUT_DIR, distributed_rank=comm.get_rank(), name="PascalVOCModel")
    return cfg
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    # 添加一些参数cfg.MODEL.ONENET.xxx 用于onenet 的配置
    add_onenet_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #26
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    add_retinaface_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.MODEL.META_ARCHITECTURE = 'RetinaFaceDeploy'
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
def setup(args):
    cfg = get_cfg()
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    # customize reszied parameters
    # cfg['INPUT']['MIN_SIZE_TRAIN'] = (20,)
    # cfg['INPUT']['MAX_SIZE_TRAIN'] = 50
    cfg.freeze()
    default_setup(cfg, args)
    # Setup logger for "densepose" module
    setup_logger(output=cfg.OUTPUT_DIR, distributed_rank=comm.get_rank(), name="pathway_parser")
    return cfg
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    add_attribute_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    # force the final residual block to have dilations 1
    cfg.MODEL.RESNETS.RES5_DILATION = 1
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #29
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    add_detr_config(cfg)
    cfg.merge_from_file(
        '../detr/d2/configs/detr_segm_256_6_6_torchvision.yaml')
    cfg.merge_from_list(args.opts)
    cfg = setup_dataset(cfg, args.split)
    cfg.freeze()
    default_setup(cfg, args)
    return cfg
Exemple #30
0
def setup(args):
    """
    Create configs and perform basic setups.
    """
    cfg = get_cfg()
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    # self define
    # cfg.OUTPUT_DIR = os.path.join(cfg.OUTPUT_DIR, cfg.OUTPUT.TRAIN_VERSION + str(datetime.now()))
    cfg.OUTPUT_DIR = os.path.join(cfg.OUTPUT_DIR, cfg.OUTPUT.TRAIN_VERSION)
    cfg.freeze()
    default_setup(cfg, args)
    return cfg