natanielruiz
2017-09-13 c495a0f6b13b794bab9f6e3423d5038ce645d816
code/test.py
@@ -27,12 +27,13 @@
          default='', type=str)
    parser.add_argument('--filename_list', dest='filename_list', help='Path to text file containing relative paths for every example.',
          default='', type=str)
    parser.add_argument('--snapshot', dest='snapshot', help='Name of model snapshot.',
    parser.add_argument('--snapshot', dest='snapshot', help='Path of model snapshot.',
          default='', type=str)
    parser.add_argument('--batch_size', dest='batch_size', help='Batch size.',
          default=1, type=int)
    parser.add_argument('--save_viz', dest='save_viz', help='Save images with pose cube.',
          default=False, type=bool)
    parser.add_argument('--iter_ref', dest='iter_ref', default=1, type=int)
    args = parser.parse_args()
@@ -43,12 +44,12 @@
    cudnn.enabled = True
    gpu = args.gpu_id
    snapshot_path = os.path.join('output/snapshots', args.snapshot + '.pkl')
    snapshot_path = args.snapshot
    # ResNet101 with 3 outputs.
    # model = hopenet.Hopenet(torchvision.models.resnet.Bottleneck, [3, 4, 23, 3], 66)
    # ResNet50
    model = hopenet.Hopenet(torchvision.models.resnet.Bottleneck, [3, 4, 6, 3], 66)
    model = hopenet.Hopenet(torchvision.models.resnet.Bottleneck, [3, 4, 6, 3], 66, args.iter_ref)
    # ResNet18
    # model = hopenet.Hopenet(torchvision.models.resnet.BasicBlock, [2, 2, 2, 2], 66)
@@ -58,9 +59,6 @@
    model.load_state_dict(saved_state_dict)
    print 'Loading data.'
    # transformations = transforms.Compose([transforms.Scale(224),
    # transforms.RandomCrop(224), transforms.ToTensor()])
    transformations = transforms.Compose([transforms.Scale(224),
    transforms.RandomCrop(224), transforms.ToTensor(),
@@ -101,9 +99,9 @@
        label_roll = labels[:,2].float()
        pre_yaw, pre_pitch, pre_roll, angles = model(images)
        yaw = angles[:,0].cpu().data
        pitch = angles[:,1].cpu().data
        roll = angles[:,2].cpu().data
        yaw = angles[args.iter_ref-1][:,0].cpu().data
        pitch = angles[args.iter_ref-1][:,1].cpu().data
        roll = angles[args.iter_ref-1][:,2].cpu().data
        # Mean absolute error
        yaw_error += torch.sum(torch.abs(yaw - label_yaw) * 3)