from_type4 = type4[0:n_inputs] from_type4_targets = type4_targets[0:n_inputs] inputs = torch.cat((from_type1, from_type2, from_type3, from_type4), 0 ) targets = torch.cat( (from_type1_targets,from_type2_targets,from_type3_targets,from_type4_targets) ,0) args = dict() args['n_inputs'] = n_inputs args['n_neurons'] = n_neurons # Model net = NeuralNet(hidden_neurons=args['n_neurons']) criterion = nn.MSELoss(reduction="mean") optimizer = optim.SGD(net.parameters(), lr=learning_rate) hold_loss=[] EPOCHS = math.ceil(K /(n_inputs * 4)) # prog_bar = Bar('Training...', suffix='%(percent).1f%% - %(eta)ds - %(index)d / %(max)d', max=EPOCHS ) # Train loop for epoch in range(0, EPOCHS): running_loss = 0.0 # Batch gradient descent optimizer.zero_grad() output = net(inputs) loss = criterion(output, targets) running_loss += loss.data loss.backward() optimizer.step()