Невозможно добавить скорость обучения по слоям - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь динамически добавлять скорость обучения, но получаю ошибку ниже.

    count = 1
    while count <= 4:
        net.layers.append(torch.nn.Linear(len(net.layers)+input_neurons, 1))

        if count > 1:
            lr_policy.append({'params': 

net.layers[len(net.layers)-2].parameters(), 'lr': 0.2})
        lr_policy.append({'params': net.layers[len(net.layers)-1].weight, 'lr': 0.005})

    if count == 1:
        optimiser = torch.optim.Rprop(net.layers[0].parameters(),lr=learning_rate,etas=(0.5,1.2),step_sizes=(1e-06,50))
    else:
        optimiser = torch.optim.Rprop(lr_policy,lr=learning_rate,etas=(0.5,1.2),step_sizes=(1e-06,50))

    for epoch in range(num_epochs):

        Y_pred = net(X)
        loss = loss_func(Y_pred,Y.type(torch.FloatTensor))

        all_losses.append(loss.item())

        if epoch % 50 == 0:
           # _, predicted = torch.max(Y_pred, 1)

            predicted = Y_pred
            total = predicted.size(0)
            correct = predicted.data.numpy() == Y.data.numpy()

            print('Epoch [%d/%d] Loss: %.4f  Accuracy: %.2f %%'
                  % (epoch + 1, num_epochs, loss.item(), 100 * sum(correct)/total))

        net.zero_grad()

        loss.backward()

        optimiser.step()

    count+=1

Журналы: - /anaconda3/lib/python3.7/site-packages/torch/optim/optimizer.py в add_param_group (self, param_group) 212 213 если нет param_set.isdisjoint (set (param_group ['params'])): -> 214 повысить ValueError («некоторые параметры появляются в более чем одной группе параметров») 215 216 self.param_groups.append (param_group)

ValueError: some parameters appear in more than one parameter group
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...