outputs_cpu = outputs.data.cpu().numpy() lossL1 = criterionL1(outputs, targets) L1val_accum += lossL1.item() if i == 0: input_ndarray = inputs_cpu.cpu().numpy()[0] v_norm = (np.max(np.abs(input_ndarray[0, :, :]))**2 + np.max(np.abs(input_ndarray[1, :, :]))**2)**0.5 outputs_denormalized = data.denormalize(outputs_cpu[0], v_norm) targets_denormalized = data.denormalize( targets_cpu.cpu().numpy()[0], v_norm) utils.makeDirs(["results_train"]) utils.imageOut("results_train/epoch{}_{}".format(epoch, i), outputs_denormalized, targets_denormalized, saveTargets=True) # data for graph plotting L1_accum /= len(trainLoader) L1val_accum /= len(valiLoader) if saveL1: if epoch == 0: utils.resetLog(prefix + "L1.txt") utils.resetLog(prefix + "L1val.txt") utils.log(prefix + "L1.txt", "{} ".format(L1_accum), False) utils.log(prefix + "L1val.txt", "{} ".format(L1val_accum), False) torch.save(netG.state_dict(), prefix + "modelG")
if i==0: input_ndarray = inputs_cpu.cpu().numpy()[0] v_norm = ( np.max(np.abs(input_ndarray[0,:,:]))**2 + np.max(np.abs(input_ndarray[1,:,:]))**2 )**0.5 outputs_denormalized = data.denormalize(outputs_cpu[0], v_norm) targets_denormalized = data.denormalize(targets_cpu.cpu().numpy()[0], v_norm) utils.makeDirs(["results_train"]) utils.imageOut("results_train/epoch{}_{}".format(epoch, i), outputs_denormalized, targets_denormalized, saveTargets=True) # data for graph plotting Loss_accum /= len(trainLoader) Lossval_accum /= len(valiLoader) if saveL1: if epoch==0: utils.resetLog(prefix + "L.txt" ) utils.resetLog(prefix + "Lval.txt") utils.log(prefix + "L.txt" , "{} ".format(Loss_accum), False) utils.log(prefix + "Lval.txt", "{} ".format(Lossval_accum), False) torch.save(netG.state_dict(), prefix + "modelG" ) plt.figure() plt.plot(range(epochs), L_list, 'r-', label='train_loss') plt.legend() plt.xlabel('epoch') plt.ylabel('Loss') plt.savefig('train.png')