Я пытаюсь динамически добавлять скорость обучения, но получаю ошибку ниже.
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