From af51d0ecb51ad4d6c8ed086855bd3c411ebc4aa0 Mon Sep 17 00:00:00 2001 From: natanielruiz <nruiz9@gatech.edu> Date: 星期一, 30 十月 2017 06:29:51 +0800 Subject: [PATCH] Fixed stuff --- code/test_preangles.py | 24 ++++++++++++++---------- 1 files changed, 14 insertions(+), 10 deletions(-) diff --git a/code/test_preangles.py b/code/test_preangles.py index 3d70bb0..05f621a 100644 --- a/code/test_preangles.py +++ b/code/test_preangles.py @@ -36,6 +36,13 @@ return args +def load_filtered_state_dict(model, snapshot): + # By user apaszke from discuss.pytorch.org + model_dict = model.state_dict() + snapshot = {k: v for k, v in snapshot.items() if k in model_dict} + model_dict.update(snapshot) + model.load_state_dict(model_dict) + if __name__ == '__main__': args = parse_args() @@ -49,7 +56,7 @@ print 'Loading snapshot.' # Load snapshot saved_state_dict = torch.load(snapshot_path) - model.load_state_dict(saved_state_dict) + load_filtered_state_dict(model, saved_state_dict) print 'Loading data.' @@ -63,6 +70,8 @@ pose_dataset = datasets.Pose_300W_LP_random_ds(args.data_dir, args.filename_list, transformations) elif args.dataset == 'AFLW2000': pose_dataset = datasets.AFLW2000(args.data_dir, args.filename_list, transformations) + elif args.dataset == 'AFLW2000_ds': + pose_dataset = datasets.AFLW2000_ds(args.data_dir, args.filename_list, transformations) elif args.dataset == 'BIWI': pose_dataset = datasets.BIWI(args.data_dir, args.filename_list, transformations) elif args.dataset == 'AFLW': @@ -108,21 +117,16 @@ _, roll_bpred = torch.max(roll.data, 1) # Continuous predictions - yaw_predicted = utils.softmax_temperature(yaw.data, 1) - pitch_predicted = utils.softmax_temperature(pitch.data, 1) - roll_predicted = utils.softmax_temperature(roll.data, 1) - - yaw_predicted = torch.sum(yaw_predicted * idx_tensor, 1).cpu() * 3 - 99 - pitch_predicted = torch.sum(pitch_predicted * idx_tensor, 1).cpu() * 3 - 99 - roll_predicted = torch.sum(roll_predicted * idx_tensor, 1).cpu() * 3 - 99 + yaw_predicted = angles[:,0].data.cpu() + pitch_predicted = angles[:,1].data.cpu() + roll_predicted = angles[:,2].data.cpu() # Mean absolute error yaw_error += torch.sum(torch.abs(yaw_predicted - label_yaw)) pitch_error += torch.sum(torch.abs(pitch_predicted - label_pitch)) roll_error += torch.sum(torch.abs(roll_predicted - label_roll)) - # Save images with pose cube. - # TODO: fix for larger batch size + # Save first image in batch with pose cube or axis. if args.save_viz: name = name[0] if args.dataset == 'BIWI': -- Gitblit v1.8.0