diff --git a/CNO1d_vanilla_torch_version/TraincCNO.py b/CNO1d_vanilla_torch_version/TraincCNO.py index 585db47..a571911 100644 --- a/CNO1d_vanilla_torch_version/TraincCNO.py +++ b/CNO1d_vanilla_torch_version/TraincCNO.py @@ -91,7 +91,7 @@ def main(): test_relative_l2 = 0.0 for step, (input_batch, output_batch) in enumerate(testing_set): output_pred_batch = cno(input_batch) - loss_f = (torch.mean((abs(output_pred_batch - output_batch))) / torch.mean(abs(output_batch))) ** 0.5 * 100 + loss_f = torch.mean(torch.sum(abs(output_pred_batch - output_batch), dim=(1,2)) / torch.sum(abs(output_batch), dim=(1,2))) ** 0.5 * 100 test_relative_l2 += loss_f.item() test_relative_l2 /= len(testing_set) diff --git a/CNO2d_original_version/CNOModule.py b/CNO2d_original_version/CNOModule.py index eb63bf6..87825da 100644 --- a/CNO2d_original_version/CNOModule.py +++ b/CNO2d_original_version/CNOModule.py @@ -548,7 +548,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') diff --git a/CNO2d_original_version/TrainCNO.py b/CNO2d_original_version/TrainCNO.py index dc60cdd..1b3b02f 100644 --- a/CNO2d_original_version/TrainCNO.py +++ b/CNO2d_original_version/TrainCNO.py @@ -183,7 +183,7 @@ output_pred_batch[input_batch==1] = 1 output_batch[input_batch==1] = 1 - loss_f = torch.mean(abs(output_pred_batch - output_batch)) / torch.mean(abs(output_batch)) * 100 + loss_f = torch.mean(torch.sum(abs(output_pred_batch - output_batch), dim=(1,2)) / torch.sum(abs(output_batch), dim=(1,2))) * 100 test_relative_l2 += loss_f.item() test_relative_l2 /= len(val_loader) @@ -196,7 +196,7 @@ output_pred_batch[input_batch==1] = 1 output_batch[input_batch==1] = 1 - loss_f = torch.mean(abs(output_pred_batch - output_batch)) / torch.mean(abs(output_batch)) * 100 + loss_f = torch.mean(torch.sum(abs(output_pred_batch - output_batch), dim=(1,2)) / torch.sum(abs(output_batch), dim=(1,2))) * 100 train_relative_l2 += loss_f.item() train_relative_l2 /= len(train_loader) diff --git a/CNO2d_time_dependent_&_foundation_model/CNO_timeModule_CIN.py b/CNO2d_time_dependent_&_foundation_model/CNO_timeModule_CIN.py index 063b48b..ab0a332 100644 --- a/CNO2d_time_dependent_&_foundation_model/CNO_timeModule_CIN.py +++ b/CNO2d_time_dependent_&_foundation_model/CNO_timeModule_CIN.py @@ -1327,7 +1327,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') diff --git a/CNO2d_vanilla_torch_version/TraincCNO.py b/CNO2d_vanilla_torch_version/TraincCNO.py index bda5e09..aee5cb2 100644 --- a/CNO2d_vanilla_torch_version/TraincCNO.py +++ b/CNO2d_vanilla_torch_version/TraincCNO.py @@ -85,7 +85,7 @@ def main(): test_relative_l2 = 0.0 for step, (input_batch, output_batch) in enumerate(testing_set): output_pred_batch = cno(input_batch) - loss_f = (torch.mean((abs(output_pred_batch - output_batch))) / torch.mean(abs(output_batch))) ** 0.5 * 100 + loss_f = torch.mean(torch.sum(abs(output_pred_batch - output_batch), dim=(1,2)) / torch.sum(abs(output_batch), dim=(1,2))) ** 0.5 * 100 test_relative_l2 += loss_f.item() test_relative_l2 /= len(testing_set) diff --git a/_OtherModels/BaselinesModules.py b/_OtherModels/BaselinesModules.py index bf928c9..bb1d380 100644 --- a/_OtherModels/BaselinesModules.py +++ b/_OtherModels/BaselinesModules.py @@ -57,7 +57,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') @@ -229,7 +229,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') @@ -275,7 +275,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') diff --git a/_OtherModels/CNNModules.py b/_OtherModels/CNNModules.py index 509e9ce..5517659 100644 --- a/_OtherModels/CNNModules.py +++ b/_OtherModels/CNNModules.py @@ -188,7 +188,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') @@ -298,7 +298,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') diff --git a/_OtherModels/DeepONetModules.py b/_OtherModels/DeepONetModules.py index b958c45..8d23c6d 100644 --- a/_OtherModels/DeepONetModules.py +++ b/_OtherModels/DeepONetModules.py @@ -104,7 +104,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') @@ -145,7 +145,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') diff --git a/_OtherModels/FNOModules.py b/_OtherModels/FNOModules.py index 05365eb..5d4e807 100644 --- a/_OtherModels/FNOModules.py +++ b/_OtherModels/FNOModules.py @@ -117,7 +117,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') @@ -264,7 +264,7 @@ def print_size(self): nbytes = 0 for param in self.parameters(): - nparams += param.numel() + nparams += param.numel()*(param.is_complex() + 1) nbytes += param.data.element_size() * param.numel() print(f'Total number of model parameters: {nparams} (~{format_tensor_size(nbytes)})') diff --git a/_OtherModels/TrainDON.py b/_OtherModels/TrainDON.py index 58c7ad4..4cc6ce4 100644 --- a/_OtherModels/TrainDON.py +++ b/_OtherModels/TrainDON.py @@ -154,7 +154,7 @@ if which_example == "airfoil": output_pred_batch[input_batch == 1] = 1 output_batch[input_batch == 1] = 1 - loss_f = torch.mean(abs(output_pred_batch - output_batch)) / torch.mean(abs(output_batch)) * 100 + loss_f = torch.mean(torch.sum(abs(output_pred_batch - output_batch), dim=(1,2)) / torch.sum(abs(output_batch), dim=(1,2))) * 100 test_relative_l2 += loss_f.item() test_relative_l2 /= len(test_loader) diff --git a/_OtherModels/TrainFNO.py b/_OtherModels/TrainFNO.py index d432bf0..22c1d20 100644 --- a/_OtherModels/TrainFNO.py +++ b/_OtherModels/TrainFNO.py @@ -15,8 +15,8 @@ training_properties = { "learning_rate": 0.001, "weight_decay": 1e-8, - "scheduler_step": 0.97, - "scheduler_gamma": 10, + "scheduler_step": 10, + "scheduler_gamma": 0.97, "epochs": 1000, "batch_size": 16, "exp": 1, @@ -155,7 +155,7 @@ output_pred_batch[input_batch==1] = 1 output_batch[input_batch==1] = 1 - loss_f = torch.mean(abs(output_pred_batch - output_batch)) / torch.mean(abs(output_batch)) * 100 + loss_f = torch.mean(torch.sum(abs(output_pred_batch - output_batch), dim=(1,2)) / torch.sum(abs(output_batch), dim=(1,2))) * 100 test_relative_l2 += loss_f.item() test_relative_l2 /= len(test_loader) @@ -168,7 +168,7 @@ output_pred_batch[input_batch==1] = 1 output_batch[input_batch==1] = 1 - loss_f = torch.mean(abs(output_pred_batch - output_batch)) / torch.mean(abs(output_batch)) * 100 + loss_f = torch.mean(torch.sum(abs(output_pred_batch - output_batch), dim=(1,2)) / torch.sum(abs(output_batch), dim=(1,2))) * 100 train_relative_l2 += loss_f.item() train_relative_l2 /= len(train_loader) diff --git a/_OtherModels/TrainResNet.py b/_OtherModels/TrainResNet.py index 7ceae43..88337f5 100644 --- a/_OtherModels/TrainResNet.py +++ b/_OtherModels/TrainResNet.py @@ -148,7 +148,7 @@ output_pred_batch[input_batch == 1] = 1 output_batch[input_batch == 1] = 1 - loss_f = torch.mean(abs(output_pred_batch - output_batch)) / torch.mean(abs(output_batch)) * 100 + loss_f = torch.mean(torch.sum(abs(output_pred_batch - output_batch), dim=(1,2)) / torch.sum(abs(output_batch), dim=(1,2))) * 100 test_relative_l2 += loss_f.item() test_relative_l2 /= len(test_loader) diff --git a/_OtherModels/TrainUNet.py b/_OtherModels/TrainUNet.py index bb141d6..2edc091 100644 --- a/_OtherModels/TrainUNet.py +++ b/_OtherModels/TrainUNet.py @@ -147,7 +147,7 @@ output_pred_batch[input_batch == 1] = 1 output_batch[input_batch == 1] = 1 - loss_f = torch.mean(abs(output_pred_batch - output_batch)) / torch.mean(abs(output_batch)) * 100 + loss_f = torch.mean(torch.sum(abs(output_pred_batch - output_batch), dim=(1,2)) / torch.sum(abs(output_batch), dim=(1,2))) * 100 test_relative_l2 += loss_f.item() test_relative_l2 /= len(test_loader)