## считывание значений для валидации (тратит много времени, потому используется редко) # sheet = wb['obs_valid'] # for i in range(size): # for j in range(size): # число вложенных циклов долно быть равно dim !! # input_true[i * size + j][0] = \ # int(sheet.cell(column=1, row=1 + i * size + j).value) # input_true[i * size + j][1] = \ # int(sheet.cell(column=2, row=1 + i * size + j).value) # output_true[i * size + j][0] = \ # int(sheet.cell(column=3, row=1 + i * size + j).value) wb.close() # # net1 = NNet.Net(dim, device, 3, 15, "sigm") net2 = NNet.copy_net(net1) epoch_amount = 10000 optimizer1 = t.optim.SGD(net1.parameters(), lr=0.05) optimizer2 = t.optim.SGD(net2.parameters(), lr=0.05) loss = t.nn.MSELoss() def learning(net, optimizer): for epoch_number in range(epoch_amount): optimizer.zero_grad() # prediction = net.forward(input_data) loss_val = loss(prediction, output_data) loss_val.backward() optimizer.step()