Spaces:
Running
on
Zero
Running
on
Zero
| from detrex.config import get_config | |
| from ..models.dino_r50 import model | |
| import itertools | |
| from omegaconf import OmegaConf | |
| from detectron2.config import LazyCall as L | |
| from detectron2.data import ( | |
| build_detection_test_loader, | |
| build_detection_train_loader, | |
| get_detection_dataset_dicts, | |
| ) | |
| from detectron2.data.datasets import register_coco_instances | |
| from detectron2.modeling.backbone import ResNet, BasicStem | |
| from projects.vCLR_deformable_mask.modeling import OursDatasetMapper | |
| dataloader = OmegaConf.create() | |
| # get default config | |
| optimizer = get_config("common/optim.py").AdamW | |
| lr_multiplier = get_config("common/coco_schedule.py").lr_multiplier_12ep | |
| train = get_config("common/train.py").train | |
| # modify training config | |
| train.init_checkpoint = "detectron2://ImageNetPretrained/torchvision/R-50.pkl" | |
| train.output_dir = "./output/dino_openworld" | |
| # max training iterations | |
| train.max_iter = 60000 | |
| train.eval_period = 5000 | |
| train.log_period = 200 | |
| train.checkpointer.period = 5000 | |
| # gradient clipping for training | |
| train.clip_grad.enabled = True | |
| train.clip_grad.params.max_norm = 0.1 | |
| train.clip_grad.params.norm_type = 2 | |
| # set training devices | |
| train.device = "cuda" | |
| model.device = train.device | |
| # modify optimizer config | |
| optimizer.lr = 1e-4 # original 1e-4 | |
| optimizer.betas = (0.9, 0.999) | |
| optimizer.weight_decay = 1e-4 | |
| optimizer.params.lr_factor_func = lambda module_name: 0.1 if "backbone" in module_name else 1 | |
| # modify model config | |
| model.dn_number = 100 | |
| model.num_classes = 1 | |
| model.select_box_nums_for_evaluation=900 | |
| # ema | |
| train.model_ema.enabled=True | |
| train.model_ema.decay=0.999 | |
| model.num_queries = 2000 | |
| model.transformer.encoder.use_checkpoint=False | |
| model.transformer.decoder.use_checkpoint=False | |
| train.model_ema.use_ema_weights_for_eval_only=True | |