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)