示例#1
0
                    #model_2_o = copy.deepcopy(model_2)

                    #model_2_o.load_state_dict(state2_o)
                    del tmp2
                    #del tmp2_o
                    del modelfile2
                    #del modelfile2_o

    ds = False
    if params.method in [
            "dampnet", "dampnet_full", "dampnet_full_class",
            "dampnet_full_sparse"
    ]:
        image_size = 224
        datamgr2 = miniImageNet_few_shot.SimpleDataManager(image_size,
                                                           batch_size=64)
        data_loader2 = datamgr2.get_data_loader(aug=False)

        for i, (x, y) in enumerate(data_loader2):
            if i % 10 == 0:
                print('{:d}/{:d}'.format(i, len(data_loader2)))
            x = x.cuda()
            x_var = Variable(x)
            if params.method != "all":
                model = model.cuda()
                feats = model(x_var).detach()  ##detach compute graph
            else:
                model_3 = model_3.cuda()
                feats = model_3(x_var).detach()
            if i == 0:
                all_feats = torch.zeros(len(data_loader2), feats.shape[0],
示例#2
0
    return model


if __name__ == '__main__':
    np.random.seed(12)
    params = parse_args('train')

    image_size = 224
    optimization = 'Adam'

    if params.method in ['baseline']:

        if params.dataset == "miniImageNet":

            datamgr = miniImageNet_few_shot.SimpleDataManager(
                image_size, batch_size=16, imagejitter=params.imagejitter)
            base_loader = datamgr.get_data_loader(aug=params.train_aug,
                                                  grayscale=params.grayscale)

        elif params.dataset == "CUB":

            # base_file = configs.data_dir['CUB'] + 'base.json'
            base_datamgr = SimpleDataManager(image_size, batch_size=16)
            base_loader = base_datamgr.get_data_loader(base_file,
                                                       aug=params.train_aug)

        elif params.dataset == "cifar100":
            base_datamgr = cifar_few_shot.SimpleDataManager("CIFAR100",
                                                            image_size,
                                                            batch_size=16)
            base_loader = base_datamgr.get_data_loader("base", aug=True)