Beispiel #1
0
    ]

    # load data
    data_path = '/net/bvisionserver3/playpen10/ammirato/Data/ILSVRC/'

    #CREATE TRAIN/TEST splits
    data_set = VID_Loader(data_path, 'val_single', target_size=[200, 16])

    num_images = 100
    batch = True

    #test multiple trained nets
    for model_name in trained_model_names:
        print model_name
        # load net
        net = TDID()
        network.load_net(trained_model_path + model_name + '.h5', net)
        print('load model successfully!')

        net.cuda()
        net.eval()

        # evaluation
        test_net(model_name,
                 net,
                 data_set,
                 num_images=num_images,
                 batch=batch,
                 max_per_target=max_per_target,
                 thresh=thresh)
    meta_fid.write('start from: {}\n'.format(trained_model_name))
meta_fid.close()


#load net definition and init parameters
net = TDID()
if load_trained_model:
    #load a previously trained model
    if use_batch_norm:
        vgg16_bn = models.vgg16_bn(pretrained=False)
        net.features = torch.nn.Sequential(*list(vgg16_bn.features.children())[:-1])
        net.features.eval()
    elif use_torch_vgg:
        vgg16 = models.vgg16(pretrained=False)
        net.features = torch.nn.Sequential(*list(vgg16.features.children())[:-1])
    network.load_net(trained_model_path + trained_model_name, net)
else:
    #load pretrained vgg weights, and init everything else randomly
    network.weights_normal_init(net, dev=0.01)
    if use_batch_norm:
        if use_pretrained_vgg:
            vgg16_bn = models.vgg16_bn(pretrained=True)
        else:
            vgg16_bn = models.vgg16_bn(pretrained=False)
        net.features = torch.nn.Sequential(*list(vgg16_bn.features.children())[:-1])
        net.features.eval()
    elif use_torch_vgg:
        if use_pretrained_vgg:
            vgg16 = models.vgg16(pretrained=True)
        else:
            vgg16 = models.vgg16(pretrained=False)