def main()

in main/test.py [0:0]


def main():

    args = parse_args()
    cfg.set_args(args.gpu_ids)
    cudnn.benchmark = True
    
    if cfg.dataset == 'InterHand2.6M':
        assert args.test_set, 'Test set is required. Select one of test/val'
    else:
        args.test_set = 'test'

    tester = Tester(args.test_epoch)
    tester._make_batch_generator(args.test_set)
    tester._make_model()
    
    preds = {'joint_coord': [], 'rel_root_depth': [], 'hand_type': [], 'inv_trans': []}
    with torch.no_grad():
       for itr, (inputs, targets, meta_info) in enumerate(tqdm(tester.batch_generator)):
            
            # forward
            out = tester.model(inputs, targets, meta_info, 'test')

            joint_coord_out = out['joint_coord'].cpu().numpy()
            rel_root_depth_out = out['rel_root_depth'].cpu().numpy()
            hand_type_out = out['hand_type'].cpu().numpy()
            inv_trans = out['inv_trans'].cpu().numpy()

            preds['joint_coord'].append(joint_coord_out)
            preds['rel_root_depth'].append(rel_root_depth_out)
            preds['hand_type'].append(hand_type_out)
            preds['inv_trans'].append(inv_trans)
            
    # evaluate
    preds = {k: np.concatenate(v) for k,v in preds.items()}
    tester._evaluate(preds)