def prepare_all(): print("loading faceboxes model!!") faceboxes = FaceBoxesDetect(cfg) faceboxes.prepare() print('faceboxes loaded!!\n') print("prepare Arc model!!!") conf = get_config(False) conf.use_mobilfacenet = True learner = face_learner(conf, inference=True) learner.threshold = conf.threshold if conf.device.type == 'cpu': learner.load_state(conf, 'cpu_final.pth', True, True) else: learner.load_state(conf, '0.884.pth', from_save_folder=False, model_only=True) learner.model.eval() print('Arc loaded\n') if conf.update: targets, names = prepare_facebank(conf, learner.model, faceboxes, tta=conf.tta) print('facebank updated') else: targets, names = load_facebank(conf) print('facebank loaded') return conf, faceboxes, learner, targets, names
def prepare_arc(): conf = get_config(False) conf.use_mobilfacenet = True learner = face_learner(conf, inference=True) learner.threshold = conf.threshold learner.load_state(conf, conf.arc_model, from_save_folder=False, model_only=True) learner.model.eval() print('Arc loaded\n') print('begin load facebank!') targets, names = load_facebank(conf) print('facebank loaded') return conf, learner, targets, names
default=96, type=int) parser.add_argument("-w", "--num_workers", help="workers number", default=3, type=int) parser.add_argument("-d", "--data_mode", help="use which database, [vgg, ms1m, emore, concat]", default='emore', type=str) args = parser.parse_args() conf = get_config() if args.net_mode == 'mobilefacenet': conf.use_mobilfacenet = True else: conf.net_mode = args.net_mode conf.net_depth = args.net_depth conf.lr = args.lr conf.batch_size = args.batch_size conf.num_workers = args.num_workers conf.data_mode = args.data_mode learner = face_learner(conf) log_lrs, losses = learner.find_lr(conf) learner.train(conf, args.epochs)
"--update", help="whether perform update the facebank", action="store_true") parser.add_argument("-tta", "--tta", help="whether test time augmentation", action="store_true") args = parser.parse_args() conf = get_config(False) mtcnn = MTCNN() print('mtcnn loaded') learner = face_learner(conf, True) learner.threshold = args.threshold if conf.device.type == 'cpu': learner.load_state(conf, 'cpu_final.pth', False, True) else: learner.load_state(conf, 'final.pth', False, True) learner.model.eval() print('learner loaded') if args.update: # for path in conf.facebank_path.iterdir(): targets, names = prepare_facebank(conf, learner.model, mtcnn, tta=args.tta) print('facebank updated')