def main(args): cfg = setup(args) show = True register_openlogo(cfg.DATASETS.TRAIN[0], "datasets/data/openlogo", "trainval", "supervised_imageset") register_openlogo(cfg.DATASETS.TEST[0], "datasets/data/openlogo", "test", "supervised_imageset") trainer = DefaultTrainer(cfg) evaluator = OpenLogoDetectionEvaluator(cfg.DATASETS.TEST[0]) 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) if show: visualize(cfg, amount=20) res = trainer.test(cfg, model, evaluators=[evaluator]) if comm.is_main_process(): verify_results(cfg, res) if cfg.TEST.AUG.ENABLED: res.update(trainer.test_with_TTA(cfg, model)) return res trainer = DefaultTrainer(cfg) trainer.resume_or_load(resume=args.resume) if cfg.TEST.AUG.ENABLED: trainer.register_hooks([ hooks.EvalHook(0, lambda: trainer.test_with_TTA(cfg, trainer.model)) ]) return trainer.train()
def main(args): # if args.unitest: # return unitest() cfg = setup(args) for d in ["train", 'val']: # train for 6998images , val for 1199 images DatasetCatalog.register("chefCap_" + d, lambda d=d: get_chefcap_image_dicts()) MetadataCatalog.get("chefCap_" + d).set( thing_classes=list(things_class_dict.keys())) if d == 'val': MetadataCatalog.get("chefCap_val").evaluator_type = "pascal_voc" MetadataCatalog.get("chefCap_val").year = 2012 MetadataCatalog.get( "chefCap_val" ).dirname = "/opt/work/chefCap/detectron2_fasterrcnn/data" # for d in ["/opt/work/chefCap/data/ziped/Making-PascalVOC-export/"]: # DatasetCatalog.register("chefCap_val", # lambda d=d: get_chefcap_image_dicts(d)) # MetadataCatalog.get("chefCap_val").set( # thing_classes=['face-head', 'mask-head', 'face-cap', 'mask-cap']) # MetadataCatalog.get("chefCap_val").evaluator_type = "pascal_voc" # MetadataCatalog.get("chefCap_val").dirname = "/opt/work/chefCap/data/ziped/Making-PascalVOC-export/" # MetadataCatalog.get("chefCap_val").year = 2012 if args.eval_only: model = DefaultTrainer.build_model(cfg) DetectionCheckpointer(model, save_dir=cfg.OUTPUT_DIR).resume_or_load( cfg.MODEL.WEIGHTS, resume=args.resume) res = DefaultTrainer.test(cfg, model) if cfg.TEST.AUG.ENABLED: res.update(DefaultTrainer.test_with_TTA(cfg, model)) if comm.is_main_process(): verify_results(cfg, res) return res trainer = DefaultTrainer(cfg) trainer.resume_or_load(resume=args.resume) # if cfg.TEST.AUG.ENABLED: # trainer.register_hooks( # [hooks.EvalHook(0, lambda: trainer.test_with_TTA(cfg, trainer.model))] # ) return trainer.train()