def fitness(indv): scale_step, scale_lr, scale_penalty, window_influence = indv.solution # add params top config config = dict() config['benchmark'] = args.dataset config['arch'] = args.arch config['resume'] = args.resume config['hp'] = dict() config['hp']['scale_step'] = scale_step config['hp']['scale_penalty'] = scale_penalty config['hp']['scale_lr'] = scale_lr config['hp']['w_influence'] = window_influence if args.dataset.startswith('OTB'): auc = auc_otb(tracker, net, config) print("scale_step: {0}, scale_lr: {1}, scale_penalty: {2}, window_influence: {3}, auc: {4}".format(scale_step, scale_lr, scale_penalty, window_influence, auc.item())) return auc.item() elif args.dataset.startswith('VOT'): eao = eao_vot(tracker, net, config) print("scale_step: {0}, scale_lr: {1}, scale_penalty: {2}, window_influence: {3}, eao: {4}".format(scale_step, scale_lr, scale_penalty, window_influence, eao)) return eao
def fitness(config, reporter): # different params for SiamFC and SiamRPN if 'SiamFC' in args.arch: scale_step = config["scale_step"] scale_penalty = config["scale_penalty"] scale_lr = config["scale_lr"] w_influence = config["w_influence"] model_config = dict() model_config['benchmark'] = args.dataset model_config['arch'] = args.arch model_config['resume'] = args.resume model_config['hp'] = dict() model_config['hp']['scale_step'] = scale_step model_config['hp']['scale_penalty'] = scale_penalty model_config['hp']['w_influence'] = w_influence model_config['hp']['scale_lr'] = scale_lr elif 'SiamRPN' in args.arch: penalty_k = config["penalty_k"] scale_lr = config["scale_lr"] window_influence = config["window_influence"] small_sz = config["small_sz"] big_sz = config["big_sz"] model_config = dict() model_config['benchmark'] = args.dataset model_config['arch'] = args.arch model_config['resume'] = args.resume model_config['hp'] = dict() model_config['hp']['penalty_k'] = penalty_k model_config['hp']['window_influence'] = window_influence model_config['hp']['lr'] = scale_lr model_config['hp']['small_sz'] = small_sz model_config['hp']['big_sz'] = big_sz # OTB and SiamFC if args.dataset.startswith('OTB') and 'SiamFC' in args.arch: auc = auc_otb(tracker, model, model_config) print( "scale_step: {0}, scale_lr: {1}, scale_penalty: {2}, window_influence: {3}, auc: {4}" .format(scale_step, scale_lr, scale_penalty, w_influence, auc.item())) reporter(AUC=auc) # VOT and SiamFC if args.dataset.startswith('VOT') and 'SiamFC' in args.arch: eao = eao_vot(tracker, model, model_config) print( "scale_step: {0}, scale_lr: {1}, scale_penalty: {2}, window_influence: {3}, eao: {4}" .format(scale_step, scale_lr, scale_penalty, w_influence, eao)) reporter(EAO=eao) # VOT and SiamRPN if args.dataset.startswith('VOT') and 'SiamRPN' in args.arch: eao = eao_vot_rpn(tracker, model, model_config) print( "penalty_k: {0}, scale_lr: {1}, window_influence: {2}, small_sz: {3}, big_sz: {4}, eao: {5}" .format(penalty_k, scale_lr, window_influence, small_sz, big_sz, eao)) reporter(EAO=eao)