def __init__(self, args): super(Trainer, self).__init__() self.args = args if cfg.SEED > 0: random.seed(cfg.SEED) torch.manual_seed(cfg.SEED) torch.cuda.manual_seed_all(cfg.SEED) self.num_gpus = torch.cuda.device_count() self.distributed = self.num_gpus > 1 if self.distributed: torch.cuda.set_device(args.local_rank) torch.distributed.init_process_group( backend="nccl", init_method="env://" ) self.device = torch.device("cuda") self.rl_stage = False self.setup_logging() self.setup_dataset() self.setup_network() self.val_evaler = Evaler( eval_ids = cfg.DATA_LOADER.VAL_ID, gv_feat = cfg.DATA_LOADER.VAL_GV_FEAT, att_feats = cfg.DATA_LOADER.VAL_ATT_FEATS, eval_annfile = cfg.INFERENCE.VAL_ANNFILE ) self.test_evaler = Evaler( eval_ids = cfg.DATA_LOADER.TEST_ID, gv_feat = cfg.DATA_LOADER.TEST_GV_FEAT, att_feats = cfg.DATA_LOADER.TEST_ATT_FEATS, eval_annfile = cfg.INFERENCE.TEST_ANNFILE ) self.scorer = Scorer()
def __init__(self, args): super(Trainer, self).__init__() self.args = args if cfg.SEED > 0: random.seed(cfg.SEED) torch.manual_seed(cfg.SEED) torch.cuda.manual_seed_all(cfg.SEED) self.num_gpus = torch.cuda.device_count() self.distributed = self.num_gpus > 1 if self.distributed: torch.cuda.set_device(args.local_rank) torch.distributed.init_process_group(backend="nccl", init_method="env://") if args.local_rank == 0: self.writer = SummaryWriter(args.summary_dir) else: self.writer = SummaryWriter(args.summary_dir) self.device = torch.device("cuda") self.rl_stage = False self.setup_logging() self.setup_dataset() self.setup_network() self.val_evaler, self.test_evaler = {}, {} for dataset_name in self.dataset_dict: if dataset_name == 'coco': self.val_evaler[dataset_name] = Evaler( eval_ids=cfg.COCO_DATA_LOADER.VAL_ID, gv_feat=cfg.COCO_DATA_LOADER.VAL_GV_FEAT, att_feats=cfg.COCO_DATA_LOADER.VAL_ATT_FEATS, eval_annfile=cfg.INFERENCE.COCO_VAL_ANNFILE, dataset_name='coco') self.test_evaler[dataset_name] = Evaler( eval_ids=cfg.COCO_DATA_LOADER.TEST_ID, gv_feat=cfg.COCO_DATA_LOADER.TEST_GV_FEAT, att_feats=cfg.COCO_DATA_LOADER.TEST_ATT_FEATS, eval_annfile=cfg.INFERENCE.COCO_TEST_ANNFILE, dataset_name='coco') elif dataset_name == 'aic': self.val_evaler[dataset_name] = Evaler( eval_ids=cfg.AIC_DATA_LOADER.VAL_ID, gv_feat=cfg.AIC_DATA_LOADER.VAL_GV_FEAT, att_feats=cfg.AIC_DATA_LOADER.VAL_ATT_FEATS, eval_annfile=cfg.INFERENCE.AIC_VAL_ANNFILE, dataset_name='aic') self.test_evaler[dataset_name] = Evaler( eval_ids=cfg.AIC_DATA_LOADER.TEST_ID, gv_feat=cfg.AIC_DATA_LOADER.TEST_GV_FEAT, att_feats=cfg.AIC_DATA_LOADER.TEST_ATT_FEATS, eval_annfile=cfg.INFERENCE.AIC_TEST_ANNFILE, dataset_name='aic') self.scorer = Scorer()
def __init__(self, args): super(Tester, self).__init__() self.args = args self.device = torch.device("cuda") self.setup_logging() self.setup_network() self.evaler = Evaler(eval_ids=cfg.DATA_LOADER.TEST_ID, gv_feat=cfg.DATA_LOADER.TEST_GV_FEAT, att_feats=cfg.DATA_LOADER.TEST_ATT_FEATS, eval_annfile=cfg.INFERENCE.TEST_ANNFILE)
def __init__(self, args): super(Trainer, self).__init__() self.args = args if cfg.SEED > 0: np.random.seed(int(cfg.SEED)) random.seed(cfg.SEED) torch.manual_seed(cfg.SEED) torch.cuda.manual_seed_all(cfg.SEED) self.setup_logging() self.setup_dataset() self.setup_network() self.val_evaler = Evaler(eval_ids=cfg.DATA_LOADER.VAL_ID, gv_feat=cfg.DATA_LOADER.VAL_GV_FEAT, att_feats=cfg.DATA_LOADER.VAL_ATT_FEATS, eval_annfile=cfg.INFERENCE.VAL_ANNFILE) self.test_evaler = Evaler(eval_ids=cfg.DATA_LOADER.TEST_ID, gv_feat=cfg.DATA_LOADER.TEST_GV_FEAT, att_feats=cfg.DATA_LOADER.TEST_ATT_FEATS, eval_annfile=cfg.INFERENCE.TEST_ANNFILE) self.scorer = Scorer() self._init_ppo()
def __init__(self, args): super(Tester, self).__init__() self.args = args self.device = torch.device("cuda") self.setup_logging() self.setup_network() if self.args.test_raw_image: eval_ids = cfg.RAW_DATA_LOADER.TEST_IMG_DIR self.raw_evaler = Evaler( eval_ids=eval_ids, gv_feat=None, att_feats=cfg.RAW_DATA_LOADER.TEST_ATT_FEATS, dataset_name='raw', eval_annfile=None) self.evaler = {'raw': self.raw_evaler} #self.output_list = [img.split('.')[0] for img in os.listdir(eval_ids)] else: self.coco_evaler = Evaler( eval_ids=cfg.COCO_DATA_LOADER.TEST_ID, gv_feat=cfg.COCO_DATA_LOADER.TEST_GV_FEAT, att_feats=cfg.COCO_DATA_LOADER.TEST_ATT_FEATS, eval_annfile=cfg.INFERENCE.COCO_TEST_ANNFILE, dataset_name='coco') self.aic_evaler = Evaler( eval_ids=cfg.AIC_DATA_LOADER.TEST_ID, gv_feat=cfg.AIC_DATA_LOADER.TEST_GV_FEAT, att_feats=cfg.AIC_DATA_LOADER.TEST_ATT_FEATS, eval_annfile=cfg.INFERENCE.AIC_TEST_ANNFILE, dataset_name='aic') self.evaler = {'coco': self.coco_evaler, 'aic': self.aic_evaler} if self.args.output_attention_list: with open(self.args.output_attention_list, 'r') as f: self.output_list = f.readlines() self.output_list = [id_.strip() for id_ in self.output_list] else: self.output_list = None
def __init__(self, args): super(Trainer, self).__init__() self.args = args if cfg.SEED > 0: random.seed(cfg.SEED) torch.manual_seed(cfg.SEED) torch.cuda.manual_seed_all(cfg.SEED) self.num_gpus = torch.cuda.device_count() self.distributed = self.num_gpus > 1 if self.distributed: torch.cuda.set_device(args.local_rank) torch.distributed.init_process_group(backend="nccl", init_method="env://") self.device = torch.device("cuda") # self.device = 'cpu' self.rl_stage = False self.setup_logging() self.setup_dataset() self.setup_network() self.val_evaler = Evaler(datasets.create( name=args.dataset_name, image_dir=args.image_dir, ann_path=args.ann_path, tokenizer=self.tokenizer, split='val', args=args, ), tokenizer=self.tokenizer) # TODO self.test_evaler = Evaler(datasets.create(name=args.dataset_name, image_dir=args.image_dir, ann_path=args.ann_path, tokenizer=self.tokenizer, split='test', args=args), tokenizer=self.tokenizer) # TODO self.scorer = Scorer()