if torch.cuda.is_available():
            net = net.cuda()

        for name, param in net.named_parameters():
            param.requires_grad = False
            if name[5] == str(
                    hyper_params['stage']) and hyper_params['stage'] != 0:
                param.requires_grad = True
            elif (name[0] == 'b'
                  or name[0] == 'c') and hyper_params['stage'] == 0:
                param.requires_grad = True

        # saving outputs of all Basic Blocks
        mdl = learn.model
        sf = [
            SaveFeatures(m)
            for m in [mdl[0][2], mdl[0][4], mdl[0][5], mdl[0][6], mdl[0][7]]
        ]
        sf2 = [
            SaveFeatures(m) for m in
            [net.relu2, net.layer1, net.layer2, net.layer3, net.layer4]
        ]

        project_name = 'tl-kd-' + hyper_params['model'] + '-' + hyper_params[
            'dataset']
        experiment = Experiment(api_key="IOZ5docSriEdGRdQmdXQn9kpu",
                                project_name=project_name,
                                workspace="akshaykvnit")
        experiment.log_parameters(hyper_params)
        if hyper_params['stage'] == 0:
            filename = '../saved_models/' + str(
        if torch.cuda.is_available():
            net = net.cuda()

        # Freezing all parameters except of current stage
        for name, param in net.named_parameters():
            param.requires_grad = False
            if name[5] == str(
                    hyper_params['stage']) and hyper_params['stage'] != 0:
                param.requires_grad = True
            elif (name[0] == 'b'
                  or name[0] == 'c') and hyper_params['stage'] == 0:
                param.requires_grad = True

        # saving outputs of all Basic Blocks
        sf = [
            SaveFeatures(m)
            for m in [model.relu2, model.layer1, model.layer2, model.layer3]
        ]
        sf2 = [
            SaveFeatures(m)
            for m in [net.relu2, net.layer1, net.layer2, net.layer3]
        ]

        experiment = Experiment(api_key="IOZ5docSriEdGRdQmdXQn9kpu",
                                project_name="kd6",
                                workspace="akshaykvnit")
        experiment.log_parameters(hyper_params)
        if hyper_params['stage'] == 0:
            filename = '../saved_models/' + str(
                hyper_params['dataset']) + '/' + str(
                    hyper_params['student']) + '_stage' + str(
Exemple #3
0
        filename = '../saved_models/' + str(hyper_params['dataset']) + '/less_data' + str(hyper_params['perc']) + '/' + hyper_params['model'] + '_stage' + str(hyper_params['stage']) + '/model' + str(hyper_params['repeated']) + '.pt'
        net.load_state_dict(torch.load(filename, map_location = 'cpu'))
    
    if torch.cuda.is_available() : 
        net = net.cuda()

    for name, param in net.named_parameters() :
        param.requires_grad = False
        if name[5] == str(hyper_params['stage']) and hyper_params['stage'] != 0 :
            param.requires_grad = True
        elif (name[0] == 'b' or name[0] == 'c') and hyper_params['stage'] == 0 :
            param.requires_grad = True

    # saving outputs of all Basic Blocks
    mdl = learn.model
    sf = [SaveFeatures(m) for m in [mdl[0][2], mdl[0][4], mdl[0][5], mdl[0][6], mdl[0][7]]]
    sf2 = [SaveFeatures(m) for m in [net.relu2, net.layer1, net.layer2, net.layer3, net.layer4]]
    
    project_name = 'kd-ld' + str(hyper_params['perc']) + '-' + hyper_params['dataset'] + '-' + hyper_params['model']    
    experiment = Experiment(api_key="1jNZ1sunRoAoI2TyremCNnYLO", project_name = project_name, workspace = "akshaykvnit")
    experiment.log_parameters(hyper_params)

    if hyper_params['stage'] == 0 : 
        os.makedirs('../saved_models/' + str(hyper_params['dataset']) + '/less_data' + str(hyper_params['perc']) + '/' + hyper_params['model'] + '_stage' + str(hyper_params['stage']), exist_ok = True)
        filename = '../saved_models/' + str(hyper_params['dataset']) + '/less_data' + str(hyper_params['perc']) + '/' + hyper_params['model'] + '_stage' + str(hyper_params['stage']) + '/model' + str(hyper_params['repeated']) + '.pt'
    else : 
        os.makedirs('../saved_models/' + str(hyper_params['dataset']) + '/less_data' + str(hyper_params['perc']) + '/' + hyper_params['model'] + '_stage' + str(hyper_params['stage'] + 1), exist_ok = True)
        filename = '../saved_models/' + str(hyper_params['dataset']) + '/less_data' + str(hyper_params['perc']) + '/' + hyper_params['model'] + '_stage' + str(hyper_params['stage'] + 1) + '/model' + str(hyper_params['repeated']) + '.pt'
    
    optimizer = torch.optim.Adam(net.parameters(), lr = hyper_params["learning_rate"])
    total_step = len(data.train_ds) // hyper_params["batch_size"]
        if torch.cuda.is_available():
            net = net.cuda()

        for name, param in net.named_parameters():
            param.requires_grad = False
            if name[0] == str(hyper_params['stage'] +
                              1) and hyper_params['stage'] != 0:
                param.requires_grad = True
            elif name[0] == str(
                    hyper_params['stage']) and hyper_params['stage'] == 0:
                param.requires_grad = True

        # saving outputs of all Basic Blocks
        mdl = learn.model
        sf = [
            SaveFeatures(m)
            for m in [mdl[0][2], mdl[0][4], mdl[0][5], mdl[0][6]]
        ]
        sf2 = [SaveFeatures(m) for m in [net[0], net[2], net[3], net[4]]]

        experiment = Experiment(api_key="IOZ5docSriEdGRdQmdXQn9kpu",
                                project_name="kd5",
                                workspace="akshaykvnit")
        experiment.log_parameters(hyper_params)
        if hyper_params['stage'] == 0:
            filename = '../saved_models/' + str(
                hyper_params['dataset']) + '/small_stage' + str(
                    hyper_params['stage']) + '/model' + str(
                        hyper_params['repeated']) + '.pt'
        else:
            filename = '../saved_models/' + str(
Exemple #5
0
elif hyper_params['model'] == 'resnet14':
    net = resnet14(pretrained=False, progress=False)
elif hyper_params['model'] == 'resnet18':
    net = resnet18(pretrained=False, progress=False)
elif hyper_params['model'] == 'resnet20':
    net = resnet20(pretrained=False, progress=False)
elif hyper_params['model'] == 'resnet26':
    net = resnet26(pretrained=False, progress=False)

if torch.cuda.is_available():
    net = net.cuda()

# saving outputs of all Basic Blocks
mdl = learn.model
# for all 5 feature maps
sf = [SaveFeatures(m) for m in [mdl[0][5]]]
sf2 = [SaveFeatures(m) for m in [net.layer2]]
num_fm = 1

project_name = 'trad-kd-ld-' + hyper_params['model'] + '-' + hyper_params[
    'dataset']
experiment = Experiment(api_key="1jNZ1sunRoAoI2TyremCNnYLO",
                        project_name=project_name,
                        workspace="akshaykvnit")
experiment.log_parameters(hyper_params)
optimizer = torch.optim.Adam(net.parameters(),
                             lr=hyper_params["learning_rate"])
total_step = len(data.train_ds) // hyper_params["batch_size"]
train_loss_list = list()
val_loss_list = list()
min_val = 0