From b30735672200df993bc13d7b4262fd747b4c4e27 Mon Sep 17 00:00:00 2001 From: Lil_Ken <98253413+LilaKen@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:31:13 +0800 Subject: [PATCH 01/10] Create Transolver-paddle-convert-main --- examples/fsi/Transolver-paddle-convert-main | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples/fsi/Transolver-paddle-convert-main diff --git a/examples/fsi/Transolver-paddle-convert-main b/examples/fsi/Transolver-paddle-convert-main new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main @@ -0,0 +1 @@ + From 9c082ccc52cec9d470f7f1d6c5a588d03d8b84d3 Mon Sep 17 00:00:00 2001 From: Lil_Ken <98253413+LilaKen@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:31:33 +0800 Subject: [PATCH 02/10] Delete examples/fsi/Transolver-paddle-convert-main --- examples/fsi/Transolver-paddle-convert-main | 1 - 1 file changed, 1 deletion(-) delete mode 100644 examples/fsi/Transolver-paddle-convert-main diff --git a/examples/fsi/Transolver-paddle-convert-main b/examples/fsi/Transolver-paddle-convert-main deleted file mode 100644 index 8b13789179..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main +++ /dev/null @@ -1 +0,0 @@ - From 08f1bd428313c9e4cc5d4eb2f59047eab5528366 Mon Sep 17 00:00:00 2001 From: Lil_Ken <98253413+LilaKen@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:32:30 +0800 Subject: [PATCH 03/10] Add files via upload --- examples/fsi/utils/__init__.py | 0 examples/fsi/utils/paddle_aux.py | 91 ++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 examples/fsi/utils/__init__.py create mode 100644 examples/fsi/utils/paddle_aux.py diff --git a/examples/fsi/utils/__init__.py b/examples/fsi/utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/fsi/utils/paddle_aux.py b/examples/fsi/utils/paddle_aux.py new file mode 100644 index 0000000000..1bc52d51c3 --- /dev/null +++ b/examples/fsi/utils/paddle_aux.py @@ -0,0 +1,91 @@ + +# This file is generated by PaConvert ToolKit, please Don't edit it! +import paddle + +def reshape(self, *args, **kwargs): + if args: + if len(args)==1 and isinstance(args[0], (tuple, list)): + return paddle.reshape(self, args[0]) + else: + return paddle.reshape(self, list(args)) + elif kwargs: + assert 'shape' in kwargs + return paddle.reshape(self, shape=kwargs['shape']) + +setattr(paddle.Tensor, 'reshape', reshape) + +def min_class_func(self, *args, **kwargs): + if 'other' in kwargs: + kwargs['y'] = kwargs.pop('other') + ret = paddle.minimum(self, *args, **kwargs) + elif len(args)==1 and isinstance(args[0], paddle.Tensor): + ret = paddle.minimum(self, *args, **kwargs) + else: + if 'dim' in kwargs: + kwargs['axis'] = kwargs.pop('dim') + + if 'axis' in kwargs or len(args) >= 1: + ret = paddle.min(self, *args, **kwargs), paddle.argmin(self, *args, **kwargs) + else: + ret = paddle.min(self, *args, **kwargs) + + return ret + +def max_class_func(self, *args, **kwargs): + if 'other' in kwargs: + kwargs['y'] = kwargs.pop('other') + ret = paddle.maximum(self, *args, **kwargs) + elif len(args)==1 and isinstance(args[0], paddle.Tensor): + ret = paddle.maximum(self, *args, **kwargs) + else: + if 'dim' in kwargs: + kwargs['axis'] = kwargs.pop('dim') + + if 'axis' in kwargs or len(args) >= 1: + ret = paddle.max(self, *args, **kwargs), paddle.argmax(self, *args, **kwargs) + else: + ret = paddle.max(self, *args, **kwargs) + + return ret + +setattr(paddle.Tensor, "min", min_class_func) +setattr(paddle.Tensor, "max", max_class_func) + +def transpose_aux_func(dims,dim0, dim1): + perm = list(range(dims)) + perm[dim0], perm[dim1] = perm[dim1], perm[dim0] + return perm + +def add(self, *args, **kwargs): + if 'other' in kwargs: + y = kwargs['other'] + elif 'y' in kwargs: + y = kwargs['y'] + else: + y = args[0] + + if 'alpha' in kwargs: + alpha = kwargs['alpha'] + if alpha != 1: + if not isinstance(y, paddle.Tensor): + y = paddle.to_tensor(alpha * y) + else: + y = alpha * y + else: + if not isinstance(y, paddle.Tensor): + y = paddle.to_tensor(y) + + return paddle.add(self, y) + +setattr(paddle.Tensor, 'add', add) + +def view(self, *args, **kwargs): + if args: + if len(args)==1 and isinstance(args[0], (tuple, list, str)): + return paddle.view(self, args[0]) + else: + return paddle.view(self, list(args)) + elif kwargs: + return paddle.view(self, shape_or_dtype = list(kwargs.values())[0]) + +setattr(paddle.Tensor, 'view', view) From 364dffc95b2777273e1f907573e2fa38bbaa31c0 Mon Sep 17 00:00:00 2001 From: Lil_Ken <98253413+LilaKen@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:34:56 +0800 Subject: [PATCH 04/10] Delete examples/fsi/utils/__init__.py --- examples/fsi/utils/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/fsi/utils/__init__.py diff --git a/examples/fsi/utils/__init__.py b/examples/fsi/utils/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 From dd561352671593f37285760f24bfe25970c35148 Mon Sep 17 00:00:00 2001 From: Lil_Ken <98253413+LilaKen@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:35:04 +0800 Subject: [PATCH 05/10] Delete examples/fsi/utils directory --- examples/fsi/utils/paddle_aux.py | 91 -------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 examples/fsi/utils/paddle_aux.py diff --git a/examples/fsi/utils/paddle_aux.py b/examples/fsi/utils/paddle_aux.py deleted file mode 100644 index 1bc52d51c3..0000000000 --- a/examples/fsi/utils/paddle_aux.py +++ /dev/null @@ -1,91 +0,0 @@ - -# This file is generated by PaConvert ToolKit, please Don't edit it! -import paddle - -def reshape(self, *args, **kwargs): - if args: - if len(args)==1 and isinstance(args[0], (tuple, list)): - return paddle.reshape(self, args[0]) - else: - return paddle.reshape(self, list(args)) - elif kwargs: - assert 'shape' in kwargs - return paddle.reshape(self, shape=kwargs['shape']) - -setattr(paddle.Tensor, 'reshape', reshape) - -def min_class_func(self, *args, **kwargs): - if 'other' in kwargs: - kwargs['y'] = kwargs.pop('other') - ret = paddle.minimum(self, *args, **kwargs) - elif len(args)==1 and isinstance(args[0], paddle.Tensor): - ret = paddle.minimum(self, *args, **kwargs) - else: - if 'dim' in kwargs: - kwargs['axis'] = kwargs.pop('dim') - - if 'axis' in kwargs or len(args) >= 1: - ret = paddle.min(self, *args, **kwargs), paddle.argmin(self, *args, **kwargs) - else: - ret = paddle.min(self, *args, **kwargs) - - return ret - -def max_class_func(self, *args, **kwargs): - if 'other' in kwargs: - kwargs['y'] = kwargs.pop('other') - ret = paddle.maximum(self, *args, **kwargs) - elif len(args)==1 and isinstance(args[0], paddle.Tensor): - ret = paddle.maximum(self, *args, **kwargs) - else: - if 'dim' in kwargs: - kwargs['axis'] = kwargs.pop('dim') - - if 'axis' in kwargs or len(args) >= 1: - ret = paddle.max(self, *args, **kwargs), paddle.argmax(self, *args, **kwargs) - else: - ret = paddle.max(self, *args, **kwargs) - - return ret - -setattr(paddle.Tensor, "min", min_class_func) -setattr(paddle.Tensor, "max", max_class_func) - -def transpose_aux_func(dims,dim0, dim1): - perm = list(range(dims)) - perm[dim0], perm[dim1] = perm[dim1], perm[dim0] - return perm - -def add(self, *args, **kwargs): - if 'other' in kwargs: - y = kwargs['other'] - elif 'y' in kwargs: - y = kwargs['y'] - else: - y = args[0] - - if 'alpha' in kwargs: - alpha = kwargs['alpha'] - if alpha != 1: - if not isinstance(y, paddle.Tensor): - y = paddle.to_tensor(alpha * y) - else: - y = alpha * y - else: - if not isinstance(y, paddle.Tensor): - y = paddle.to_tensor(y) - - return paddle.add(self, y) - -setattr(paddle.Tensor, 'add', add) - -def view(self, *args, **kwargs): - if args: - if len(args)==1 and isinstance(args[0], (tuple, list, str)): - return paddle.view(self, args[0]) - else: - return paddle.view(self, list(args)) - elif kwargs: - return paddle.view(self, shape_or_dtype = list(kwargs.values())[0]) - -setattr(paddle.Tensor, 'view', view) From 44ea34177228e0c6d0177c1b3fab7ac97e3483a8 Mon Sep 17 00:00:00 2001 From: Lil_Ken <98253413+LilaKen@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:35:57 +0800 Subject: [PATCH 06/10] Create ReadME.md --- examples/fsi/Transolver-paddle-convert-main/ReadME.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples/fsi/Transolver-paddle-convert-main/ReadME.md diff --git a/examples/fsi/Transolver-paddle-convert-main/ReadME.md b/examples/fsi/Transolver-paddle-convert-main/ReadME.md new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/ReadME.md @@ -0,0 +1 @@ + From cdb61fd949ce78d3dd8b176057c22183b6d035b8 Mon Sep 17 00:00:00 2001 From: Lil_Ken <98253413+LilaKen@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:36:31 +0800 Subject: [PATCH 07/10] Add files via upload --- .../Car-Design-ShapeNetCar/README.md | 98 ++++ .../Car-Design-ShapeNetCar/Transolver_E.log | 218 +++++++++ .../dataset/__init__.py | 0 .../Car-Design-ShapeNetCar/dataset/dataset.py | 429 ++++++++++++++++++ .../dataset/load_dataset.py | 56 +++ .../Car-Design-ShapeNetCar/dataset/radius.py | 161 +++++++ .../fig/car_slice_surf.png | Bin 0 -> 840428 bytes .../Car-Design-ShapeNetCar/fig/case_study.png | Bin 0 -> 273342 bytes .../Car-Design-ShapeNetCar/fig/results.png | Bin 0 -> 297941 bytes .../Car-Design-ShapeNetCar/fig/task.png | Bin 0 -> 292640 bytes .../Car-Design-ShapeNetCar/main.py | 46 ++ .../Car-Design-ShapeNetCar/main_evaluation.py | 131 ++++++ .../models/Transolver.py | 211 +++++++++ .../scripts/Evaluation.sh | 6 + .../scripts/Transolver.sh | 8 + .../Car-Design-ShapeNetCar/train.py | 146 ++++++ .../Physics_Attention.py | 191 ++++++++ .../utils/__init__.py | 0 .../utils/paddle_aux.py | 91 ++++ 19 files changed, 1792 insertions(+) create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/README.md create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/Transolver_E.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/__init__.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/dataset.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/load_dataset.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/radius.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/car_slice_surf.png create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/case_study.png create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/results.png create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/task.png create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main_evaluation.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/models/Transolver.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Evaluation.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Transolver.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/train.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Physics_Attention.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/utils/__init__.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/utils/paddle_aux.py diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/README.md b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/README.md new file mode 100644 index 0000000000..565cafdbab --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/README.md @@ -0,0 +1,98 @@ +# Transolver for Car Design + +We test [Transolver](https://arxiv.org/abs/2402.02366) on practical design tasks. The car design task requires the model to estimate the surrounding wind speed and surface pressure for a driving car. + +

+ +

+Figure 1. Car design task. +

+ +Relative error of surrounding wind, surface pressure and [drag coefficient](https://en.wikipedia.org/wiki/Drag_coefficient) are recorded, as well as [Spearman's rank correlations](https://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient), which can be used to quantify the model's capability in ranking different designs. + +

+ +

+Table 1. Model comparisons of the car design task. +

+ + +## Get Started + +1. Install Python 3.8. For convenience, execute the following command. + +```bash +pip install -r requirements.txt +``` + +Note: You need to install [pytorch_geometric](https://github.com/pyg-team/pytorch_geometric). + +2. Prepare Data. + +The raw data can be found [[here]](http://www.nobuyuki-umetani.com/publication/mlcfd_data.zip), which is provided by [Nobuyuki Umetani](https://dl.acm.org/doi/abs/10.1145/3197517.3201325). + +3. Train and evaluate model. We provide the experiment scripts under the folder `./scripts/`. You can reproduce the experiment results as the following examples: + +```bash +bash scripts/Transolver.sh # for Training (will take 8-10 hours on one single A100) +bash scripts/Evaluation.sh # for Evaluation +``` + +Note: You need to change the argument `--data_dir` and `--save_dir` to your dataset path. Here `data_dir` is for the raw data and `save_dir` is to save the preprocessed data. + +If you have already downloaded or generated the preprocecessed data, you can change `--preprocessed` as True for speed up. + +4. Develop your own model. Here are the instructions: + + - Add the model file under folder `./models/`. + - Add the model configuration into `./main.py`. + - Add a script file under folder `./scripts/` and change the argument `--model`. + +## Slice Visualization + +Transolver proposes to **learn physical states** hidden under the unwieldy meshes. + +The following visualization demonstrates that Transolver can successfully learn to ascribe the points under similar physical state to the same slice, such as windshield, license plate and headlight. + +

+ +

+Figure 2. Visualization for Transolver learned physical states. +

+ + +## Showcases + +Transolver achieves the best performance in complex geometries and hybrid physics. + +

+ +

+Figure 3. Case study of Transolver and other models. +

+ + +## Citation + +If you find this repo useful, please cite our paper. + +``` +@inproceedings{wu2024Transolver, + title={Transolver: A Fast Transformer Solver for PDEs on General Geometries}, + author={Haixu Wu and Huakun Luo and Haowen Wang and Jianmin Wang and Mingsheng Long}, + booktitle={International Conference on Machine Learning}, + year={2024} +} +``` + +## Contact + +If you have any questions or want to use the code, please contact [wuhx23@mails.tsinghua.edu.cn](mailto:wuhx23@mails.tsinghua.edu.cn). + +## Acknowledgement + +We appreciate the following papers a lot for their valuable code base or datasets: + +https://dl.acm.org/doi/abs/10.1145/3197517.3201325 + +https://openreview.net/forum?id=EyQO9RPhwN diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/Transolver_E.log b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/Transolver_E.log new file mode 100644 index 0000000000..29859bee71 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/Transolver_E.log @@ -0,0 +1,218 @@ +Namespace(data_dir='data/PDE_data/mlcfd_data/training_data', save_dir='data/PDE_data/mlcfd_data/preprocessed_data', fold_id=0, gpu=3, cfd_model='Transolver', cfd_mesh=False, r=0.2, weight=0.5, nb_epochs=200) +use preprocessed data +loading data +Processing Samples: 0%| | 0/793 [00:00 0: + print(np.isnan(normal).sum()) + print('recalculate') + return get_normal(unstructured_grid_data) + return normal + + +def visualize_poly_data(poly_data, surface_filter, normal_filter=None): + if normal_filter is not None: + mask = vtk.vtkMaskPoints() + mask.SetInputData(normal_filter.GetOutput()) + mask.Update() + arrow = vtk.vtkArrowSource() + arrow.Update() + glyph = vtk.vtkGlyph3D() + glyph.SetInputData(mask.GetOutput()) + glyph.SetSourceData(arrow.GetOutput()) + glyph.SetVectorModeToUseNormal() + glyph.SetScaleFactor(0.1) + glyph.Update() + norm_mapper = vtk.vtkPolyDataMapper() + norm_mapper.SetInputData(normal_filter.GetOutput()) + glyph_mapper = vtk.vtkPolyDataMapper() + glyph_mapper.SetInputData(glyph.GetOutput()) + norm_actor = vtk.vtkActor() + norm_actor.SetMapper(norm_mapper) + glyph_actor = vtk.vtkActor() + glyph_actor.SetMapper(glyph_mapper) + glyph_actor.GetProperty().SetColor(1, 0, 0) + norm_render = vtk.vtkRenderer() + norm_render.AddActor(norm_actor) + norm_render.SetBackground(0, 1, 0) + glyph_render = vtk.vtkRenderer() + glyph_render.AddActor(glyph_actor) + glyph_render.AddActor(norm_actor) + glyph_render.SetBackground(0, 0, 1) + scalar_range = poly_data.GetScalarRange() + mapper = vtk.vtkDataSetMapper() + mapper.SetInputConnection(surface_filter.GetOutputPort()) + mapper.SetScalarRange(scalar_range) + actor = vtk.vtkActor() + actor.SetMapper(mapper) + renderer = vtk.vtkRenderer() + renderer.AddActor(actor) + renderer.SetBackground(1, 1, 1) + renderer_window = vtk.vtkRenderWindow() + renderer_window.AddRenderer(renderer) + if normal_filter is not None: + renderer_window.AddRenderer(norm_render) + renderer_window.AddRenderer(glyph_render) + renderer_window.Render() + interactor = vtk.vtkRenderWindowInteractor() + interactor.SetRenderWindow(renderer_window) + interactor.Initialize() + interactor.Start() + + +def get_datalist(root, samples, norm=False, coef_norm=None, savedir=None, + preprocessed=False): + dataset = [] + mean_in, mean_out = 0, 0 + std_in, std_out = 0, 0 + for k, s in tqdm(enumerate(samples), total=len(samples), desc= + 'Processing Samples'): + if preprocessed and savedir is not None: + save_path = os.path.join(savedir, s) + if not os.path.exists(save_path): + continue + init = np.load(os.path.join(save_path, 'x.npy')) + target = np.load(os.path.join(save_path, 'y.npy')) + pos = np.load(os.path.join(save_path, 'pos.npy')) + surf = np.load(os.path.join(save_path, 'surf.npy')) + edge_index = np.load(os.path.join(save_path, 'edge_index.npy')) + else: + file_name_press = os.path.join(root, os.path.join(s, + 'quadpress_smpl.vtk')) + file_name_velo = os.path.join(root, os.path.join(s, + 'hexvelo_smpl.vtk')) + if not os.path.exists(file_name_press) or not os.path.exists( + file_name_velo): + continue + unstructured_grid_data_press = load_unstructured_grid_data( + file_name_press) + unstructured_grid_data_velo = load_unstructured_grid_data( + file_name_velo) + velo = vtk_to_numpy(unstructured_grid_data_velo.GetPointData(). + GetVectors()) + press = vtk_to_numpy(unstructured_grid_data_press.GetPointData( + ).GetScalars()) + points_velo = vtk_to_numpy(unstructured_grid_data_velo. + GetPoints().GetData()) + points_press = vtk_to_numpy(unstructured_grid_data_press. + GetPoints().GetData()) + edges_press = get_edges(unstructured_grid_data_press, + points_press, cell_size=4) + edges_velo = get_edges(unstructured_grid_data_velo, points_velo, + cell_size=8) + sdf_velo, normal_velo = get_sdf(points_velo, points_press) + sdf_press = np.zeros(tuple(points_press.shape)[0]) + normal_press = get_normal(unstructured_grid_data_press) + surface = {tuple(p) for p in points_press} + exterior_indices = [i for i, p in enumerate(points_velo) if + tuple(p) not in surface] + velo_dict = {tuple(p): velo[i] for i, p in enumerate(points_velo)} + pos_ext = points_velo[exterior_indices] + pos_surf = points_press + sdf_ext = sdf_velo[exterior_indices] + sdf_surf = sdf_press + normal_ext = normal_velo[exterior_indices] + normal_surf = normal_press + velo_ext = velo[exterior_indices] + velo_surf = np.array([(velo_dict[tuple(p)] if tuple(p) in + velo_dict else np.zeros(3)) for p in pos_surf]) + press_ext = np.zeros([len(exterior_indices), 1]) + press_surf = press + init_ext = np.c_[pos_ext, sdf_ext, normal_ext] + init_surf = np.c_[pos_surf, sdf_surf, normal_surf] + target_ext = np.c_[velo_ext, press_ext] + target_surf = np.c_[velo_surf, press_surf] + surf = np.concatenate([np.zeros(len(pos_ext)), np.ones(len( + pos_surf))]) + pos = np.concatenate([pos_ext, pos_surf]) + init = np.concatenate([init_ext, init_surf]) + target = np.concatenate([target_ext, target_surf]) + edge_index = get_edge_index(pos, edges_press, edges_velo) + if savedir is not None: + save_path = os.path.join(savedir, s) + if not os.path.exists(save_path): + os.makedirs(save_path) + np.save(os.path.join(save_path, 'x.npy'), init) + np.save(os.path.join(save_path, 'y.npy'), target) + np.save(os.path.join(save_path, 'pos.npy'), pos) + np.save(os.path.join(save_path, 'surf.npy'), surf) + np.save(os.path.join(save_path, 'edge_index.npy'), edge_index) + surf = paddle.to_tensor(data=surf) + pos = paddle.to_tensor(data=pos) + x = paddle.to_tensor(data=init) + y = paddle.to_tensor(data=target) + edge_index = paddle.to_tensor(data=edge_index) + if norm and coef_norm is None: + if k == 0: + old_length = tuple(init.shape)[0] + mean_in = init.mean(axis=0) + mean_out = target.mean(axis=0) + else: + new_length = old_length + tuple(init.shape)[0] + mean_in += (init.sum(axis=0) - tuple(init.shape)[0] * mean_in + ) / new_length + mean_out += (target.sum(axis=0) - tuple(init.shape)[0] * + mean_out) / new_length + old_length = new_length + data = Data(pos=pos, x=x, y=y, surf=surf.astype(dtype='bool'), + edge_index=edge_index) + dataset.append(data) + if norm and coef_norm is None: + for k, data in enumerate(dataset): + if k == 0: + old_length = tuple(data.x.numpy().shape)[0] + std_in = ((data.x.numpy() - mean_in) ** 2).sum(axis=0 + ) / old_length + std_out = ((data.y.numpy() - mean_out) ** 2).sum(axis=0 + ) / old_length + else: + new_length = old_length + tuple(data.x.numpy().shape)[0] + std_in += (((data.x.numpy() - mean_in) ** 2).sum(axis=0) - + tuple(data.x.numpy().shape)[0] * std_in) / new_length + std_out += (((data.y.numpy() - mean_out) ** 2).sum(axis=0) - + tuple(data.x.numpy().shape)[0] * std_out) / new_length + old_length = new_length + std_in = np.sqrt(std_in) + std_out = np.sqrt(std_out) + for data in dataset: + data.x = ((data.x - mean_in) / (std_in + 1e-08)).astype(dtype= + 'float32') + data.y = ((data.y - mean_out) / (std_out + 1e-08)).astype(dtype + ='float32') + coef_norm = mean_in, std_in, mean_out, std_out + dataset = dataset, coef_norm + elif coef_norm is not None: + for data in dataset: + data.x = ((data.x - coef_norm[0]) / (coef_norm[1] + 1e-08)).astype( + dtype='float32') + data.y = ((data.y - coef_norm[2]) / (coef_norm[3] + 1e-08)).astype( + dtype='float32') + return dataset + + +def get_edges(unstructured_grid_data, points, cell_size=4): + edge_indeces = set() + cells = vtk_to_numpy(unstructured_grid_data.GetCells().GetData()).reshape( + -1, cell_size + 1) + for i in range(len(cells)): + for j, k in itertools.product(range(1, cell_size + 1), repeat=2): + edge_indeces.add((cells[i][j], cells[i][k])) + edge_indeces.add((cells[i][k], cells[i][j])) + edges = [[], []] + for u, v in edge_indeces: + edges[0].append(tuple(points[u])) + edges[1].append(tuple(points[v])) + return edges + + +def get_edge_index(pos, edges_press, edges_velo): + indices = {tuple(pos[i]): i for i in range(len(pos))} + edges = set() + for i in range(len(edges_press[0])): + edges.add((indices[edges_press[0][i]], indices[edges_press[1][i]])) + for i in range(len(edges_velo[0])): + edges.add((indices[edges_velo[0][i]], indices[edges_velo[1][i]])) + edge_index = np.array(list(edges)).T + return edge_index + + +# def get_induced_graph(data, idx, num_hops): +# subset, sub_edge_index, _, _ = k_hop_subgraph(node_idx=idx, num_hops= +# num_hops, edge_index=data.edge_index, relabel_nodes=True) +# return Data(x=data.x[subset], y=data.y[idx], edge_index=sub_edge_index) + +def get_induced_graph(data, idx, num_hops): + # 初始化节点集合和边集合 + subset = set([idx]) + current_layer_nodes = set([idx]) + + for _ in range(num_hops): + neighbors = set() + for node in current_layer_nodes: + neighbors.update(data.edge_index[1][data.edge_index[0] == node].numpy()) + neighbors.update(data.edge_index[0][data.edge_index[1] == node].numpy()) + current_layer_nodes = neighbors - subset # 去重 + subset.update(current_layer_nodes) + + subset = paddle.to_tensor(list(subset), dtype='int64') + + # 提取子图的边 + mask = paddle.to_tensor([(i in subset) and (j in subset) for i, j in zip(data.edge_index[0], data.edge_index[1])], + dtype='bool') + sub_edge_index = data.edge_index[:, mask] + + # 创建子图 + return Data(x=data.x[subset], y=data.y[idx], edge_index=sub_edge_index) + +def pc_normalize(pc): + # 计算点云的中心点 + centroid = paddle.mean(pc, axis=0) + # 将点云平移到原点 + pc = pc - centroid + # 计算点云的最大距离 + m = paddle.max(paddle.sqrt(paddle.sum(pc ** 2, axis=1))) + # 将点云归一化 + pc = pc / m + return pc + + +def get_shape(data, max_n_point=8192, normalize=True, use_height=False): + # data 是一个包含 'surf' 和 'pos' 属性的 Data 对象 + surf_indices = paddle.nonzero(data.surf).squeeze().numpy().tolist() + + # 对采样点数量进行限制 + if len(surf_indices) > max_n_point: + surf_indices = np.array(random.sample(surf_indices, max_n_point)) + + # 获取指定点的坐标 + shape_pc = paddle.gather(data.pos, paddle.to_tensor(surf_indices, dtype='int64')) + + # 如果需要,则对点云数据进行归一化 + if normalize: + shape_pc = pc_normalize(shape_pc) + + # 如果需要,则增加高度维度 + if use_height: + gravity_dim = 1 + height_array = shape_pc[:, gravity_dim:gravity_dim + 1] - paddle.min(shape_pc[:, gravity_dim:gravity_dim + 1]) + shape_pc = paddle.concat((shape_pc, height_array), axis=1) + + return shape_pc + + +def create_edge_index_radius(data, r, max_neighbors=32): + data.edge_index = radius_graph(x=data.pos, r=r, loop=True, max_num_neighbors=max_neighbors) + # print(data) + # print(f'r = {r}, #edges = {data.edge_index.size(1)}') + return data + + +class GraphDataset(paddle.io.Dataset): + def __init__(self, datalist, use_height=False, use_cfd_mesh=True, r=None, transform=None): + super().__init__() + self.datalist = datalist + self.transform = transform + self.use_height = use_height + self._indices: Optional[Sequence] = None + if not use_cfd_mesh: + assert r is not None, "Parameter 'r' must be provided when 'use_cfd_mesh' is False." + for i in tqdm(range(len(self.datalist)), desc="Processing neighbors"): + self.datalist[i] = create_edge_index_radius(self.datalist[i], r) + + def __len__(self): + return len(self.datalist) + + def __getitem__(self, idx: Union[int, np.integer, paddle.Tensor, np.ndarray]) -> Tuple['Data', paddle.Tensor]: + """获取数据项或数据子集,支持单个索引或索引切片。""" + if (isinstance(idx, (int, np.integer)) + or (isinstance(idx, paddle.Tensor) and idx.dim() == 0) + or (isinstance(idx, np.ndarray) and np.isscalar(idx))): + data, shape = self.get(self.indices()[idx]) + data = data if self.transform is None else self.transform(data) + return data, shape + + def get(self, idx): + data = self.datalist[idx] + shape = get_shape(data, use_height=self.use_height) + return data, shape + + def indices(self) -> Sequence: + """返回数据集的索引列表。""" + return range(len(self.datalist)) if self._indices is None else self._indices + diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/load_dataset.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/load_dataset.py new file mode 100644 index 0000000000..13869aea74 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/load_dataset.py @@ -0,0 +1,56 @@ +import os +from dataset.dataset import get_datalist + + +def get_samples(root): + folds = [f'param{i}' for i in range(9)] + samples = [] + for fold in folds: + fold_samples = [] + files = os.listdir(os.path.join(root, fold)) + for file in files: + path = os.path.join(root, os.path.join(fold, file)) + if os.path.isdir(path): + fold_samples.append(os.path.join(fold, file)) + samples.append(fold_samples) + return samples + + +def load_train_val_fold(args, preprocessed): + samples = get_samples(args.data_dir) + trainlst = [] + for i in range(len(samples)): + if i == args.fold_id: + continue + trainlst += samples[i] + vallst = samples[args.fold_id] if 0 <= args.fold_id < len(samples + ) else None + if preprocessed: + print('use preprocessed data') + print('loading data') + train_dataset, coef_norm = get_datalist(args.data_dir, trainlst, norm= + True, savedir=args.save_dir, preprocessed=preprocessed) + val_dataset = get_datalist(args.data_dir, vallst, coef_norm=coef_norm, + savedir=args.save_dir, preprocessed=preprocessed) + print('load data finish') + return train_dataset, val_dataset, coef_norm + + +def load_train_val_fold_file(args, preprocessed): + samples = get_samples(args.data_dir) + trainlst = [] + for i in range(len(samples)): + if i == args.fold_id: + continue + trainlst += samples[i] + vallst = samples[args.fold_id] if 0 <= args.fold_id < len(samples + ) else None + if preprocessed: + print('use preprocessed data') + print('loading data') + train_dataset, coef_norm = get_datalist(args.data_dir, trainlst, norm= + True, savedir=args.save_dir, preprocessed=preprocessed) + val_dataset = get_datalist(args.data_dir, vallst, coef_norm=coef_norm, + savedir=args.save_dir, preprocessed=preprocessed) + print('load data finish') + return train_dataset, val_dataset, coef_norm, vallst diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/radius.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/radius.py new file mode 100644 index 0000000000..79869f4992 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/radius.py @@ -0,0 +1,161 @@ +# import paddle +# import numpy as np +# from scipy.spatial import cKDTree +# from typing import Optional +# +# def radius( +# x: paddle.Tensor, +# y: paddle.Tensor, +# r: float, +# batch_x: Optional[paddle.Tensor] = None, +# batch_y: Optional[paddle.Tensor] = None, +# max_num_neighbors: int = 32, +# min_num_neighbors: int = 1, +# num_workers: int = 32 # 添加线程数参数,默认 32 +# ) -> paddle.Tensor: +# # 默认在 CPU 上运行,不需要指定设备 +# +# if batch_x is None: +# batch_x = paddle.zeros([x.shape[0]], dtype='int64') +# if batch_y is None: +# batch_y = paddle.zeros([y.shape[0]], dtype='int64') +# +# x = x.reshape([-1, 1]) if x.ndim == 1 else x +# y = y.reshape([-1, 1]) if y.ndim == 1 else y +# +# assert x.ndim == 2 and batch_x.ndim == 1 +# assert y.ndim == 2 and batch_y.ndim == 1 +# assert x.shape[1] == y.shape[1] +# assert x.shape[0] == batch_x.shape[0] +# assert y.shape[0] == batch_y.shape[0] +# +# # 拼接批次维度信息 +# x = paddle.concat([x, (2 * r * batch_x.reshape([-1, 1])).astype(x.dtype)], axis=-1) +# y = paddle.concat([y, (2 * r * batch_y.reshape([-1, 1])).astype(y.dtype)], axis=-1) +# +# # 构建 KD 树并查询,使用多线程 +# tree = cKDTree(x.numpy()) # cKDTree 只支持 CPU 计算 +# distances, col = tree.query( +# y.numpy(), k=max_num_neighbors, distance_upper_bound=r + 1e-8, workers=num_workers +# ) +# +# # 保证最小邻居数 +# valid_indices = [i for i in range(len(col)) if len(col[i]) >= min_num_neighbors] +# col = [col[i] for i in valid_indices] +# distances = [distances[i] for i in valid_indices] +# +# # 将结果转换为张量 +# col = [paddle.to_tensor(c, dtype='int64') for c in col] +# row = [paddle.full_like(c, i, dtype='int64') for i, c in enumerate(col)] +# row, col = paddle.concat(row, axis=0), paddle.concat(col, axis=0) +# mask = col < tree.n +# +# return paddle.stack([row[mask], col[mask]], axis=0) +# +# def radius_graph( +# x: paddle.Tensor, +# r: float, +# batch: Optional[paddle.Tensor] = None, +# loop: bool = False, +# max_num_neighbors: int = 32, +# min_num_neighbors: int = 1, +# flow: str = 'source_to_target', +# num_workers: int = 32 # 添加线程数参数,默认 32 +# ) -> paddle.Tensor: +# if batch is not None: +# batch = batch +# +# assert flow in ['source_to_target', 'target_to_source'] +# row, col = radius(x, x, r, batch, batch, max_num_neighbors + 1, min_num_neighbors, num_workers) +# row, col = (col, row) if flow == 'source_to_target' else (row, col) +# +# if not loop: +# mask = row != col +# row, col = row[mask], col[mask] +# +# return paddle.stack([row, col], axis=0) + +import paddle +import numpy as np +from scipy.spatial import cKDTree +from typing import Optional +from concurrent.futures import ThreadPoolExecutor + + +def radius( + x: paddle.Tensor, + y: paddle.Tensor, + r: float, + batch_x: Optional[paddle.Tensor] = None, + batch_y: Optional[paddle.Tensor] = None, + max_num_neighbors: int = 32, + num_workers: int = 32, + batch_size: Optional[int] = None, +) -> paddle.Tensor: + if x.numel() == 0 or y.numel() == 0: + return paddle.empty([2, 0], dtype='int64', place=x.place) + + x = x.reshape([-1, 1]) if x.ndim == 1 else x + y = y.reshape([-1, 1]) if y.ndim == 1 else y + + if batch_size is None: + batch_size = 1 + if batch_x is not None: + assert x.shape[0] == batch_x.numel() + batch_size = int(batch_x.max()) + 1 + if batch_y is not None: + assert y.shape[0] == batch_y.numel() + batch_size = max(batch_size, int(batch_y.max()) + 1) + assert batch_size > 0 + + x = paddle.concat([x, 2 * r * batch_x.reshape([-1, 1])], axis=-1) if batch_x is not None else x + y = paddle.concat([y, 2 * r * batch_y.reshape([-1, 1])], axis=-1) if batch_y is not None else y + + # 使用 cKDTree 创建 KD 树(只支持 CPU) + tree = cKDTree(x.numpy()) + + # 执行多线程查询 + def query_neighbors(idx): + _, indices = tree.query(y[idx].numpy(), k=max_num_neighbors, distance_upper_bound=r + 1e-8) + row = [idx] * len(indices) + return row, indices + + rows, cols = [], [] + with ThreadPoolExecutor(max_workers=num_workers) as executor: + results = executor.map(query_neighbors, range(y.shape[0])) + for row, col in results: + rows.extend(row) + cols.extend(col) + + row_tensor = paddle.to_tensor(rows, dtype='int64') + col_tensor = paddle.to_tensor(cols, dtype='int64') + mask = col_tensor < tree.n + + return paddle.stack([row_tensor[mask], col_tensor[mask]], axis=0) + + +def radius_graph( + x: paddle.Tensor, + r: float, + batch: Optional[paddle.Tensor] = None, + loop: bool = False, + max_num_neighbors: int = 32, + flow: str = 'source_to_target', + num_workers: int = 32, + batch_size: Optional[int] = None, +) -> paddle.Tensor: + assert flow in ['source_to_target', 'target_to_source'] + edge_index = radius(x, x, r, batch, batch, + max_num_neighbors if loop else max_num_neighbors + 1, + num_workers, batch_size) + + if flow == 'source_to_target': + row, col = edge_index[1], edge_index[0] + else: + row, col = edge_index[0], edge_index[1] + + if not loop: + mask = row != col + row, col = row[mask], col[mask] + + return paddle.stack([row, col], axis=0) diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/car_slice_surf.png b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/car_slice_surf.png new file mode 100644 index 0000000000000000000000000000000000000000..f43afe9ddaa95464fbdc5b9393f19266c760032a GIT binary patch literal 840428 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�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

`Cv3+|F+q(4|Y~7}< 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 z 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%0AO%3pt+)30aA4h%CT|}oZ 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

<>RMQ0U{_O{Vk>_)@#9K+qSJbnSGw+N2~}i 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

Yqo3E9xOUpI@ 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 b@;Ycx6+{myF7YZ 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

jW-oc&%zMdU_gA4c)EnwRx68?;kLnI4Hc7t|2x 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

>q%Gh{0wG|rZ6*z@nu#w8qoMa6AC3*(oeNT< zdbecYu}l&=G??x@X&VP3QvqmXib;Qx!BOdm&}w^)XnjsVdI3~cdgCvz6M3T2W~h=a z^jmjiK%L>QyN3pU_$@Z6hbEK=Sa_e4)IHcq>X=Va9cZrr<+;%OLrc!r7*$tbIG}8$ zex<8O&+>!mEcthoz{ek1&F$AJX+82b`oEXR!Wb}UsIg!YxUq3^RtONQ!|$c!j^t;G z95QLnb;=_u-PntN0^3$|0lCmbUGAA=X|AI9$JLv^yMgZSWW7{JX6g^~Xk4P${ z-8R1#$LbnA(@BwLnq9Bo%x@2qiw>ta3#0A5lm3|+^W_3)+?hgX(j+)@pt~_&U5cfv z7Nl+7H~~PaXKy@>L45=qr+N)s$s-m4HfOPV|B=z+3mJ`HXOIP z@yWdBj+7I6FtPAuco`N`&0tB4V?WvY1k#o>svR!_qy`?<^!D|tcRu}i6>C(UUwJB+ z0;V?Q&eqa;Rw?BSHO_vg>=!WD8JDgyNH$v3zPykk5%6d@sB&{}+dt3kpqIqnP1{@1 zC!EES3X487|J5}3&u)es)RPKAyP3V{c)Q&sb9Hh8Wnsm2E0vyE(rxR90G3u>1|;}q zeVr=;Nn0`LhMUG;+Vn?^JPr&!mGsWuRtBN_uRvU~YX1;r&0st(d6-a*M+uIE-Y>{r z_7w8SG6|u9c;u~oW{)7}A3iX0ua!<(P}c1PZ0Wwd$>!PLq}&-QVezfRA2;T~JLypi z2|3Gb`EI7JiK(J?0TihCc;w;WSQ`+cb^Y8DXw6g{Cct6~830Y%-(SJ09P#EI01d=$>*@-5doA%}tsH|Pp4qz*;HNe-fN`=QEN}GVQVUc+ z)tn*WRFm4ueANkO*&4yR^AfWPZ{U4Kfs>MD2RN)sJOXUy zxNFwG*OLH$Zu!g+{-&HOG_@!M=jCaqq@$qaKb&*4~haH#Q8P-_b`hd;eHerE&N5UNIj z!i*yp?}zfQ}Q^mByIE$rU^33QqfvMok^-=+)mZx zmf1TQqwj-VYH@bg3rw2sr2vfT@e0Hqd;TV- zw(ah`5=5>9dooLimYA1W5F5IQH8(E+Q*RN}e&s9~D7K!cSqZxPlIf>d$C2zO`=*48 z$}AhdrpV%`(i|`kTu?gCvW`xIy~rOl z_{Y5Z3}qR_M-H2PaTCZ_wgEtP+wzwpKH!)R$}*aIwEI2|vs~gCF%ux1E4j-pfP&ph zYS}G(=CDTAqD3vWuT3D9+9a=*fvXy9Tuqgn&3D-3-FWf3D}*E9T73$#!9_);HVf*X z!U|&k-Zgdcf9smUps#HsXDkW^q8=h9_8P-?xt-~F%emdb9_4f;{U+*ph6l&( zpQLBn^T6*?C{E-zcHg26S<&-+)Ar}rc<O!Me}lJiWp{zT~>Xk5#=yM;No)jc8WX`Xu=K9E&)huQ;x1^^Ib4Z zVy3wW%Zf0*MptZ%YboE0UOX?nTIZsgaR>hM|678Qay#WnIPoBSh=Rgdc zZaCphK-PN6!=W0%rLpq|vC(Ht0M(uBS5qafxU4@n@YM7;?#|nuw%3z*-|Yr+BemKj zm%)Iy)=N`9@N@x(Q9XbPm&zP?8A5xjAZtP7PF|9({+?hh*YxbQPfs@)BAD z6WC1u3?t?Rppqq^Q32es>LT^L=$F1#_2kM!V0{bYd;~~p(*UufYy&_iuwX~)fKlJj zb1)I-(f|vMxDo&RJ78Tu`95(2m4N)itz_0JgJL59$jX)OpM{a&OVB8Kim;Nf>VNp; z$!R`4lmJJy5WFP%f7<)bsHT^#Z$(fM0Tls}=CROw57mY!MMQcBF(5)H(xe0g6pvJC zLTFKtUInCAQP5DLv;aYZAPK!B1PJw=aJ=^(@B6;z`?J>LCs)=m|C!l)_U!uGI&7>F zU7Z4}&HR0pKNNtnsAiWpp1@c%f2;=p#+xdY=)7YYMD)8-6Wvn9T+ZBiI^@D6v0|$8 zl~wwYVioCX;GhNgiQ_DcFMX4%vectlyV3OW0qJ=xW4H^ zB`Y;~#~WgMs%w=ybbx88fplBod3h2e-|*_%6S#Jqod7$PF6xBG4A2q@5#AEQq}bsnDLP176^C;CbU;)Jjf+ znISBBxAYLR!r|f~^ThyD{temjEXD#D{Z~t=&_Oh&>tagsM7Xw8@B+*kl{PS{HjdmU-F2pY+f!5?|~&>W%(1XR^e_$fUVEH&8ac;8~v4V zbeRi8ta`FmLB)uAQ*PpwR#R^XsJU%Fpb=n9ZJI%{F<(Pj$Ti3peo3E&`^BoWx!a>N zV1kUg7}j8^>I><&hNl2g018S);?}`Y={H?fcYyI@ltlF|`^?kCYqD9mwQ7zPpxeKH zDAvDr4C)$DAO;{8sOp>PDLMxPD%-^FYVQ|*06*Z((ATmKuoee(&!d|`gl_TL z0r_WCB)2GD{2?OfNfD*p$MzS6CO)tqwVHR9znBL4f7W(fcRoeOPdsW4bwsf%D|*kL zak6K25zCQr6YCa|7m)a{9lth*VOEz4D@#ghIGy(RL0F@9vNk6#fb9ufq^i zAD>G1trHTBtsu;vpREv`-qZxn5sl|e+*dW*kh9^J5!l$CxATvTuy_#iPD1S*i08`i z#d9=n1n&R`*e>l#)StI-03k0S^j!u3Op~nYWtqJ3kPD4;fh&uFjtpG@nHi93j2HN- zIt|1=nZYCv|M`hu@0fT3hr3N&UDI0z=*dU=E%=Zis>sFJOC_-D?-KATglf8>X-VA4PhZLGXn5JGP( zFL4TvC%MtCQ*hO^^h}5@`EEWYli~59!*Ucj-;u6mVJQnv%1tF9gAV z(D6zq><|XrhuVtIzlQR6U5CZO2hV5tpB1(@G$o5J^5443^~sJ+RiQ1QMu?JSbS25O z72#0-c`lG`;I;(TWFV^PlcvjWWU?x^jb~U1xLr8D+Fb4Lp%Z9e1VJlIMz(Bq0n_4T z-V>;(ITdpf>JLJ!rxK%Lfp2Qi`zQY$dq^RS1j@9ES2^Z2o|U-^!!1OG(#vp?R)=|0 zP2Rl?@<6PusEoe6ioj-CF+*ebrJNvu^_~*es`VV)+@(Sng0_hoYn(OZ50Ac?CqoMk ziPVK>O-p}gCVSioyHOhnd{X+RJB09u&E&rnHbbbM+bnl)W%Hn!6D0Hqvv=Sw#UaT0 zre`GL;j--u zdC8^7mQPhjykBz-xT^UXg&aVukm^TAwWI+R0Q~9OTk%E2kY|e>c<@eoO^SgM&^N*) z=kZnVw+bEK@!8{%D78XWC%ep^t!_QR+PIWg(ZoX$o>`}3G;_*|iF<`VWni|?)kG3Z zTOEaB0!vc7V=+4-k+OkGAYC~U&dodiZ}p6ws-E3%$Q|^Ga>PR~oXUP!wRc z9chC6D7fS(U^mRCoqXc4ZfHGwkqK0QKUk{j0!w~5$`qFRJnkCr&F2iP+DuGa4EksG zLyJxzN864Cb)E3l#~&1o)i})H5|BO zOT5u@+&6EXGj-;!O8RD*H3Jzsaa`W(2)E};^4JmU1V4DnT8!%E1O47$kH0kP%+G7) zyhup{H`EP7HadrXsX1!0#8e}gL@qQj!K?ZUV+g&G6P*>OxGyz`+WxKZx zTgnp|pHa)9vz=$tH$l>vwxOz(!Eq|x^uKfpIlPCd=Fc$?lukIyfA`d9K^YL-bX|dQ z@H*&PbWgfcu4aXixR8_iDoG?F&DQSe12vEZ02NF^R_|>9%~yVneZZ&9B8bvgFg0nG zFV1Nv(&Y#6GPzCmI6;K8{uzT<4Yopb`Hq+Jqn|g;%iBrnc z=furwf738m2IgAx<8bjzF7`V$hN-L_&X*hl3i=#=vDX`WDI4(lWDf&W>;2sfc}yy_ClH6evLLq5cUVSO|EqO zJPLlpWOx@>d$^qd&wy`N+$|Pxk$Uf%Plf7dD}mIn7~UT6TB(yw4aKm7_8;)zop@(? zPlY$={L0`wCl1sE zzb`3=$piH)Re)LZ)k9X6ztbvct_Lmy$Qfj^gw_n*i-1U6K*&vp^L-D<%di63ImPnFfq#o}p9t4eOjyH) zU2;+r_AJcka^twu-b_c@WpVokt$x#(?M1QiMQuOIx9d7_`|RtYJDAieYOF%`3sn^W z4TE4jRZ?u46ly$Elym!44kOS5NGrk$vCkKErF7{W#^7>H;tgq=i19Ny-f@S!9!O_r zBP$p)K6N`$fmyo`Rm=i+$lTYT08R=Nf>e|!1FO@v$&{KgWqIFSjp3PSQ00JWGRIP$ z3`OaegZ%nQ(1u6rXgFjiy{p-kD(H0@@D-|gr#k{@^*t#~kZ;h%~Rm?T($%*o+%sOKGj;7DmY!LT{a|eH#+to|3fHK5x zrn6Tw2>Vt2j3Rh_GDr?#VGjak?d^Cz9U-ZL=P!deHBP#NMhy^vuHC4|=XFX`J=x?b z%e^3;%@t7lGjJ(!0RVs4H6AY1i9ekDVSu!{Warx?3glU`Y8PxKj|8~A_zFrM=(jKcj{(9LEFOE1NXPuZ30xq^OW2(z6Kh`03cJudryQRNg$UYm5xO}D?l2atpu-%Tue&-Q;w&X}O0^mpiXv9s)$XWL=#sY4AU zxlJyAQjO^CvPCyf9{P2oeo{+o&J6=db=;=dGmfpC zGH`j!N`oU3@(!piP}S9T(A1;S*{-fh>}UVfWvnSkul)XKGF7x^>r%;cqz5_bxsS7c z-dwpLVwo`ql{Xgp4rIL*g@1s(pzl{#D)`h?WNd2$YZ^SAmi%;r*R^#+?-~Pu+;CC` zrYiac=;ig(f_-~3X^6A0(v81+C{KQ1M6n=ZQn7iw=2vSpQNg*_rlhZO)t^ZZxP2C9k6ZEc~l|VS@b%2k|~$h}9j1LtcJ7npZ|kER}XV zrvtw&&;XPuN%WSfNie7E!_(v6L5ImQtqsm!v@+14(h8(-H%KgN8!cTa)3!Tii>ucQ zS8LD}dWJ+fBw2d9+qBDyoEFU$V`y>*83tdDM7i#VM5e{r2?grgSe|z9h zDz-Qhp^|ea3EDSB_1_4W7t{sMy)4?+o$+;7^QTd-&N7?t44gH6@0*-&LG2T?XS-}c zmh59&znPe^ka}u88egrC1uVlsMWQ|KmiNkD!-8^WgqP>;p-JcxLON$G3IU z6=efk_o5u{hFOBF>=%9cQw-rHrIqMpg-CE=+~!oytXq#-R~$3NCsyq{Rd=XP)%k;< z-)`3XtnDEG^|R7w*^Yw&DOD4R=l;BL{Z`}2yH@AKil3f3?cS_zp7=F$@9Ac}tXT2u zt9M>Ju+V%V|7Vqk&Wk$dfMIbHeWg@>EE_m`RScl}q8Hj1H1&>{z5L3SV1ey``59 z@ouzqDMr}82+9P=By6g-4xS6cLjBM-;6>=feyufq`JmTFRL7T*|9j!3?*6AK+`yDJxCd~pt%Cn~xxfPM{S z&&i4>!CeW?2Uu*4=#q}kpZB&*(SAlwXJ65~;jc@zRyXxASS^Pj;P|KIPJSy9*2)zD zk-dGg!NID1qSd3lby3cQ^rZm82c06}7Q|rZz>5~J=4!X*ZaQMyfRO_aIZs2D-Ez~T zkw2%CpZFCWe=vR9G%{y9Rp9LB0Y%)@a?;iX--9 z^9+X+9~}s$VEs(NV19Gpf|K=}8C*GtbEb&@T$D7{tP#^Uy1tX?e*oKKu7dQ%4Gg&= z=Em@H@Uf;Ax!G@GJe{yh?~q=B;s<+VXdRiv&G&dvJD=5~0<2fUjkTLd9+pGSE#L97 z{l3wNz)M?&);kaHI?R%b{et$kaLu@|vs$pWJp$lR?a(Je-Sd=LX2y`BxfH3_e))@K&jVuyCN6h?Y;qObR-t``DVn#2W+4ooV9Xq_`tkBl+D_ zK1#!MNY#jsS(L#XLBks%7+hZ!(GR6b8}`9`3N$xMDW(Be^hlMc93si+GORUwzPgY= zxIa~o1Aap~mMoM|Dg7uJ;;SQ^v*|}(hx@zbq!AD46=P*9HKiBG=zNxeO)}>Ar*e#7 z>&m9w+|t%z1yY+i^G*KCRS!l0E9ljw>{0u{IRtwNA+UX1sG z$)Zr}P7%qU-fe9~_rl<6i|d+1=S~E3;BsiZol2D9$RejVg3-OnF2_1Q5HNE(=ys25 z&WcuixC)Ai>T&H40V@QJP1eUH$uw>5t~Xn24Xk2Ej}#JWojfCE-iJ{fIj05)N-p0h z_w?0p@LJu#F3Aq^w||FUdA^D zl2UPLKFX`R)_&z)3j}lArqP_Y)KhzmA_B?T&GD$hNmIDT056g{$l0lFsX{C-wzy2D zTq)x8QR%pEmEuzKBWy)le(o@geW@GPe~89Z-a3ymks?2JxTSH?t5k4FHFz}OT@Iar zN|Z11$$r-x*Q6|ELU}E^D3y@=vm+0kVD+FIZj5AULCR0H-=KNNL40GzUt0Ub#9OoF zf@r}k_SV?$HbG6iJ|8hfU_6pmZY7fq)g@7`=>~1~u@}pY#MpV;W}2~m_POkpX1vQ$ zVyl<#I^5r1gxki;XB~fT39F!NW{bleA5yBAYwu{?DXDcKL)!F8<9b#D79TRED!zO0 z=ajNjzTz623ZV*73Z4;IAX1jJ2_(qlocYaF5m%QEhrjrw=*aLCnZ2Lz6gW-iOi zuu_YL13t0P@?vZ@TUY^sFNA5SqEDe!pPSpa${A1lJ;z4X(iPLhF{l-&Q&|^BjXdB4 zoN~PLp3v`U4vW^B_(evlMBRT4L}q}ZHvz+v&(#pHfvE37KP3Z*o*61}p6 z7(EyCfh9x2RGje-R0j+cU@>YlM_F1aCogQk4`5`_yr^dBarG73@AIL!&98f&7>@Tka@35m~70kZwwS4G_VF#MTpp7=(5hD&} z_1?ivMgH=cl|cv8#wdVFaB+Z4-B(m8OVN)G9+jCDnxqXfLJ+yy{L+1Aw5;n;_Bn&M zcyOyZ@;b2UrkJ$RN=EU`_2xbJ=m$x8>k%=bv9+pdorPSAty=W3{aH{IvL-PP_1CFh z5XWh`K5pYw++mrYo!vL7kw&xJ^<&roFd5U z=BGeFgUA~*#Unl=F@E3HzLx`yr0!Fv)mr%r!|3_|hvKYnSK+*4EaxsiIS?!d1dm*z zKfZC!aw%mqs%Ocwi&22kjidDVEDqo7sE<6~CtC^g;sFj`f=`i(ihuk} zm+UeLxwp;nTqvrr2_I03uKd#AwV;Mheb|WswOvE+!zmgyEqrs|O1L^n;SZYUwykK= zz8GUvlBy!xUN=mfl-9MC&#ilvg4#qC_HMbg_s-m7PCH~yj|0e7ge_NJVg6>X`IPJtbF<)8 z#Hs6=J{$JzlO;R&BYg7lsck)Y`$u7#3ufXZ(kH8C6P@LE#ZZS3#+mM+0XtC4BF>!- z9MxIJVT!In1AD|vq)^^%oA61H>c)FXz?_#@X{LH5>Uhv5Rk?bYuFgAa*dDE z7)fJB@|EOJpPe-S0p!lSL#`hW-|1yy^D$R_u#vk z0dFFxEOD$i6GWE;8?-+Rg-`&JD$F|GbXYUuiixIw+}R7 zLkc5^MmuU`2s&09VTes#Pf^C##&VRrF4ll~d@l_o7Y>y0m2UZV-9GhhB2|V*0kkX0 zE$Wr9v(!gPU1`g)Q_bb~Jxlu&k}{LO^DQRO(-UAOR*I!g3I{K#H>PgoD3LFsX<=H% z_^H-0N?<^5e1?oimkL<(!oc*s<~eoqC(^#ypX;XE9#_7KkkYtP!CQCvNsAmUtpdAn z?vZPxcjqAlNWjMOG?;z0pQ6_jBkiY+o0$?1qV#W)J&KiCKrNrkY<<4FZiLQT5(tAW zYTKzab~fo=`_a_L*ZEqM5f+8)%Nwr5(xd`S*i8g2+_+Oh@&_WLGP@~Vcot_^+x!i{ z94j}!*+ol|_TqrDb>sWPIc2?4UCSjBHf>7~;&9U@XQ}em-saaX%bCR#o$_gP}F@ za;2Aal~+Cv?x0gm$#rIYEtFZ~W%iNInavKeC>`X zX!X`G@k~76M@>WY^hYKUcj$p~0sl*EAn{=CqC@`DlpA+Edd@H2E^nS*Rki1CGc`u( z&MmI%5?(I9SreU`;edl?z07R5VwBKI@>*!}QktqEtIt{w-*eqQ`<(cpOu+w-=ok{$ z97WhaPq&HPOy2Wp_h{)-1+lhU9pc=5J&WsZjevi&uB!jFCkKGRA}4r9)zvwGNlz8i zB)~c3{Kz@JVT4mpc=Cr`jXkgYaa zP$N{(iWrx48hWigu_`H1F19C;r2^0TJgr(*e|VHDSf~F&2a#)8bXU0AW^bcIjcv+K zzdfjy-%xHGX`x1F>VLV&2#Xk$tPq`9+j0KTJfhFx$&JGb`scG!Iwj-%KTQ1@tPVLI zq_<`x$^#})auF)yDNPk9H4L;<1=e=Vk|lmrDu}X+?N@1oEf$*6M$EcFh=h^Zr7Js8 zC&!%!6_NBn8=s_s7QWBqVyhSM2VElWu5AjVZ0&rMjpLeO!J}NF{v+&rKqKs^7ehY3 z^YiW3>-&dOb?ID7t*GPHAK+QtH}0sCZV{BrELtIMNrGS4js?u>BZW|e+S{+RbURn` zWKT|CcxhxkV`;_2AZ67MP_j^?@wssczNA`c9=1P6k^1E)9-@(QSN}8Rf#560j=C|G zn?S?C5OsI(9<#Fpb0_)ywNJ0mT%uARQ(v^44?ccycd)w2tHEUUwjW&*TGX;KW$&*S z|2_EglEl9D{Tushr4j<*;$C6R?E>Q2#_Zg|p6zT6P&4HZvVS9y8j!{WUE0NyH+XeZ`|rWrfAuSkf3ox0GExcq(EvQQeDG$oSOlBRQrD3S_fX82~eW0bf7j# zovHvUoT8&ui1~Oo_Aj&P*GY46fX`^$fZU{`@~DtopN>2$Xb6LUocC>hTG*PR=|19^ z3-d(EHJQ`Q{7AKpl+G@>pFFZPN>Hs&q|d)Z)q}2ps>->MI3~#)`E4O`e1Kym%{ck~KC*`aaBRRy)Ndoh_|LUK8l)0``+SiWU{1@ps=s8zzv%7+ zJY5!?*^K*K@vk+xfzO8u-{m;}_b)9{zZA%UI{0hUK99>$Z;_xWmP(X={~nwO$Znid zasJ=Gfd3p82W#3m|LV$bN0I@KWHAwO`nMx72cO5rRq_6PW-;+uNfV=u5=^fXpznJv*DSoZ~Oe8o5oAA3g{%ftj zt?RfoAm9d6o}{jhcW*<3DyNtZ>-^&(o*3c{E~Zsj=XYAu{Ec<~YaK0LfztcjD3kd6b@_di zO$%UvLt+-D7ykdJaZW-8Fu{{wg{uD$>O literal 0 HcmV?d00001 diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/task.png b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/task.png new file mode 100644 index 0000000000000000000000000000000000000000..10330d8e8fd9320a8e2ceedf43c45cb24294a5a2 GIT binary patch literal 292640 zcmeFYV|bliw>BKJLDSf5Y}>XP+qTo#Zo|fDY@2Ot+eTwM@0I)6@7~Y-?ECxw{dm{0 z(slL1oNJCb=NRXCjpQa3vPP z!U~eY!h{NrcBU5ACLkaZ;fcx6D$0xKA>-|bL^)(Zh&k+sw0;T5ng>&YDnclP37FuZ zJry5fHq;e9g5sbHpyI-hhJ+d7pn7Ey1_m%8qKk;`>gaz=_xRJ^xHiUR@ri`@T$ zD3rUHfFPG=!j>5ekI*NQfdrA?vhOJdi93);&m5K&y^L!^Zuoc!ArvGE<7I3@yF=uS zYM^Y4h(aQ}V@CQGM}A|+8E?YLnXZB*e_}Fq&KF><_}T2@%>(ysxrT{snl{vgRLlNM2@8VpP7oxZo$cnzp4TCf;H>j{!`auqY47{N`V zp-U1Oc-)77X*WB19K6j;eChUqv|e0FuPXvsT;pVZxe6Znk-q3qv*zwiu>ON{vgY9@ zuAK(0qG^*gAOEx-`uJFMLiwnm?!b@w%^GHzeTWcwW@JC)E>P{3-z=bU-Q(jw7GSJ$ z%&XPoQj>(uh}om$&ET8A)E>C9xgvtdtjrhBZ}Qq);tSQ4GFJ=9f~>4Z#l~i(hC||k zY`F7Ws-KSZ$f$tC*+Fhx(p8A0bEBoTNn`FDQi4z^Ky!70q<~55L#O-UoP%``A_w_X zAS3OOv={i(5JGwAQ>sHo2*55tH2A|+;T(h4Z@_RsrT((8$JYj%?~=90;DJ(_K++8~ zIR6+Wh#V9+fDEY=>P$p309F%-83(-s4=ManfhPeXUr0y-j5c^qfJ}i>1@t8NC|fV* z%K?uw}khALPk*t33?!Y( z7@!%+88H~$7++Fi)oGGKSbuRDfmdBDI3J@NdmhVKlQiHh2cC4tY}j+Sq(hG3VT5dN zINFOg;Wc$PIW=iD`K*w);p$@8h2C|OZv@}Z-ZMQDJ!?GEK1)Ai3VzcUu_p`q=pNJ? z6dm*u#P%COh~FTpNQ8x`$+JP@8pg%Qbb&DyN^E~xl{f(9s;jVyHveP(WEENGX0A7ZKb3Rnewg>idX}@4xk!5QW&-WNc9ysBDWXEiY>N4C z_ge0;DlQnzs}r6b&@?$z=|?4=M&1Uy7A;@6iz#6SaKoo?jr{E(ZF*eDpW z54kM4Ct^BcxqYAes{5>>)1skeW@HvVLw>&bEH5)ykXaBZQ!0CwVlawnie<_@YMa`< z7qe%vm$=7HqYqCG@82sInW>SYL0218TVl4_NUFg^>qPs9)~nq7%dan`<*DUs>NuL@ z>UIsMHLteY=J6J_>wDGZH8$BNmdk9*ZmxT-+O1Np+_%PF{7-1Nw6}J6G`RPOt+@Cc zO1Q$f^IWbRK2DCVDBP?Z2wXT^t+gAn^8AW!*rM!cFAaTg*tq#T+Mq;_)agw zqf@lqCvnSN*71wai%({E&3{^*R_@fqW*U z(0A(k+Q61JTw#O+%>_*dfBbR6`V_BSSHx zuZGe_`3`dq!&?=-Rz2`rS}69gjIhw3#P%M?R@oZ)CmE|LF4lPBJsz$qM&?tpINwIV zf+5o(`{NlTt0hCfcR2p$m`(p??CPj`$&lQ;I`(z+YRhI9;d1pM|2diRlroCBR#Ibd{$}My z&A0jm7~TZ}B~A-Fm(5B&Y^!9`;hO3AXnnp^K4kt^EujV$n|wRkwMT>H02{R-+#y#x za@%C<Ya9AJQ>}(;pyWRaThsM?QAq+8${Q!{cNZmYpytro6Cv5v2V}wIk(^1 zOcVExsbf)RJGRMVO~Qo~Cll9uNxlBlZY0>x6~i3Ep3cCf=KdU1LQ?K59B*!9`%JtyqW z_ez^9AN3-2V-e6^im%OPai-bHUoRj3Jle0=ziC}8U%35QFYT;+*f`HIBK6)`>@SNo z%I(dX;h*&}^*((>dD`7oUsGF|zqB)5U+RGV>dTbL%15^q#u={!68wRK4ARey6(sKC zi9mDsL1?qGr{`35v7MhJ*jsoZ%UvEP=!9PrtVWL|^oIFULOL0Vj}VHe2k63@E?YtU zS)N=L1I=aclwYm`+rdqpMkT~s6(z!(@cP@eK5;4dec>C1HXoGNDM_FN0A3?Z)Fn-2 zWkINbV;B$!P;3xL;0P4>;{(O{?_)7g3J~zW&Vzw~gj#?={MS8lz~}ob4)}Y2=3k%S z-$Ov4f&ZZZf9}~}|MzYP$87Nbdkl^WTmunQ7M7F*K9!9eO-yW^%Vqz606H95DMElnh>(lG0-s(^T81k67o12n{p|M zi2c{&!2fuO&7Ga?x#;QL+}!BgnCa{s&FC39IXUSWnCO|9Xn{Luojh!v4cuvMok;%G z$p39e#Kg(S(Zb%@!p@fPyW>?`h(0@jpG;I{nwMfC19KU!iBD zW1#=kpJ^F8# z{_{~)Clg0uI~$-+XTJZLum9@z-!J~xgFN)_L;p8Z{L9XNodpcd2ggJI-;>4%=O{H~ z0L&wl8coi2u+g(2HLva(3J{5qPiZKX(hXI|hnE z_)qV1WH3}m9^>oz%11N#5NPQow>0~c}r zhRl-xXh%OG#QpzmyuZ%4!+^qZ;xj2&fBq-?g1{;aY~udoKnX#Shy;lGg`pxwN&m?Z zgh0FL;Qu&K(hVXAiXHa>f$AUsd>xonr+*&E|C`kRvCIFP)c-&1R0ReIM@PqBfHz>jQCr`JKlYB>`}A|69wP^eLBy0yPg4vmN#H!vU}DIuW{Am{8{2LS;g zvH3f=yn_zufB6Y3z94v z)%7G#we$;<$q?$paqaj{dE?sm$D2Q;5*a-`A}+X7-NwoQL8C)p1xMe-~l^{KG z|KYov$N-OH%SmI63M`9Sm~>vRFH_UgiRQJQHc5@Aj-I_L+%Mq!AgM(7N zr79fP7`8xW^53G0cRDaL1X&=*e6aUm{(t5xsjm!SIIQN%z5&fqo}~d%Q}X6$Ry7q> z1XpC`{^@Dm*!Z~@LvLW1zLRF0_b&Yd0iU+$u^*OF)27*SgN;&+v82Ux0RkkR zUW&>w$=@6_Dl#xyNQlg2GEfwIKL1Dz`k}RUFO$2|)uATLj~wT}VG$5iO?w$=L;RF$ zO=T&S^1>#eWHWg*!a3ym9`blz@3)6GIL=~_!wHdpshORwG}kz6_u&M{d3(3bl&Z;x zi_++1CS&Wx|2=LjNC7dbe8(LZu(1}3UzOw04CP|IRkHP3o5uI}_(Xq39*5t*e?x3Z zJ>8xpBFQ~m?vAFSzP&!3Np%To&R&i4S4KtOaCP{;`6Sx1nvLPQ$R0!I!1!?A?z-K`N&I8whL@n!j{19p#lFCVHh_r*1xXety1WzEq-0VsV4bG8IAE zQoR**7LGK|+ugeFa5oY^&DY24Z|rOC!cYs10+C{XEZ~A7QFUK@sjFyM&R@BdSzD zx8FkMK=STzvh>^QOJev%VU|w`m5K&DYGRFkO;kc@BDLDkHxh9bZpFi)ja=m%AxJo` zxq#i*zxB5f2$=VNBfEB(bfXwzEQ_B$6cJBpx05JLpzD`c3I@CFin?ZA` zG)z#9-X8ngKn1{TWdXx#AtB+2gLO!6T<#7JwYl$)Wk?4$z5FniMF#Ps?`1* zs^yxjt5XLtmeAwEf5&edobPC7OuagvbmJ3*!Y1rquU4ZiS_%e9FkDCj8(kuozYqoAOuES>{D+VB~hL| zJ+1RUU}jq&(Bm1V_-z0L&-eGJl;9qiKzZNW^#m1w_*4F9zOquOP+_r{a5{1MVT#C!+=4PpcJ~6U92&I*Dms7bQsU% zP2@)+cGMR+min|+Rz{O(3n>Vl-i0_@j+_%nrGxA&l}M$!k-lPJTaECym9qi=zD0gh z)W(u-Kta&ywiW%<)IW$kQVwGie6UHls!%OWLb2cQ51bc`M0W{9f18F#p}RYr7Js-A z7_gYi3zrVY1&4v*3LDXAaW39+JKqo_JLu|!R+N?yq*klIg~S7Ac>Vl02u)80AZuyp zq*Y>2HzNDnV-2*?8iQ^qvXC;(dMV^x6fCS_rC=`SgY2K$`ntzM5*X4CU5y2LojxTc zs6n_QzfkiI8QMJAY*#3*_Q%x@&EI1-5Wk9Cb8IAD91}m*<$q`<_?u1R{I&rK;each z84e+_@dm5i>?m4OTdVqrDgrICPKZ+Id^kmg2J?}Wf&d>6uY4pj!vz003{;S6AzLue z_-Lkh=os_FH8d;-=#X0QJ)8{TVo%DRqX>ys0*In?Y8TZRml50@@o&Dso*wW8D^@%U z*eK`bU}5NjLr6+~aeR>A+W_Q%X|q#sfdfPI2?z{aWqK4tdaW|(HXcf#y!=zyS>m`s zfpAI(4}s^7kYn8}$N>N0gG#Ywm}^92q)|{z>j(5@!N2W7L_)x%pvWF@DCZ_%Ve0XQIlge_p(fOMl2 zLg5vAl3ik75CU-|ax>iM+{|CW??@SqN+s@hFuWIJf!q35wKdT0`vL$4Q6;bm*afP6prt2e6_Q zh_f`ER#(b(92gGwXcbBonE(vw?Y`()D?3!Ez8E~}upy6&UJR3iiJX%4KFQ|&rS4Fq z(lAO)l1hzQF;#@Xg^&dHC@m3@Ae6$DMdu~n!5Y=S4RFH~u&efXx*92HED^}n*7ddX zVzp7|rLN#L0X}?FQa^}{Z~^aJ?(NJo+dn`HQv31m{er#s3-TkG5LBMnFCjfw zJXXrmvV@6FY`55ExuF;pH*bqD0-UVEAoCA3`wRcub1l!qPW-8d%0_5Nh!lXs>+IHbJ=O`a`=>`E%S~8}`aWRsc{g33t?TJ}?4s?y z8J%#hIK0)GjZ;-4;&WlzrI3n?ic0p!;3ZNzuC}-&dek?%<27$%R>}Tt!1}bn#Ll5? zzmjg4K*(kBmG|J>uayDlYjr`d!&_r@0>@hg`D>ukT!*J{tmE1{`T@Acpx0S@VGn{` zDpZj`h~w@-q2L58EUcnxzh=E983GPl!p4SvrCiok!G*EjzelgOwD&-QuXh^*5rxtf z?d9s)fMQR$MoLCj3@46k^-hhNJYr*G)eK|UQ!#LY4GjUNM4fN9-Vrg}+CZsW}>({6!5E(GPeuJh^2N1k85Y6c0Kg%k4Us~U`BqKj6w0Hw3 z7mOeSKo63G-^miQrz>>0Ehe)4ncC<8*gb!ffk*r|_wGgxOy;V1*a-`H6tE_?# z_AB{2BLX5riIVDLfF>Za=gAX2 zLRkn>P{vGcBHMo0tEb4(DN-P6t=Of8HZwIXnOc#c7lNb?)9Yv|3BP zi5b9kKM+_D43Y!zCP$;UOF-57zYk3A-JpkI9)D4xl@)EYueDb5bh}nyNVs`QzuGX# z^1eX@rdf;0F0i4K%V(mxcWXD<3+|0)(F6Fs>O@4>88sz)3d_9<6AO%(Cx{T$umYF~ zc|!C@%Y0^fY)jXF7bv?%-y>x$sDYD27dDvLc&2JW9e@SZzz~V;_04hd@hhSt9h4ES z4D%o!9v(EDEKk!yK{!aZ0G~s`0QilOSAP5ByqlU*wz9%+DBR7*%KYS-?VC_Q<5m1P-COg1jA-afn%>)Znbi13M2`*s4DfdT=l?&CJY751@q~Re()4 zGs-*~iN{S4*Wx;_<5ui=0SFb)bWL;^gRn4FxPA#H9xK3!Guz^-l> z#_i{(BnXMFYKU}~ZS5MVs+p!YP*?&6g$N6aJZ*_C6tJ<>*bpn_0miruJCt)Dz@xYM zMlA{>k%Q2qBy@(HAtfrA}*UCJdNlT@@xB1*k%rarn(YX1q;Y+M|U zlYMg!2j$%I-7KE&i=6T#_Io2(lJfFu-`LM_{5=@wW-D~G@~`U5Cxw3WPqi)FkZ>FJ zz&u>^6PN(#Y^vT$jS?7}V|7ed$JeKs^biA<=Zva4>qRBl_;Wm=L&pU7!f$mh+Rf|$ zR^WU8GW(s5`S-3<_uURkJXK1svflDwTkkdrjgNxx4h15@I+oS#j4UjnA?Uk{j&U4A zwnGlzK0B-YU}&KIp;kSNvuSWwi2)+h^N8{Xk4Md;|Ahkpkl+f4bnRzHMr3v`SOBSk zb^oLPT$O<^V6A8rmk&-E0WlaK*jfd^AZ5B1*~j`?)Y_CxEG{pACH=F$dQ^MA8zP;T zfO6;le8+J9YYgx`vTz(-7j$3%&sXG3nU^Zi<{t(Qs1d)|tmb6$)8ADhKwwI7-GU0d z-HN0iy1&?-MT&|gs&lB01(8Z5Cnqn>0)j;GgI=XB?;*e~BWC=w!N*XYkGDs1CA*Sg zIiC77V#~A8>lcrn*7Jq73p`ux+mTT0Z@u&4wgclMbZ#|(S@Cu~SiA@z2C43g<1=BP z58;QA3Ked$m@P@9vePM$!CLD=pCQC*J_Vu#^;zdzN87_*8k6}1q3Y@CfUUL(I4Gtk zNg}dpg+lbn#;-ss>~a994dG&SC;*U9|IiU<0q`K_E?|4M>D#`Ux3LR9J#uu~ofRw6 z`DoR~Huj^m2Zj>jDRFjp3J@GUpU|6KA8J%N6h})&E1C11MeYzy))D z2cK}Hh64V~9S(@JnM_L7h2o!@9CsrkIwWOfRoP1bsS)`;xa&`W&!n;;rN7$*z8 z>v+!Vy9x;4@5ISm@nMo!9%8@^xr~Q++Lt2dha6eMW6-H&eexDN|IuXzei-~Nbpl)* zjtifs&zcLiDb=qTXP>Qetct>NFZI@!$7<61-9>RWcn0^b3IvIyt(!@P4+)|ZbmO%r z`{nNC-k}(d1G|*wop>oJt;9lD6WYH^TkT$r)&QqmP5HfXQ*$d)>3MTR340 zUQKK#XS4BVNVwzm(aPg?(QFsk0?FiA-b#s6uDds14>ggU30;3WbN-xjJzXglkq_f6 z!i3@ne0&EB$$}b6RfZq4ZTk4JOyW%JT4Gu66|JTEgXc~DNmgxsTvnFolN0$F*+$gE zL3`Z-GvI2K0f(9Lv)hJLAKc$+z5=$5pKy(^1>}_-*$Dtag;Js26KG_~e`bn>v(Rwv z(PxN?zCdC9jDMC2pq-KO@x6-WmzJoOMiAJ= zc$>;q<&pxJ&uoq3?B$Sq@o~(`QI*-6y|JhLCMW2wb9}{i<#ZP!os*y)7q3+uj5ID5 zBskq$;64e$n#}(7*+WuVT6q#23S3QOhmiGM&Q{$KjF7OmXBdsN3D)-OA5CEt4nZQI zW8lIEm`=n`s;<5JnfywtHMFoHNg0_0fI~}4Nkw!CmjFjn6aEYl<5+D4f60OZx?p1+ z4r0z@5&mCyr^2^A=)H!mRBDde-1F}f^Aulc?Y+%|Yxi@Ja*Wj^yY>O?`Qm|60OS_A z3t?IOel*_q4jw2aRV)!EzLuxgl8KfsULHeKFUlYaQD zbJ^Nh?s}jw|MpX^Y+X`XTZSL?UT!0^@f)zbUIFwK%Ips;F24jM;YZXdJ_QSMK<-I| z6A#97_aJ-$&+ow^(+AgQ=P?F=?NpE(PL?k{ z#YKs(AZUkCapwqDks7NT^KF#`6lDT{G@C4hpwuwgGEBr^glpDIb&~qJ-iK3UyI%wA zC=(E4!^0IPv9C|6z{;SH;W~2xv6(t|7539-2>=}PWY4axi-`0H8mF<_WipBJxt*q$ zKtL0rWeoxwrda7B7!K{y2lJQ+Hm-{nLfd0I{qoY+p=Kr~l+&~C84f^xHJPu_`AZg+$O!N=3InOy zTUnWRg0Wt1koCMi$mx3k#8-@zV@C%9Fo4ItK0inq^LpP`p{OhF!u>>q#Jj_yZU}Pcj<5m2Lwk3}F8x`3-H`(vyfEE5Y_YlXepooT?|Qy3szSoT?L}^D(}_m? zF_c8mlxp`Q1%-vu0N2a=`gAMhELzW@f}5+Cco)U#B?MLg)AZQqvA+;&+`oY2lBSZU zVsY4D+lo5Zc8yz|Z8&#mqqSo^1l1guNcoy$pj2R*kWj9y7NPc`?hu9ZiD@UnRSrfO zqdvF1HG)fg@7E1b z&U)5esQr~%vwR5ve`*`)$UHqKRpLHhTje1^MJ{#^qPM_evd! z4)~#RQJiv_I%9Z5gwiX;Xd1hkY7rpSiM}Baq_RLG;U@rMJH>ip=j)?1K>NQI-DS?J z-mB+ma}FhSV`61lU=pzd(fMl(kdmpK+NL;gUt6f@CDlg&Ra@uS?sL-}hWgy@sQL9R zO~rCntP$sr7(()}nHAJ;n?IJ4E!eG*NkkoE)()zIH~+ zbDEup@9r_y;?)W1U^=&S##0jBWf=v=Cu#$?+xVk9grwi1uOIVVy&wJOl5RY1AMZ@6 zFF~hv;^|*?40@@LNDLxRN@=d0A)7cb=|iy(YeiAbU@bX|SjTwaR4G|df# z?CF!tFw10a8P%X39ql*G@}=GV)4%Bbu$B6zw7Jz=&iAT$ipI%tBG1X=+kmU{gGR0X zEvEpT{{$N?tv+F6Y*nR1-{8cnrd(QZ#7$T$_A~k5uOG_012y@M7ZMEy^`~c3vsO~- z>s~X@;$&P}=rDPQ>v9QYqF1}tOLVn`U2PRBe1gRIxS!oegCRZuy8%<;yixv>-?*%p zScvs{hYnVe?Lw8H{dUatj}Qc$k~DtIVq$D)wBn|Fe9*kpY$lYwp)!ry1PXz5w7V>5 zjQYY^WM_p29!^e;M8-;hUp~qJbM?*ToEzZiuSSFD-~DJIMpii*A6!CI%vWZTl>gwz zJFB_T3Yq4f-X8R4eP5D)Rdah1;HRTe_hhzk; z)9I;t>&>s>>iyg?sKRR0|68Wz)K@p|{Pk{di0E$M+fII;Ydq7p`n>HGk=*6<`l%J~ zy1N$I&u^rHCtRA|*imme8q>!8mKlaid2f$H!Tout>&@}<{_aWb4p_u&-><~@BeI?_ZfZWfWUw>|LuZ0DX0SGg2T$#*y z)|9a7B3&!dwah{38QZVqVG5I4zn@mg9qj%T>iuY`p5-oF^AwSD)~wOYC)i!zPu&A; zdOZ}cH&51hVApunm1Zt}8o8pv?pG9&vmN8qc$oO=Xt;_!ylh}ResuR?=BNAZ&?MS$ zlr>rwhT}W5w93My6OYFuF@@}5P1@7*rkxWjX|n7vLJ@dgxqOtaaT~f5+YhRz=BCvo z%KtrD$VaqfHrstSe0ZW&-rhs|wCzdT`9n#cGNzFwj2aF|fuw^8kHcf2`j;*#15Tn( zb`_x8Du;%7Ix1!AiW^yz1+qA3!OE?!Hi=@&3MV@*tC3wMqa+|gV`CZICcgq8OSrId zIaaKqXefU1H~Q-^aK>lwxm+0xy(mTt@7<_ zWrKxp;Q3RFD+yRu;$=00_8gCVhk_ssr~6Qrx4fN>wJJ)B)Kz82?CR+N&T^`7h}5xk z<+>v+CQ~KWg4&}vij|aB)p^HkDO+1XDW&+4Pu)IA47cQ zuIM|esdz`wuJBGo6P8o^2^zErN0!~BgVLR_yy^z3UL9X2ezk=z-C*N$(RRLw4$YRE z&3m|4nSBCkn-;hG=d=VtOu`jys90H5^VR>#ESUIPzT+X2w5BGGL{q^lL+Y-_feK_0 z+s+qP)%p(~IRTuFGWKa4-#bs4mmhkGV;ZO2aICCmR?wm#nG5FO|Sg4o;!e|RztwR!?GDs#(#ZYxgFhS@{zeX~u9_)w8@mMouY8UzHkdbrQKCuarf$Hi~(aO{^hKz(Wn_R=?h@4)M4>ULTf#p}c%=Gui<3 z^U}6zg+n+>wf8KWP{zB0uJuy{_UwShD@R&?Ix^Q}y^{aPmVN-C2otp!tLX~?LzMtk zFRJnSNxLhsV#25%S_KnqryaoOJc@mm;&N@RZ+<#3`P^%E^{PhZ3yo!-eI86=*L78` z^=7Jv+ZwHD_2ST;7~nTQAGNrf*N&VjOXpoDDyzhtnK$K6fBriBw3Z%Mdl+nHyl$s_ ziN7^5Pn6p17BAoFe8B0!H2y9QI`u`+)&~g0d|^88@&~8-3ipj2kge4M5ZmksH|lJb zzwkOB!NPtcPBp;7K&cAq0&apN9s_tL9iTtx*M*Qx@R(*eeI5{3t| z!Oa01ICyxpyLD0&sNTHh3gzZhQZyuZeF>7~XoXG#6=Z>>QZrTk5SdgBDnA`0NO+z} zA&GWC7Du=?sf30xJBVNN^ZHF+$gk(t79K5-3Khn1Gs#0l>9NW8yZAI#>dUDpZ5Pze z*r`4ymMY8V4<^9DCtpF|TA2*84?9O^^vokUlzvkuo**yfNuev00ef zvfJJXz3VXc3SXP0-M`0#;kd7FgnZziXA$?gUuChF5)oAt81N@RoHq3KC|H=g+w2Y< zPM}oY0RV9F>1wOA1CEsUlB)^+t`ry`e5&{g$2kU5bO7m3w0dYpXkvyB6T?<$BtQzu zQAOK{Hi1j-c((WGh&RR-kC^ReNbGZA89g=GQg9<-5UvVXszz(7Ev#c+?~TM_`7*t< zoptF=i!?E7PNj@Wookkk`WOKZVQVKg`IFC^hULnepQ0VEw4Eh&qXm65A2$8@)<9>M zp4rv#_>ljh@7}ucbvv05qExZj^L_N>_EklcyM9U!&t1e9yg~Xi%NuO=b{w(T@5f~D zc8jLg!R&CH1tYD$OlBwi`xI8{5Q)Wrw0ttt$G+SlI%9mL^w@G;hiQktwGEyeUfD>j zvGg+r47uY~)w^1AbLOcp+iMS5Du)Y;RYwKu2Ujr;1cN>&wTW(wWIKNK&CM{?Woz)2 zk_w@69`dESBsKJ3FV$+UYGZp-!i+fxo2=X{ZWoQawO#>!0_ZR1Rqgeq3_0(VLMrRG zEQSbfo)iQW6qT?hk8Hm@;3M6)Ps-!FL|;6QiVKY|cLtdZenTA2mL@06Ty{0P(}Tir zosap)jse9TCO}?V38)+(+XM19nE^4$h`i67UwG_eO{voVT;l)4mMj++lQchTg~&H; zUXafw3`&>oj~!gut8R%FSIt`fQgC3~xYNf508-LD4O#@rQtU)ue?kpFZqxEkpu^)O zzFKBw#fk>^&jSc4nPraz8R9O#+u9v;!Ru$rN?toQxW4o_Cji6#Sa10@$g~}X7~ypV zUhHbt*(Td`Q=bHt!S*06`Erg|t4MN6vD4FW9g6Iqc>8IA`w(fT#WiD=&9Vcp`wC-bD}KteF35;{dc$SoUZf z_Ah(Af`Wok9T!U)8%r_m*Hh9=KF{tC_uH}gzHhHXR)h7l8?$f$T@P3LWI)wJT)~f& z6bhgQE553V!D7B5<8o0bpZYn&0IfCv6K`Le*=B3M=A@lH-N})}tT+BlGnS8tsPT>s z+d_W_xuPac0Px;st|t?=soVz*Rn9l5->Vef_NG>%Z4OgEerH(s6yD%nx5Q_$v)qae z&%Z5tlejK2lR0*{DhSk68GAIt@ANR~aN7&QO$dIb$^ws5k% zq;B6XhNHKyI>Wr4gcAeOe0kTs*a0bTjkiO0o;y#{1W4N)DN}zbQor**j*N-(r+*GYRm>@UcMu})+!$}AHU_Fj&4Q~UMFwOFP2 zy8w&WkSb98L&n0A@VlB_2KI#VXi2e~)M<>S@V3C(8INpZ0}4%EwV5OH-MT-V-jeDy ze;BnxTA2@Vyfh+=Ho?e2=`F1EB`a#LE~k^_v%O3?fjK@Y<$%r1XA zxJh=+4)HQ}N5)imM^Kjj$XPs3nzbxvu&yh=-BlbvJ}a;O`PuTNpEJDVG5%DJ3ui;G z)^$gr_ro{Vhh#KisDa6yp661#wo0FI0gLm#C-${8F9SJT#MaVI7Voo9PKBGU|CQvO z(Q0)Pgg0PGKoozR0q9hM9pp%)ff(Ey&WZ@piGN~Hn+rOscPHP&&L@xUX!f084Ba@O zo=p-cT!8CPwDuo{-La%(M|K8^l*)kYeQ$8d7eFsc0AQ{1gu_D^$9}*$xkO88Xu9n3 z?m2wI^ax8XftOSOx0QTkbY36Fa{!~KyZGu={-W_MDpyJym#a#nLG;_*kDxV& z!c$je_J$_PQ$W=@t@gx0{=w8KYt%j}g?ZHAns(~ygp*|Xd9$#-M6nNDSqKpVH|&Ea zyf;4=dByCqwP!mUdaa=q+)t+{+76U&;GfLH+&!fkN837=xn9Ds+qW+(^k&F(&+nA% z1oJSIz@ljZE1p;VTKGd-bQCh=5d0i*aAJ7%com8`1U4EulnBq0=V`mXKO}vrX)6E# zUYrkLY4*&ZDHz>lm_HG0h#jQg|h&35+nurfEVFz8tyQ!MVYQyp|OklQdKN3WdvJ(ryQz3WsR}L zI9e)2M;vCwYdI}{6x*RG89b$X3r5La_boirMl1B*u8kb+`&4qDexNui40&6O%ZbHy z4@s3TOO>Aa%&ywnc7I>~v@?RZ{X4l5hI0>7Z9+<|aZ*ZsxwZ@-T)4U%YImp?{BLAv zX$=f5t5{br+I{$mnr7DlOHwL(mi$KkYo@JpX-{Q~E{>m|*E>vNld#pMdhl0vY~C}N z%VD1Oz5uJvohoFrS<15wo2%5L2NVtpR;xJ`b|D6I(QAYf#cJm!Xrwx5_ODBI7ED04 z>~Ov^tL^cqv?Qt>+AUPp4a^@X0~rL05>)|%g=7E~ZK{n&K&>c>3*kZ4(vMGF+z$!M z^>7@mow$D{N>QnlM1)wuCnRV`3(69SZV_$5lCwr;h2$>V-G(k$sa=YH8mi9k+Km*@*36u zkbQsSIcJ=_YPm!sBKJBZ*0?!;d6-;rCs=#)3HKVlUszoj9Em(3Xd?sgUS(@CWvwNk z2&xch^Ho*adX?OCXkmZlkaKJ0#fhPt=d%jD;kUX?U!JMfNw%_B6I7Ks`E8>Ml*7j) zBNP?7?3X0fW+Wz(0pjtO4)(AvK{BemvW*bvzTWfBV&%e^gsCB_ON)lW=qk5*H$cs0 zG9ExaoGVXj10;GWmFo)p8ul1s`<;Q0Xg_ML7nyEwz~rs1%LFC_gAiW}e$k})PUDKM zH1GR&4h)5!GF#|cIKkIBw^8A7NzVX<5<=ad*|I{QvB@{2h{&ZQCDhABKc{G_EZUEz zb$R!td6+oprs`HBb2L#zx@5><4+f%A@ ze)~D4Y7OaPR>M3M+v!YvF2sOiDk5?~GACV|6dgNRHLBUg+y6`zucOTUqpf;YYKHw` z2VOZ8XVuksQAy*$Z*MfOb_Vx4uBYR&VC>6Pscd2n8`+LAZ6$EnIsKtfiGAdXTYCVj^LT^s7C+3hPIHQ^A1_o3>+41hDTnn4 zrlLxPl3YTm>YeAcw3)VvT^Y(_>#Uno+YWf$9OWySe3nb6P%U8ynq?PTd({Q%zQ4ST z0_EeTqu4-#D;~&}QH|5*MgPXc3P5~2T^wKfVa8GKQcHT*DO{o3vNJMF@fJcMJ5jt; zADR@fy+32+@ieGIw4*)TPFxy_h!RFtkmLu2@Sf?DJ^9(dx!rd=lY}aHoU1B1t)YMh zH=ARv!`6A*X8e3#KG`h`%Sp~w5pPoDo?oldULMMV$1iDC`Y=0u)+!xSu4~{duJ_SV z0oz+LHbx9fpDbuQY5lpZb@e*}&g)YUZc0hkW#|>P|I)x{RG{vZN{+^8(=MBe4}H&GDob@V`ptfpQ2)KrAB* zPSGh=B70B0OSK9;qP?;yO*n*3GOdNY_&yU;(4R!)10WfN^IEZZuCOwj3KruJY?IIc zquVDdbC)an&Tmv1*S)CSK4VSQyuRmtH0J9g_TgGS$tCD?8A)X=Chhsu8{%MkC`OT# zMEzxyHh7~6t_3FrbywRsgTZCpeW|<5yZwrS2u@OV7nSIrGm^{ZmaQir^IAPAK!xr0 z5q;^CfMiINt!tlmXG#Xyl_oojCvRC$@&_K1^y;1C;W!{gpt-l6BA(Oko1QL5DFPcKKlOxYC*OzToRPQMbkimf@({;FV3n{owDw0 zwK#KAw7oh-_6CR9s@*lcM%zP&(^8}@j<->hd_b&>`_9H)k)++}I(kqY9El!3Catz? zycJ=oDy{HQIueGx;a*Av@sYpL1l&K{$okg;IgK_QkWRu`wsyrEN*lLZ7OBYOw{zAL zL33TN625+QrADt#hLxKlI|q79F$n38GNMLKo{0St(|v38@he=dp%`3wJ~)K z5Zg^<%3gFDT?JFMALsP|nwuF17pLMS$ z|Jn#BB>Q+Df<~*UlCNn{Q4dtEi25l`P*xE!d2U*zB8MJ{0N9nih4)M<0lRXkyl{_* zQ7)#ko_7m$pQa!mZyqQh^6wO`_Ji}F@1Ey^NGIFL&bw+M4;gOeJ>*h*bz`;F|FlP6 zs~%&>lrR(BMF#$MqGucRN>P}JB(iecJ3 zM^_qxm;i_zE=X5cMB*g+be3gO{d7~_zuj8OWNainEb5M5dYh0w#=u*zNol?ruh?V1 zla6;7)g_~42ODNZW8<4;5l^uA5cov)kjaNqnP_u|)O?eZ+02Q+Pv!neqgH@H3*hJ4 zJm2#XOP5Yui@6^~(;zvlDn`Gq#sfS34i_WV3T+C~p1HX zWa8H1PnBT%)OZCLD#q zqvmb>VE>GM^W`*t01$)+H%gLlw`!j_GzXgFJS3(%e-L^VdYe_NDZMbBNkl(|sPjOL zwN$U(ERuhJthNw@$RAbQTA6|rn)`l=2Qdlj8Ce{Li(7k=!T24JFxtCSXM}(MHoibY zm|i7+3)!|(vtnOr2Xy$uc6wOOP*d4>7kNHM<+rO&#$BU$U%l@CL)KeIRkeQK!-@w1 zm6Vk3lJ1g5Lb{|uM7j^%jYvwTbV^7!2ugQ%cZYPn&+*>-`+UcE?>K+lF|PNx&$IVl zG1r`Pxj8dY&X4PGWj?zZce4!@<7e)(>0)RBXU`zz7v{D}j&$gD$Y9A@1s5gTdwqeC zt>B z$Ji_m^0{?bO}pE3m|*P4RcM`dE*O(ZR~r=Esz$^y(_vupj?UA#?7;1rHuM`JXTH2j zBaoJw$^eGZF<=-z+WYIb;nMSXzaU&CMa2UmFD)kRS`ta|fOuSgLNWGhbFP!yWX+?B z$5e&%PcPzk>*}cR?Pq&1X>|)u!aVff)VsAg^ZdDZQPH`;-PQHn{WI#mLmrqyzLS0{ z_G;R%h=6oW=sRCxxuOl5yGgZ!A@=c-O~FN*xf-&6g_Xr%?*7-`^E1hq=(fr;A4VdS z>Lp|=ET6`6MDWvq*#$>kDGw>aH}V9GWIzjK$8dhJen+sq@AYXCMT5;fc#U8xujY&9 zp^OO1hzB;*BqLcDp5#bM$98$<4!xv`BlX%h&70$cw4lQdP*D{~<#N;>`I1{#VZ9)7!k- zW8E`RnfVuEbi{VYgfJw}_&edmsElS+xPaR^Ogd=tvtR32UOrN=n4 zB(d>^^2w_lK?cmP7C{7Wz<6!kpG3)=Yt$q2GvZ54^%9_V(zV%w#z%UHC&z=<5|Do} zpew7ZIl4`*N`)%4&v@baA1|qwo$XJ)tIh;K4qX%7gB;>uXS_W>Pjwy!Ha}w_v{}{+ znV1$#cGp`%m!}3`ZnGv0&hd$S;bsvGaWN<~2sets9&n2xvRd2{&8c)%&U((2)8zcIdHo#Wn9;>~UF znCFfLtp(W*2cPW^3+D}6;gD#9;g@!09^Ly$RN{<#ewA$Q6Mr)Mm(HG`Q{U|(P3buO ztgT9Zvq%*|KOb%9Hw()K=b~$GkblWSfGUKOV3_O3PKftWru9)aE*CZpArTr{YqHh_ z9%uD0ABg_Me1ns!`3i(iNg^`Ghw#Fqme$wQjpx!SiEWxqBFdKjN~NFEXdp3xNHbKKe%jTpY@bX~Q! z7YVPpCK$F0ZlT=3PZ9d%&!=qGQ2th--k!@Q4oxW!WTZ}zEUUnM(v zHG+DaAmu9lyVuU}ZP45aQ9*f><{DAvfWmZ9f+KMN3vctM*uAtrbt!^n4{?SkrQSi9 zjoG!A*Z^^9=2%d>;8cH(^EN?HdW~$%Yk#H+FjkqF6#!#32grJNK2@s~YxX>f%eYq~ z-*`+U_NZ-r-f58mu=p^+lbk ztEw1o+fAaf(;cSY9!$^kh3OK+Dk_lvp7X`@26u@b@D*4S;S3J=r^1u1#kNS4IS)dsBjKr;tJIy2hroJ4|h{anOga6*}FqnWm(uU-C*&2Fx{zMUpagk?f5t$0z*> znEjXFNe9yqg=9M5zWHtFdF1^fvA^MSYZh(PX2~xV>azRuLApzLoDP>PSw^6;Ms`Bw zSH*=U|3VXt6<&I5lRVMd$SokCGtUm_p*}2DWJj2|9lvXBg|G_gR11$JCM+ewkZs|8 zz=TFGS1y$fCW8aQ!eRFbtRa`MWJHqRs4KiZaary>Jqa*rhqiVKbZ<)WY8wI%KislS zWj5et&uADyF+bgJB8F^bR$n~JDBhdk$!cjrnMMX9JH$E~b&uM&+je+nr9jupI%DF) ze<;;;gdgWRlwjIPt06~G5qlXpY3Lg-PPH)^Z4>HLBI2K7)ex}YyhgXPN&PadQJ(#_ zGg(QUz}BP5{xUQ233i-B$d+xzM~^)jYsr36RIT!&(L%NLrb}T4UyHlZh;^Oy$jMxP z0_{h+mojdSUwf(Lxz}8;(O%iI#9KK{pNMAp<33q>GvE76Y@BLBrn?p zOSE!iU9xVb-k~UFTx5#0G7HK>2M>CR{jQG;Be$WIJ!BnpN>vHB(Gc*WsQN8M*qBT} zi$}(t8FCDQR692o@yJAr-+qfJJ7skN=w%yQET&paC zy1GL1xXQ`7H*wE+xKT$OCqi*o{sg0I_o@dF{P7sPh&I~QDt(qIK~Qhf%v)6zT)Cw< z_}*Ppz0Zlg1J8q#dTptm`HilCdznzW)7lELrmW_>Tj3rtalVsE{&)ny_FfhCTmPQB z^6639^QVW&XSq=V2jM=bM*n?|7y}=-2uO zm;1Og?BbzN=L+n>_<6nX_?P&T8qnYcx!QtoXPX3-7UT5Rv58q6<7YgDW>bV7DyBx4 z=G^bO&%%#)Bqixpg1 ztNr6)u1n!-6+ke=^;kt*;tx_sbG}-SH=3)pJ?WCf^;ACfE&_ToR7nLH>pGG!tJVZarXgOH)OUn-7T?}4v z_;gO>nAF)Rt==PK1H_@}`co^Oh#VN@6h70C4f{s9URF#J#v;*5bfFNZRy2CmB=XTW2Z1Y(_T-)~3VZqY$rBOP!-> z>r&MaIz^tYOl1;T&h=R1b;%KoFXvqK(b&hB3l~HMf*U%~Sk<9Ky|KD)LA5!FT(FIj zu_N~>_Z;CJJz+B#!c5oNX6?;4sP~u;oCG%uOTI~4$b@o}BfqOyQ(L4s0#x!I5U-f5 zo3Cjz7Pro@wS8Nt@pVS(ZlhW42Dl3KkjDaSb7$Ir2rA`C&p+xH{si=psIQ z)GuIedqZ=H@SUU#5ONID7MfL&coR?WtLX*WN~7*ua@R8(r}NE&tbn-1 zSg~fw$p550xbkuQhsRji3Fp5W#MXQMvK}XH1L0O)A-U70)V?_PZ{TW&FS3Eo%>5E3i+i-+Tiz3UHq zvfpxUZ|0p#=hxKC@Jf-Mm71sq?G%jD2hEYYipWiCR^_x?@L3gFYfqivY-|`N>lsh& z|M=))en0;*u(hGX>vg9ZL%eyN`u)8A3f6tD!L7N#d3Is##}De!$ko ze-Ai?1fIpczQji#V-&tgc8P#EY*7GE{=MCl?9Ea|_39|<`mg$N?B`Nw3+)FxOdJRJ znRH$AP?6^2zm)%vTk=4ACvu29o)`HhHaeOdbh&_(LM8_kSg|fFy|g!7+4@|TWXz6x z@9_Y!y78#(IjhAKb8Op((a+9kNZg674*Q>8s3I7sS<~ovuKYqWdXK975s~jZ_g15@ z_fYwFy}@L6^cAl(Dy(Eqr!8^&^G{s|pTG6`w0Kq&(LE216s=?@jbRKDX2n^g@cxqz zeo>W5B(i3qO0_h6_jofCov;j>A``K)o^OMr(-i^0Uae{ea}V$HbUGiT6lu}lYe+*> zqn;t-o6`!+kMA~;#{)7HPqU-Lf-0A8R=HL~fxT7Z=5s|;wYOiRRb25m;FNqA%^$eX z*8O=D_{+Y=yg-?NRB*zy85sNmsrdf%hzW0_U&iVOSJFGb)fp%97W#FDimYsOa90!{ zl`~<<5Z=ntxqea*O;>($IiqSP)%&%T<3~v(w$vBs@2@{ecbv9&II^YlW`9K#+-^i( z&p84qAphDWh8Hj?G16`P5D;hmJ<)(Hwos)&X{Xl>7$c0~xF+Bj63PU*9e>oHB#_Vt zz|YB?{b2V?d45tLS&p%rQO01TSUP}^ETzLO1EntH0X3XhkdcLjg>JtPNEixNutL9H zdA0r^cUdZ3G-}^c%YQ357 zfaE@{n`rW2`xB{FLPP+7z57GgqG~arw37GEA?Q>2U(vcg2PntX$n77VFq)NYF*l2y z(YhN1UC06*3=iPHD4B76HSbFZebYC88IgIpJ@=5lV=5e3H zT@3_QmV^>Ft6^#GF}UF8=M;>MKvJcTEl+gEm!l)PftOf3Y>8Rz&${R>381_+KBRqY|D$@Bl%Te|; zSIcuzM|105lUAud6sq^F@QUt|XQ?k&-WJBTyx7H*O1=$Xy^^6M{JCyD-cx}}_Fe7uvuB(n(w4gBclqUJO^0z3#NnfSDZ4OBgw|s4b8L5) zSr)m)7F(Z?0wO^`fBTpnFzA5!#!$`(wVICQM`73lU@(pPg5{Ftz(@SQiNF2x18A;5GGY%fsZG|2kzvc&>t(F*WetP#Bj4MR;DOjY2F0or{?P zSYE`Q2@}RE4oH7B zCm4y$2EK)VHZ%nE&4GsE5jb(ZpAR^H~y ziKOsk6Em(&tI=nq9~m_Ak$6|veqC2N>O5bsGe>cigbjRv_HY(x57pobh?|OH@g7tz zj-JUTN!`jTGswyC*MCU-jyooQ;jX!m57nq%*v?ry!*6APXvw@nX0sHe+~n$TmQxS#bh>8<+bW^Ww%w6OWN+R*Dxe0-?qD3OMX%TzFz7lsbSe+K#d4=sWI$P5-!pEDu2hCBl%Bs(H(n6KG1tfY-OHwdd&8bQJ=k?f!y&kKiK#r;;FQHznnZs|h#QB8A?-IY)Xwh&~lY zFm1eC9Q|SVHughsjIL|hy5FZ2hIhfwvCgC0tSEd_<>qrCseN@7YxUT7=DSMoi~Kc; zo%B8vT<6D>D2`5y9&r;>mQ@-X^MGRYVv!f3~~8Y>?TYW(tXPA zd?!!<2-wj#Hh*21YS~~s15RE9l$4Cp0%KdwNqzUaXMRs z%cFU>hOqWu-rn6^EW)T>-?q5;q~L%hhXOk9(dQXZd42r!iB32V41lGF3V@kN%xjIW zU|#NA2%9@pf*gEb(9+GZe-m8%ywDEbX_yS>ZD`C1%a7``z|JdNA3wH-uV?ZCW{Raz z6Y6rwTI*($s>2@v`3UVcT`9KiH-Lwr2~A>XQXPL)%>1zc@#Vs+i>8+E0k8LXykWMS zB_QwH0Z|C3is??M7#ZbU>{JR>J}*G5SU*_=T4M-Jf10Z$qcZ@u9!gmf$P2aC8!AWB zx~pv7LC9c&h!M=2pAw9i3jTK_I?4`U=OrZcNDzmJUsS<}9^g6U7n{TsT$?F60tIuq zO&CzPTDIkmuS0q!wEfr@*NDTG8lO6V~fxBW&aP&UJCON`Fe4Aiyz8EQxH8O4Z*u7Gu_3b-gm|OxD6VZe=dG$aHg7Ni?Ugftd<; z(*j8G-LUOQHOvI%5MSk+W}RKmHQ9^P4y(%W=!ag%w0?3>rjm#oCg0TfTVHy821KrWHfGU=pDgoB3>9Qp%Vt1%?a zS`trU1`Co39Or0A5hRw;916_??=Xb~oI128mD($?2Sy>OwliVp5)HgcjUUp-2v}9j z=D5T{%uvfgX7hPOm!BhhEyA{R|Bmq+uhDzUack#glGsA+c~>>U&eXrvz&tG6jUc9i z>9IhfSht$MY!O%q9t3 zDX!tUBL(Ee;YuiuZchh$fsqXLOKQ0o;L^vEG!T2_!Vp3J==f<)@39v;tvZ^+5=Q`? z`u=Q<`U5^WIr$aONo`b9-Os%0?0m%3_R~#7GDi!Y+Yp?1GpDoou8auj0<&dUjB}y& z*;Th+hweDmCBznFLQ7HvvRoLhkjNU2l*^@6X;qs7;Fdq^*cD@+kgmXdA0@)kY>omjhdBec@MAQK)ryla>DBsrD(sy=#E>UB z8sIyGdD}5rH=V`3AmV=yw0P@C{h#oqTK5rQ7K=IB%RY$G@p=C!9b?j;F!5wl0=v6# z-|*S6ly&5KKq}e0@+|*&dsNjQSQS{LYB8ftuk%L9cg6wJQVCb>6!-%CH66Sp04Iix za`nTo^CQfQXb1D;mUM}v=cy+bnhn}3A{-oQpjc10%?fx|hmYh;=L7y=PXdb}M3)D+ z38`bb@K-TeaKSvnoHx>G9`QrJe*GGg?q?Q$G%OrTkBOA8T?Y*6oN!;`&qlhvd3%0$ zk_8K>jGv6Bo#VVv=+&tuUP6iD3+G+wyf7Q&I{f}SvM1mnV_`ALul-@Y_+}bFkgiII zfBl?*CN+)Aa;6gfHV_9zq_qzGj?1S$KqTAsg{e8e5N1Ln-BbRt#QFul+cp#qI9wO% zgBmkio7AWd&~AFrctEjpmz%!&$G~O>zQh!ZANAdh&Ipw|Ou6!7R})O%>6O<2WGQ99 zP?h@pzjJ~~>m?*!ZTyCn>Uvb_-`{796?<1Mj74_2Wza05_7$_*ayNgvHuBrnjcq9fPWVIz>M z>v7mOm|niBP~AQmovog72*Zf=qge4VP`XviW4tF)a$ zfBc>e|!} zmZL*v{zjh4YBMS5)f8xTGct8HSAN0@Y4BMZfVk^+{Ztlomzpa#`r>*LME45tM6uR3 zvR=^jVJ~}#o_=sj>#)E_s*QVOMT3C+ibAIz8io4iQV8zJ6P?*dx?vFa&__hot%%bk zTi>;6w~U3vpC}vJit(x^`awhcGzT1K~%pyRH`p#hGVR zvPl$xXMZrvT zBXBFZBMe^#_!-vY8NRP>cqd!!2bqg+1(u-M;O6!`BJAk=`Sa(&?EC6aNMlMXh!T*M z9bkPHoBqTn4~$+4+f)H{L8TH1!w1tK@!`bL0*i8AL%%i0(i_WxYOpo#SjqfSvH){& zqU7{QA67WQYA4{&$*@KO(?>l$T}kD0de+?c^X6%699)P(z=w0c#MR50a9>m<*a@(H$X{FsIm;aKM*US)wyvpUYuK#VGKAO4g7~5||~B ztY9}g9hFNP=2dL>6>4qMjvcVEh;9ohFwiLd3h$W!MAv#o@ z?6EbucaI~pS`)wr`jR+gRO?oiJ+1ML&O1kuw8!{Wm6Vk!Sy&YD$VKO1+JKOr-Ym7Sz8&FqTo!eHv{8b!a>rU-j&GG~iiO(WysBo;|+!tS9C5e`C=!q*1f$3e+d- z`!$PkAz1W3uYQ4Q51-|EV3p~E1SPFm~{SpKrxV*glBT#_)mUqIm zSLxG~r6k@W2*EuXpq`hm^OYwevs0XFRoD*k4G%&Ea}Rd&ZV@nB;^z6`S*(*vtM*37 z>~Gues&JI_UzDyThaJnO!88VW{$u~^^1x?oU5Rh&l(I!h^qN5r(6g3+RXAsBRxV4i z)C?hcw)zyUS&R97fGzJR` zf2Lxy7jUOz)1y;s-;2F;w$KT=jQ@J{_(En)lssEZ0ZU81eHD~`;WUz5vVP zqRJrP2rL$h`F7y8(scAA%r}Vk+OlRo_nnNWsOay(!9m(cU>HX7_>e3zIho#R&Nk>f zND?HtTxMgzUV@G0!PEFm)Q`T=Cy~!$;wBp;uzerWRagxd2$WjKBk^g&b8L(@E`CR@)E!^_mS7z>x;wEOxs-fZzcDEN3_k8 z$ZULTPr$o2P;S(#GIr1%O+D@u0JFvh0w0*Cw1{wL1+~aP^9!lu%euX9*U8$WnY5NV z&rDHo6qf0LXo{BjrTMNY%=P$hh~)N%y>8$iJK)@$&%8tIb*m^~#3nYckDr$N0Q!9C zFwD#&ZbFYcoJbY?FeT zx;H~KC>!ub;Dq!3TA=*AfV|l{o}0D-QvGZos5+Os(zUZ609Ag^@ji#}rY(}i@XY@S zOl7gKi*q)+?;?-LKWWwTyvhN|UNlF2JpjH!>2gEpZ?X^*6U*O9fn~0*ZQre8o>JU9xp^6u6J{t5AvKtJ@foM@(ce!=5u61m6K5^oA9Ta7;~rbx;uEkngMt%pPH# zbAn!zjqv&18}SipFWOC1!pb6Qqs&Z7v&&TsJ2xg;?d<&jQ!VHtJubzuvx(;T)Q5}5 z`Y||^fJX_8@Uwg2x7C;>(|GK2Lq>jvX@D+t9PrKe7>4=lsaKwY_oS5iXheny;Nz?C z5<4JazXYvP=^-1RBwVw^BVRc%_y!zU{{hg$0mDMc9J6*&1c^=O!5I3%RJ=*M(yk0V zukHh+Z{5?CI*ty%1SwR=h&{#Ht{3P%XPhKqE$rV~<~5uy(;7+7Cjjh^0K-9-vvGCR z`WT)B$r|Z*?^K3)XlZFNu(7F{T+cAFwF3P85l4&r(AOMchG*6-ch&AkKM_t~gFW!L zG93*r0o-&c6;xa9psnl?GzPsq-5njEa3BHb0UT(qbUY5D_7vaaOQF&d^X*HGFB`oF zOr71JTX#IGb^a|>!1FPGtkxQ28?A{F`{V!8B(p^8ZU6zl06w=(Ixs4~`=hLCH-{U1 zyQ{EG2a=-8W?wRwJZwaQm?P0`;IGD(%`3>#O#OI~%v+Km+oJh$N!@NcABfTGmWw#UG3SsKR>Z9U*DR{P^6T?S+jFM;U_r6FW$Py}+Spm>84j2n1#gp+*eocJxz*8U)PzVKwA@LF?G zFD8SHtuo_+j^snB;;(R$sWPfp4GXwu@pJgH_jOW@rX6ckEK`|OAuHp!SXjRUKM12^ zp}}uk1}@-Tzc|txe1$69*2SJ+ztMPeikHA+9DnF}p2p+Wa-(x-=5{Zx=&0JF6I5Oz z(fipOF&KPW8R1lQyFl||9wQKn&ow{bTX!xsr1g*F#EE=ve7E@NuBv(6|1UU z_Yp3#NKVL>n!~JR&9oEv+J?LHS#nGPOGjNkIyf>k2(Y-qOD(q9Xguz~@2Gk@Nf<=r zn!h}du~rE3LC=)T@u^Y!91rJih8u(RT19o1zEDt zh#2^!_dMqz_>dMCfy>ec;=)2#eE~3KO$_IsFGdu|9t&|?2hRGRzp$U!t5~U0Wot@8 zl;T=}xx6(9Bw0GpVezPzao`6UGmnF;4ZiIb0<>@h8C|6<_paPfMCmtM>3*3vMt~de z9Uxj5(4L4orO7gv?XO#Q91q*n7B{)FM#Nug=&TnGF>#<))l_c@RL{>$q|nhGqoes$ zQbuBn4Cpw`8+qNX67Pre9hA|R)Mn1f4{%vbq2ZWAYsmgEkNWM=)VyNW_fBif*)RR- z$Ul#WmhCyNsxEGY{j*axiCu~dGNT8+tqCnX+YLNez{jOP6iE%lt#03$Wu9R&$iVgufD7wN_}e$_D|@7fk9zJCY4z{BtfvJkC0#`4vmNB7C55Gq&) z>j((eUtY}FN35^Wbg|N+#yq8jixqn`c>wBy%;!|8%$t3QhM+sC0N(oiVyU7iJioTw zDTVXCqA0*yRNIV7XdR8c+oPujF4hDZZ<|USzlT9_vsTF zrv}%F@}U>3T_EPz<>#UHF3Zdn=q*NkOSKkxpw>xXAIf1eB!pv%1+TS>?n6N)^p@Xq zunv#>vNjX4LNOzbEDr7~9HPZsEep|kC?OxG7$NV6uf=b}2Tb!)KfNXPsDz|GThdM} znp$3-tRw&SW7?}}kh3pYxg-NEaBh7j`TM+!XmNcIg*gVer?A`Fgf97<)VL!QFUl|~ zHPsT8|H%7nYuM2Gb)LZWsdgBz^ zK+tndr#Y`6nFEx0Buw!M_+m*SIBn{8iL8`8B@4h3_cCq7g6LWytzVRc2l{o>Io61R zPe8`Dd$)9|58?g;Fu~J}Q{B_dm6NmIg|1f(H>YrJB*ESX@X>dIGbLU7u3b06*mxwO z1+2u8iQn*B^n(%CVyb9>$G7BUe35~C#jHJmH6RWL=bZ=h($y3)_i08Us_^;%80+_; z1E}rx6OGe8Q}4yTp+N@UO0tbKR8K&faGSzn*f9l;?W2Z<2I&?7hz5>pQEvn7oxODO zCS~}G{{|MKe(~z_E^6Gl#IMlDaDw@wWt((XR_~+#S)PP}d2sOZpcex3JM`p&N?2j1Yns_7~z6(zE}=OV7nG~W~z#$ zhNRm3)I&&%6K@OpUG)37`NjhR8MnZ{b6DDGX;)|lE%@tWB8i-=GVC}K1 zHT+H(8B=M+2Ai+zR)fuA!mr(8I3LI2t%2~5)BWAB9S*kdXX&I1^|x*lWimA${UsOw z9w`m%NVy#=iCb~PQWHcxyhZAzD8fOz@FG#BhMpuu zVmbIXPwHBdPwcXK$J>n4D)$d?!5Q|G!)g8zoUdPSuHfKZEBoIWW`pZOx9cjq9FFkB zgzNFT-}E9n(pTy!HW9twF$?`7; znSstna<)R4j}Z<_=20gx9xseyq=?;YHcq!YU6Ds<`wLx>C|oOO_o-}wjQ(z6Ea$~= zkmW+~+hYB@db@qeQN!?>60SK59_kd8k~0&7e_rJ=(nwB`0gwRpX3R^gfE~arELs!t zIew4Hs@&*1Ht$;RVon(9|UfdU?j!Dp`%UcsCDIKHEH7$|=OgY6IMHah||N?^1q{BitRSu* zv;1n&;bbZ+#ilSCGVj}C;fZtZJVCmx4c%rGanC{AC))D}K?b3>?w zaOBF*P0}OLpuk1gD2Uk8`4*WMM20M=wu=td;Jr|>?dG|N)}Ip@&fU^>i@QIj>oXSf z*bK#|<6Q4=zA#oKo$bV%>uA3J8w$bO2M$jZ50az$ag6`=s9kX&=Cw|i^N0k)?Q^C^ zwB(M7{s5=Ea(!&8I}) z5an)Y)bHR(!Zl>Kr54pr)Ez>E`P4;r-j_C$u9 zKbBdQ6`I6lT|zQG_TVu}q{0FR{pq%q5wv1{wDeOA;DL12K{JHl=sr?;r;F~|Ntd8O zFISdPGrIWE+U92gMx-N1aVq@!=aibqZBz~8!xsj(O$N4>G=^P&`n&R?Ks} z|0WNmc%d0Y9)e5|JO(}QcJ*e%xE4&f=4?bE$kekL?L6#Y?ULJm)nuq$7=WO}gF*n4 z*tf4 zGz4PzvQ+4Zlw%)Drx<6tU8B-X-}{SomE^lgH_KsqrWrZG4WraT+bQd0vUG_2L4#3ov#1EI96TqZ1Ti^q<=6WkDBD0vq;Rtwnpg5t#ZG(|t zqBQr{^C44xQ?aG^mfM`W`-_&E#k&J1$7!Q@aZ}M(`^}E3AjKgeEgiswiR8hl4|Qo< zqj?djc0IJi3K;+$wA-Rswx#cno`{hY`x9t- zj@A{Xr?=jNlh6YDC6vh!BdyecXEv8+?C3^<9X;tSk za<^}No<)4uWmUJ1-2mKz8R+TFFKW)3V6_^k9RPzrApLYg%NkD)2)~epgBTMLd1Lgp zc{4{)mFu1=ETw8}3LIacIaHVEs+Kr_9Kj5$nz8dzthgQ7|7kcVsC_Ci>`qQkMZ3T> zRuh_(@u{&~D>8ng@;$I3ht`M;xd7lKYc7P9rKi|tC%-|})Wl2|okq|Hom^rHpi!SD z^}IY{EI%0=$9v^y`oS)34*^bF6fGpQH(p__v9Zx+9WD4B^NB$aA(i^F=aMIhdfj|` zDGvW>cE8Ko;RBvgEIYL@}$YI0Jw>G?2+=6%8 z^2LheRSp6+f2t_K>syZ2nsExsMR8`TZZL@^+!8DB$#c}ib4$&y+4;(ua4F9W|f1^v%lOk9M-b@ef0Z0BCzQe{* z#-=|?GUH!ji;1i{e@}vKViu*%*M-NYww;7HS3LYW%1%WgHcc%b1bU5N9<1bU!`>VPinMRIHbEL|LExcmhhl9P;{$A0-5W1MsN^ z)wg#)+`eV_mrhs=4e{z;6T%8H=VuWn@zttdThm@Tfd3v?^4c`U3@_>lbA_2e-#i3hYty$`|JiwZi;lh-!^q#ro z@V?Qi8W z10pYVDpU!P7t}wMFeHZ~Pi656*?x2Cd(c5uW7ObGxUZ$rLaG^u+56qcoA2Xy@7v2! zc2qacOoaald?V>7eXy9^#2B;sOsk|~87W))HeYA>UX5}yzl0KtVW)Y#qMk8C`EZ{3LQ zI}pd9wHHht&a4^#&Hbc%0!X-!co!io@C&nz(9iu>vrnp*3eeSRO%12t?oE#L%kLbf zmcUwbBAx%W<`}Rm4YFwguL1vzvmjVV!yZk+{O$@t5HgLeA4~E2w=M@2c;;gg2 zf3P24&_H4^ABgm5MVM6H^u|9&$t?!RQE{zOPu?X8xYmnqy6L)dbQO++DXGhQv%iUC zDq3g;iRaN}zqO~K*Y)VPJ!-+L&pNihvEpK5tEl7YF6{qy!q8ljUOy%J6M=k($>>Tt zr>-hd1n)stp!W?21c0XV1|?<_>PZeE(mo4st>z zrX5Ye^|rj1S-h@m!My8kaoi3=myGKx{fIO^Co5P>6mod;XZz&=K~M23F01d!Ltop* z+{u<8z@z2k69kk>5W?|Vlq+|Omw!h5^DYyD(tfCffF;P{%}m1RyOk-!2;`{b*QtAZ zdr%=oql>5kH87k0trh?9d&^lht-!H@VD}byK6&t1_Hq1^*q zJQsLIw^@2s!OH`Vhr7GVmUECnhG6+C@`Kgrls_B`GDhCJj=}e7|}4AhYN?Z?hNU zP`Hd2yU*A-R?|?r%(wgN!J33AZk7n1j8WoF9G#Bi_kQdV>aXqd(bL z+lI2ImhZbR)1aVQ3JPEHX|6WgTtK-PZOPJPHB&Q3qUlz@eskQ1F2tqzJG1Z)LTu z_Fz>P{(ev0ky4#1@14d_b6jAn!=#S!!-dy_vAp12Wh(FhR4Y;|9(i5j0&C{edoWrv z*u3sLn>rIy&Z{!&Bez^504~m{XNBgP#Q5TNrLPAEq5!(q5mg=@4tB z*#!dI2e*m*!(}7guz#>Hul0)Vre7Ux*C8zW59`@NN35ci2Q9*>f;$5@Vh0a~n`rD2F0Nwb@2+g0@4(qQhMzbO+O1L~1 z?c}%%w0DQwVE0%-6)8I>vi+x6>(%_BCyq{0Nz=Kea&n(n>Wa2ae?_2tK&iO+uyrMidrEZS#8of_YqT=bd-p zTZ?s%gV8Qo5t?uiN>U|re7f?BR!o<=|9WwcKcute?izIxspGr)yN>Ps6DNNjtI6t+ z_Wo9ay(cORaHjNY0M30VBfi^uODcCe>2()hWiefDMmYU!3csiL&CMPgzJO~bh%Da; z7%OdC-IKIvDDuKP-}$n^SK_ZTWyYd^mp#K@@f@i zkr%>2CF)?`21mX2+2P_MAWc{Tzija{F5h=2Tu#n0Kif9%4gNOhj4660!<<`Fph0)~ z|260;@UY8m1bbBjUk2&xrSQZco6hh(PK!fVxda0WG3pQy=fvv9fjMh2@S3Nqnc?GX zN}__;T-*&l+(z78b_#Ny*g;pLs1S4;Xu(Y)g-n#_n8Rj;wmN|?afS21y3^&ppBe3b zS%B56+ErcowTHB9l#id$bzS^#GdCZv+{+Qn+pi@SUv!S6XT`BQ&h%fUn$7A{iDgGa zSihC|g)HF@NMqH&LMQjccJ9z{a~qG42CRU?Usv&b!NYbsL?U0Fe45)M` z`}Ri1=d%GV&Ql*Zi!m6xLjH0po@gNaNV4xkaf(>^xJtr%qU5r(RsfD{dY9mItZ z8ZOXPy<07c9&MAuzll;U&9RCyg3Awpl^jVzGhnMPJiOz2th&SnL^E=gPU-@CEr%z1 z+ls?#uGU0d&Z!8%`C#5nTVB%gO93oev-gCqRstFJ9n@sW!Bp3Mhn(^^z8dR{o68hOM9D# zfx9^k+Uv|wEYyhF>h$DKU_i4{1U5s_9m-8SdEaJ>9>{;Qe8X@tooCq)L~&@|)74Wx zx(L+l6Y73G9zRBIz|U2U7Sepq1KNvkch{3G)%aGmKdl;%B?P3HR(YC%UZPC+Wg!2j zzJ%I@71L?3|7IVo=2LenVznFpP$0Yn8oVDeOik=oRETfX0!7UTxWbgc<5GnP1By2W zQo%Nj+aIJGL;gOjE)c@GR!~`g1=YGNYNXO`+5N1Esk+>(-Aw#wM`LZl&4pD3QO&(N zuuT8kVCA1cMl}Bd9Cu3yg25>7pebN!k7}&o(v3ZWDJ2MG-z0EZao$%#J9BI%G>pa7 z%Rsq)FxYQCPo_W%0bqAD4SjY+k0`1D=5k6bE1IPW?6ny21_1^ZvBC1Cb1=|-_2C-$ z$T{&q5yf+T0$6X9Za&hyZ&}y~b7mJyEiO{?v@|vwD>BY&IsE}}Dbfy+u120Q8DEPbY8wFd< zQ)4B(736+Nr$Jx^H>tkbjDF=`AXf4voVGPE7N=u{+B_lO0sOQvu$}|mYDrmMfFp@H zvM7tz0mPkP zAMTw*Z4@>OpK%wtW5sBB++S^;pY$@l4JvxYVJ5cS&9j+e2pc~36w^JenD`2TfQ@FR zu+p^3a&`i?BFY?$urNZUMgNX{{*VAvax4FH0-NXUrE~gNiB1DJxV;_FiUg;x{UK4} zxUhR`;KSf*nhlx|z5Oi&;;Q=MKN?yb5tZlCAfac&?rQhoU=28*DHy)z1~yFYf$D=3 zf*_0a_E7`d0QHG|zNs~+-(s{B?S6~Lfh!BIno!|^U^8l)@L%=!^;Lpl9T2Vc;C-$J z(^L|;Z5c3D1~v*Hj91!h!z@&X+fvMtdy3`wkHz>-y2y)d4P#fc4>d9caA4(1p(sgl zK#GX9z4P7KBtE5(*UjwWN`Wi*hN6LC*{=dpF5W*UgTVD++{2xa$= z5oT%mN9GT-c_|-~=kLL8UXv`sk`#}e&3sDmbcv;BB7!VPNi+h0w*fS0*JyWlH%oaR z8q}mKUHex^X7L#;AA=0~)Ta{L?$Le4x4S-!`68Q5c8jSp)^Jfxi)gzd(EPmyH50%X zZB`?b*}yWYSgoAjcnTa&b^uudkKc&KLA@M*5OQ3?r$;@f}n8wRN~knt~Ra5X_2k2*nQC%K_IY^&iTp+j?EB})YMUcSH z7oGoO6t9C_H3EZZ!NaRYqhGw2j078u)@uR6F&$$eq97G_9RBJXk86MU>*UFFC-HPU zBpX9!=#~Qc6Em=v5WO%lDoU}=Z)D=1c~c0bkR!41836fy$t5uVR4dgb^hKduTuYN0 zqQ(BU0DEsh7XSxm%Cx4iVZY$A33vp%dqAR914hDPa*@*9Eb+i{wrFk#lsusr^qR5C z?Q(haJOp&h=_b*XRNlCu6?*^{3(KnqV;8#P@+8H7evuvM!Ip*+c^%ARv~BNx=>POZ zvqghmpY0lh=}6=_Xp!xn<`=`@16XUr0vXZmB3)boWSg)&R^YHm?A56G0mr_4?=aq$ zvoB3x7EvTO8h2#?6d*(*_;JR*`QykYUc~UlEw3RZbsMj4ItA|y0Qv3X+Is$tjs}ex z-rs;j07hhhU+@F?!nT1Qm%0TFNFU95i^{i?pG7uwKO~C!|M7GcKvAw=Ul3&J1%#zp zdZ`8J?odjQkd_Xqr9lt{mPT4aLIDw#kZ$P)36Tcrk_JH$mG4=+|L@M7JI-7kmwli2 zJm>uC)ByNyfacY|cNHAOKpyp~9pnSXBH}eRW zeU-8%W(l-BV-qpS&lBYSPS4i4yMvX1@c;`pe>cy4ha@$^3P1);3r{Zp_#S-xF$-`g zrj>&7e=qfGju7-KrG84j!EMj*`f;$sWeerAk?EjHcmg!HMH?g!zx;a>x$ep<#xr$* z_<1^pVnjtFC|H>0jO&SI@c_w9DymuVM>{gZlp;NOX2X-6y+MhL_+-3pXt3^Bv>!YV zzT~sk%Zt{ti^a>YfJGuN2Ft9!?Z>GiF|RpGd2AaHOSx%LY3ROyy%+>`Uc2N5T$@@-S1>e`mz9Z`+EH7`+3 z#O|Lcx?ax&R$e+0r1ME=d@?@5`3uAn(;tFQc>ul|Y!4>&8lXXVwIY@;^6$jy(}skG zhWeKagPQ`J3B3$wvPRRfj1WuP?9Ttu^h@&4#KhIqBCRZ{yJHo7vOkx?fc>=Ydb`CO z;yTtq=@z#Fwcy=ue*#qw{BsHLlIS-W&}2MJI;Qadxg1&0{4LGYt>WOx4M#?05rSpy*0|r)mx_U4}Z{Sz$W+nZFH|JtST%X zmsK@Rhwzw9uC>m6kx|rvcepyxqQTSdOG(O0rH1E?rtIffC83?G2R#5?r*g~2%spv2 zIp+V76X0u4gv(bEnWT?z$Mg_+H{}z>0u4m$VRx8jm z?rSVAHg`32v2g=WDOHU$L$nT%z(qJz%Br2(eh7E!2L{N=uq?YE9q#>z(;a< zo#yQ~Su75*&3w3)`;;jbSMxWw+EYv0`3_(w0wa^#eE`tbfcm8zSv;;S#dqutjG^!6 zTbv{R6>jc?r)YYIkw}5N<1c{#qiHiY(4{YtIRf#DO9X<#It3G?S}@7FAwb(I6~b=J zJjJ?R0!R(+I`wCr8J`Q3HJiV^FJ5WBz`$M@Y0mbav88{NP+bkqyruad>$?zh!^A^^1<54yfTyhr}3iPD_C zT#O>B8LSCL0G=by!hGHEPQdj0p;!Lc8g<+q$jk3Vaw@U2+*Mw)WS9a34I!tHA2kLR z-&8ZQC{3kj;1)Cm2({9v1Zc22^9so4$yq1j{`J#oCV$CYp2(E~ z>1bekVR~|od~k4!R<87n1(0<@eYOw^Kj9&L-f21w29-?hU+9_GgT>F|#aAGKOCfkA z;FW#Xz)D;5@6m=s*K8 zvjFDF!^0uB`_8{v0@Qvaf`oyVxwo2pAIJv4v*imXDU4|3#4eVYhAe7%fATM{A+Eru<;{@ zF_MK{g2-V&aasaYwH&Y`pD_xQdeLR8lz$W<7TGim)Sm}r`KLcYD!U`dw~8CJQD*~K zXbXSvBRO0M@QfglFD(3*aaTLuVOZuYrNICkDO}PwZ3>zl%q&ZoOk<2dhE@V%7B{}< z26`3WX{*Q?V}~5OqHIs~=?!)Q&Sk7GiI|`NRWbx@-&z18r)GvFAb0G&wbo70$vij= zm48tF->M3dNfJeQFpq~z9`ktc-T`v3IeRI>bfHuoOYoC}%5I^{0ni(WHNGBO-bYhtN43%fT>@oAcVLtxXRd!f zF{8A2ZtZa{a$x-T+Son@c5HLQas2Z1Ri^_!>5Z+n{?4bM4^rh4&({Wp!q-%B@qbr1 z8Th)Ia_})XkglN$9?!glxR|g3AGVorlEd-YoI7a#)(wqb^ouRO$=Wx3p={}ngIa=0&ik^$nH|KaF*>+EXLYSLrtTj_ zLK6Tt);!nrtCpMWws##EH1z8^>$&9is>kzBMiuZFUT5vS_bwl7;K#=!(au_65Dx@l z-R|~azk0->lBuWqFN~5E^%NW&#BdcbC+>s>`C0z5xVpC5`o@fb7YiaOjmq~q2QXIt z4hJcTKLQ1A1Ud$Z|G?$fVwmrW;Sx*=UxN?Bn5F@^L+nSgF8boVDAqg$&_!9HCq6I4 z(7C8vIU47pjPzZxXPZ_ayU3+ci|o$`WPU}X7qfZti49n2gqbV0^g|spfND(iyh}ng z%hS$-(hui*Bj(kA&54D>fRhdM)sbNtI<~TM2z<5C_ClpJjQDSyBJs@R-{)pq+w~=f zO8Nn`qUYJ<<==x#6QEu24ZOc-Xn<|>!eJ!+udS>_rPEnY4HMjh;%ri@kU|ApxVTESu4DRl_tZ$~?c)LM~sfogH5c1)< zuAU|7^ZxPoF}0(mXweNY;Kc4wWOt=LIHJk_hZ4a*f}$|9=RfjNPOkDEgbVX~3kt^E z+;`@2^V3f`h0DV75m@RLGPP)lrzaodUpFZ zmTa#$B8J>ImBf;7D~M;-f2imjT*2zU$Utpm3j(%nQA{_`b|)8bMcdvgk;;tn;4HHI zS#nIk94ELIKIYT3jlX%cHJT?Hc(&`P5DY$1@vfDa?Dp{mFeo7^#tr~% z(PTK`POhC~$Gq$Yk=M*i9cSAd@Mt62w8C*;uq*sCH=D-+vP<<^o~t{SN%4)flul_$c&v{aOAuxn=E-yHwdKaXsr)U6IEph`bS0W78|(v;E!n0tP&A?gwgFx`qt7JAt6Si-|f%a~*>-C+K640R}IV)~L z792S*X(|BdifSIsBjS0a*!FIVDEl}OUa(y?A{+agJ~Yh(k{loaaBhg|Fi66Hdj?!{ zzGC0rcHsE#PFs1KzGkCWh{U6+j|~uz-$nw}&xKx57k3c3;}m#!pJSe)vt>wrfR<_x zw9CO?s4sUNZZ`B#7Vx>Hj^?9fTR3%-b@)_3Gl7QmKfg*l&kg>qVe z1>I7hX5M5M@UH7!?GoDHZP!2O94GEi`6 zMh(%^TUKYShnj5~ufKGl4Z)NrHXbZVbKUoYn@q+o($sLe_>lwvH-vh&GLT!BDP(G7NTfO{>YSyq42yBXrqZlZKC~>?^OO~EVC;c6r zjL2IF^%=^z<$oM2flB-^klWJOHP;*buZoj^DjrDB(|FA+=%`zF zRsbx6klL?by|?kkJ;8h|0r04&o6>tM<7j!?VJ0&sh-9`D02pPi6^wF_lVqcxo~)-o zQ1vCd%RuJgI0zur@l?twh;k3#?EvZrfM<%C+%kK*I_mWKb@Z{JOq@Pw^iS`T-;qb(FIq14t3a!43|i*1 z3=O%MwkiC>>eyE%K%5gQ3^o#HO91U;p*N@ttu0T3-$Sv*4S~0f;Vv}=2|ZH1IOb^; z=j$##gGN(kMnPukmCBlhz0c5Z{ySB^WJ{9iu0MA}ZEs9QqK`oqPnNkjwYRdK{q#$U^? zJsum!0LS28C|vcLLL|K?t;AtNC~M@1PG}OD4~SUiH2U}d@7x9_-GXFb@$Z?~#ren+ zH!x$Xc$eQJJpL&ES)-f$cB-j|u5!~c=tm=!aQvpgq5I%jY~82rDn7*p9`lIgupo-GCH%QHM(uxq@sv7Rd7?!nb4RtQGVD%kFt%RH)+7$e`F1;cD{y~OOG z%cDDhh-w2r%IY?ic_b=+bRj0or3F%AFqP-t^`l0tp)Xs|P8}5l+VlKuf(U88wI8X& zbnmi5PHJ-a)=8sGfru<&$<^}(z`*G?rxKZ!cEN&nlECKBIt_e-s;euJmVBv-%HdZ0 zea19s{7@$Xhk;f?XF$VGyCHV`aBUO`eiIu5=JZRjr8+_VHHZ7b3K>ffSF|{220q`J z)>BTChK2@@TR`PQ4N}Gv`h@eIR|5%*kdiV%hOXjw0B+A_OL(oYBo~F5>3mid;o;GM zJ&#X%<=U9sd_2I@&Lb!HLNJ*E;yuXNqIdzXTERGnADh*R^GBehwAJ zrAHzn={=(uZ*RMhVP0N!Hqi9(9|G74^Zn=(0d0M*^44~zh5U9QImN3TXsumWHuz9; z0QXRef)kwsPS~Jff{~2^d)WEIN2Y?b}d(IQ@YYv_}lKd-U z)tpb8s3S@2nxiDdZTsJ@o@64EFp~!k+qi^o%GG4p76OLOBI@Bf(973*0F5$Zr-&|S zLaaBw46^7*Vn-*MAkk27(1}yQlmPKugBjZSsw_YOQ^u#{>wed%)|Q7Rz>CMp{+#15 zq!oCEOGu^c&mPj3`VIg(xBk94Vygjv&agoB+2;>N8ko}!x>5!#oE%UK!(S;O1kay< z;M{UhVrR(I=*eErs4@8H+hV_Apx?W4n9y5-f);}n40xb9roV@H7`M_Mkfg^2MO)iX zfDg%mjRU#ohS8q%iL^iKz#UbAncuve0#J?Sj#gnflokpjXV-^_H>KOYtIX zPkiMl=w05^d4{PsKrJD}*WDSzTwHVY@?jc6=17dcVcBA{Dtv_6^O8hrS3qi~q^d(j zBL(kD#0JN{hy=H{b-nEA7d>AU6(m=V8 zj@rn6^7niasJMz_>>i7w$X&ZAn0t(>D;&o2&9Sx5hu^KFX`A`8GP2})(4(Zs?mYV} z(vTa&TJ+y6bH)bP4S$4)$4VEXAwOJ###cH+ag;fWkCW43MCG*V>T$|TfHKQ6BV>tbz zk>HC0{~@Q~Ui1Fd^BfR8!r3}#=9Ii~V0VQmGfMlTs=fHNf``xcq<+r}7j#R&PJ`Gv z1|a82Kfn{n^*6r6R1iQS+`<<2$&m8fFN+ig>Ij9PS{>RPL`sjx{}^CvaIJGiur`nb z7U)Mo*64>Pe|Fwp^4S}Hd?w9ZIW{6C z9;>Qp+jp&n1Rv63kG!baS)nhp_!x1?SGs9zbILbx1L5v zdwm~=T%=bScs(8vDu1nZN&(AP7Y$3z>_v(XP`Yng>ZBjoVL&u+z>R(UzS`P}66xaQ zMa2H<=-4w{dH?{Anon7Evk}j-RxdX!Drd`FrJTPtfQUNbXl)aN_5efAUoWm`hxb>I za6Abq3blpd_8K{IgMV!|;V}I9^x;MCgFrBWlwV@bQ^YMXF^EJegEUa$9EIq;@C>sy zEKXN>)rI39`W%d%FnRvw!%&RAQP<4}!0a?Ih54Tx#r1s$q%@e*1i=+YY0I4IKi7Hw zlSsT=h-DPM0;f-YsZ?yN$b+xMQ59WV2@&6!EUWxB;cFE3tEN=fH?7I#+w3rdlxs?) zpZj!q`>~h{5p1~D6}Q%=*SFZTDBjg~P-gin^HzO%m}zgx3qoA=q-{nyVJ(adPKgW3LU$Jvse^YI(H1RIgW# z=Rb{eYBuKGHu9j*nmz)=hfC|_pMyOh$B3iLw6>obWGP>S==f;|-fbivQ+#m@218L0H&qDydgP;k=Q?|JdN!>k)MC^NYS4<8kG^dqQY3%OGy6I&D!Cl3NIM&~ z#@Dz{^?=Zyy>;Ewg;G5smy-z@M3KqqL*$A}ZMR0+Y-o6c?B!>ut+)f3Z)K&R%=gMn zkslv=o>l&FfA|sV1AQb~f34bz_0qkP&y=uKp;L2&V~08(uFNJ=v%nu|%5ybuUsrs( z^KE@FT}>9uMfoIheg|J4-xt7aa@>DOQ$yP4Uws8u-u3~Nwq+Ue)oVoNY;N(dXr*Ua z)4n7>rQ>g6uN^+J=~kR_Ha$0$^FgqFYBlKf_i*xz0c73mLWoi{3AT1VTAfDx;z#q_ zz8bGQt>`bnq3;5ESJ7Y3(-#c%EdOXrwm}xt9{Wv0k=J6Muuma?Ytl&rlPJM zY9lx1whHf`nl-m)>U{{l4vVYgEeaqkxLNGWC*i|=oZ)Paxt39Id@%Dc{!0ARb4oNt z1ZH94ND`zDPLA!P+dlAfN7Jj$>>lQ45BUPpEuKxTVmyF<);Q&&IXf2xn!b{U{L#J^ zdklg`I`k}@Ix=JLsb6GM7~Na;5m#L zbtI;ar#|@H|D@_X-dOmgraX<$b6#cK`@X=fVOr(PXZy{@tNA0%0fa6KzfLXOR3fIe zoxe)=&el5ZU5fqqoqeOJ(ZJ(qxUzWRC?zY)fzS)4Vy`{U0rrnpuIqA4Bc$duian(% zxaTzLP#0gyU6H?C=Bp5cS`&xd822E5T$4fhz0!GH#U@ubI+rRXbo zy#@p~W@^CK*bV3;CM_r+rMnOZh0aC)IVGN8@bJaV-AC(SCa(peR>64^jGQ#JvNblY z<(&)m+B5hH$eNV|(}cumOCUf-#$+Eok?Xg8-D-+l$o5fBtmp8Gy|Ccpp7;!(Jc9@yXQH{;?>=HR-v_2m$0m|als`z;`V(#|0D z0cHJYXG2^Vp4HpDrpE+-HurLCs)GOAfW;mE>39-0@iue$uKQfzwgH~=M59*yc(Mrp z!$mb^uYVl?x%}vI2sZoLKZ_zK_@~kfY+kd(h(ri~N^BF}3B2O70zvoWz^_BjPqrI9 z9zutMod95=On;5bSowQUBakry@Op_Z`iH|=0Y8{r`qws5DL~L#di>El;ux8mJ!W!K z${XOQyWn~uVSWcFY>S5}@1#>+i%b0#fgqD%fw70Ugs|xql~{8kW1B2dx5Fu_hLgfF zDa*`* zqjgRvRHha4Dl8-Yc_I>4eb4Abd^xq^o9Ik?j%kp6a9Xk;O##8pspfOSg^H@a@T?%` zZ!Dh)fIJA&;@8cvE&A6O~(f&kP-%z#+V^<#USb6x^a@ClRa>mMuDZ_q7AKy6H- zK8INUAm<)vf}+-9Zs(?uI1p~)4!>(|HY0s*wlSO@WZLTXvFSmra{m{A*OqK5ESSgb zthlz#)qA~(kL8e3G<&xZpV83~3PA$RaSPvriq9&kkCrpuZL{Bv;w?3)J=}MC##)_W zGZGMyQRO-DP);o^+%-7TubM@TGg~yctkUIE+zaNv!Vj}uGl}UQsSX?Z-6)MA=bJO; zL(V%-3?Bx33xB1&udQH}7b_ax5~Ss~_N7{Kf1~}pbH}ufYTEvCwxZyLJI~xN#z&53 zyZ5UTGo{t;vtEr0@9%(_g4d`Vp4}@g-f^z+jxUsCN(2!4mKaMHkhgMxH6`r$o{RFiL9cMx_f z`3<8Zlp_rB!$ANyh<4KleGZ`*QG;lz{+Ja3bFZm>1L~N6lNhuD(>`W6EI0whgc3D^ zf-9R5`_uj3_x12Y91Gl^R7v@4-BS_m2*qu<6+ACxj66#$9q-6dm@zii_3h4rD5r)o zZ}6UZmIa)^>Jc>^z0+;s95BD%v2APlzUvb~B|fEAhP8Oe`+oOLIKk}me0c0t$rDV4 z13It6b4BD5!1MA4Dck#k7?=LC1J2s5OljbvoV(_&WA#@ZrH@EBt^8w<_O z0_}a`5Do_BUXzl!{C%Q|$K}!ocmfa`0zwqZl-CXMu_B4+>BaG}Hmk?AV@31oJ?h_0 zb?bR%OnA14+t8D| znmvKQe33vD^|NH)G?F4UdE6+3zsv_CbTvyq1X%&Eg+*Qh+SmY71DVv0G2-3_f4<%K z?IaeP2DZd4I~=XE3iMa1kO9s%6>!0wbi`{mP?7-YQ(w>uzG3ZV)~*)%4n!P{&@0G= zqP7%Oobqt82jps_$(EFXzUd@8U*f37_Y?QXhncngjE8>>7HaDU!_OAM$%5k&I~&H^lw!ETtr?XmaCUpNXjQg6Kujm=pnZ6{ zN$Js{waK%T%rJq}Wo`Pj&P*k3l5fO29j;+IRgX?-=T`E1Abb_tuvDmROv(2wRw#`F z%?Yn*ElX%p|GdJy)9NrSy0GWL`Wl;h1N2efxbd#BG+~aK#aHV~sRe{dzB?)@<}nZN z{Pqs-q2@~$((7^^DmkJp3%`g)a-@AiVP?jhib-9$UB+)NuV{q;a8i|>etdbS$Evgm z5|YkZ&jXlOP_AL78PXbzaL22+{Jl2jpvDWtqd{Db1aG$7<@v}*J@vWAym@sh@BqkC z<*RuDD@=ln)t$cpo1okmeE5l?FjQQ!9LXt&0thWkl^g|v3Ivk@r8)y-faYDsTkERl z7NRwsC)R?$jqH_WiF-ebq(Ie8{CQAj;!!-Q!eb!S(9{aTH8W$(Yy|IFiepZBlhm5F zZl~p)$-=}b_rxZOD^*dKN+p1zjNTIk)p#L%7DNww*w^-M51X_SDj`}QknyB2R;Frm zi0~F}2+q+Pug!R7gzo!pbX4cl;_#?@tQ$G9Hffs|yb!WzX@)aA1+GT3hC`(`PbI%& zms6LV^}+kIvo$;UT?ArKA&RIWv<>9Qu~5i#<7CXLxM=P$OW2jl&NfPVmyn_ATN5E9 zM5wba%&7am9w{kjXXFnA^V)``JGP^X<|XE4e+r?8Vh6b`^4S^4h{;>jbtL4vm zO(Pf;L|zEa3X4%NP{cBmCx#S|zh9F?ONVzEsE8$OKM39q)odZ86Df`M%X+`~>TMUX z7-f5_xf#M~c^$aXPt6h)=9lv8+DyY(jexOE)YE>;I{f$^PeGc`_q5fV--I3!uo=cs z+!?Vbc|xj<27h5OlP;EHHZ-ZE&bshm^f3ZWwP*y9-!YRn-jEQbGehJN6~{MOp!P;{ zvwc|mgwH;|%g(lE<~I1@$}GJ8NUgLmH>_&>dNSS5;0n?x(YXa5rPyPG;AQQof}XS3R0IcBHZR6c)R^p+BXOiTb!C z&PC2o8_pAck0V=fZ5G7A2Cp~1-&pCU8fi7&=neFV;uDb`;UH7g4D`Suo$U97&_W~! z&9A-girzOQUda4B${>=eq9WzVZ>q?fM-Zo*q!HBh4=Ov>=>mU0w^y&hG>0_BJnK=iKI7+hU^*-YKQ%U5@@V|af`jgjd z+fA$8k6xNKCXNqW&o_T?9I*3KvhIBPq4App3WXw#P2_N4{KN)NkIqe^XV4zm!@_?s zyyYeIHbfGv8;m2#@;+KyHUNH3ac_``p;@pUwnBDB`lJ;2tY3LzC>K0Gbv=xLD+}x? z8VmgmY}W}zUoMO^-9c|l-WH>&b&j!h*H7o^qrK=ujxlN{;B<=|l()89XOx{6G3o&^ zQ%ftK9u=>aC6<)@Vvd7n=%`nBbcT}g(>CznEk|4unk~KhD2}ZGp+??A#c}y{B!yAj z&}ARTWz0s>Sk$5sNv&2&XhuCn1GX3b4bL405?#j|wKQPjF9KRL!}{j$Bq~TNELki! zNP2C4A}!K{P$7Y^6+||vId34ThS|~S-}Z?Vrs=__5{1WR-p)_WB-#!9c9fAOg( zj5wfRH{X5WYuE|B4K0QSI@%3WlLY}}ox)E4x7pnJ(rn&1)uxcu;8232a`7?C)X*?A zfmW)Bg>&QuYEB@R#p;cHl!Wai9J(y9!sW*2Fgf}o=cQ9|yjRp8`&R!}t*ptf5g!fe zb8E#1pBGOm4|-eY^`AIxWeW){NUWc*xQKj5T13hE%+Dw{P$?$=H*p;U!O-%77-^~F zFZmtMzrDJ5ii$xBkWATX|DExx$ccCV?gBUyf$f?!27Lsw!WjV1vB+67#csP|?7wU8 zK@t?Q(i5XJuTSa;7ze^JD3Sl8iAp;SDIkZyaJKCGZqN0ljB#&-MG1Iq5MBH};Y!lF8$^E@I4oY&Iqkq|NeXK ztSz$ioJkLqW}ds#k>OWd|Dhhc@hN5?dH!AH#DZ`&N$+~t9Af#k0`KyL!P-pyQ$6`X zFL#G{sD7PA4zvh?Z<8YubOB*Oi?Y%)o0OW@O@<@Ykg_r+RzRDx8J;qG=;my?;;;k#oCN#v8Y$*iG z&JaU#POgi4BU)8PC4d)t4@`CO_hvj@mH+wo*nz%I5BsNgX(Ldz?P5fddjMteogYfI zy!D9%`?>ZttjK%sfxL-5SN-U9%p;Fnbt@s&X5)14T%oU7ZJ78{EjP|RFR#fv2K^!wDvYpETzj<}V`;siB#ob*kbXCObj4;9TT;wj z*SngeM#Nv)73l6{L&3Y-j>q?SA4DYcbTQB0g6Ng^6oxHzHdneB=d z8j7QTF3fJND*j%kW+s?8cAfAIiR5MMi9GCX6sOu1>W%urWwkoJ_kFgq6gPKywLuz8 zETmY^IlFfg{{NL*@^S|o5yrM30`16=PHgKsV3a_i#E88C<(&RR>0eC26&Im?EeKe( z&&FT={eo=$eTK`TDlU_t=JAh>jv+jay9W zn+nb6M46Ymej}%K>d@EFrgkY!4ph8-r?1vC4Hvp$$^^AjHC}3R>9b8w?}^RJ3=P&o z^^6XJ9z-PCnu*6n)~-c~rK*;m4$*ayqM<#pgg1T=+ZmyX!-0uS%_Wv!g!vl;y3@1DoSZ7Ri0So9R-Mw5y)x5urn#PgPJgHw>YOV5mXdcWd9v`MQwb?6THheS#B|n zvmlB=4>*w9G^_MULKbl8zjbguXb1A9ufe z9V-wY)yZD5Dfp}5I|!*Wwq9+{cKzEdk=7cVBPC&Gd8n;{LqKseZm9#8!x}{3y7it1yVQnpvWl2@R+bWZmQ8|t-oG2SmYmaVx zQisI}n%5(uPFWrbtMDFszCyQ!{8T~?dHU7qP^rATx$qhyvLTbr;XPm-j6>5!s@%zL z;i)pk-9L{@lvet>{P{8`_!0)of89nY=a9cqah zYKt-4A58y1bQCVg7mv5kiBrSD_#!SVYL#*aMIsP^+i^2*v>t6aB6+T;Y`ShWUY-}{ z66s#2mQeOL&_GCiAdT1DBDHh1@V;^8%w(~jdqKDx2z0h4qWAlcbhG1ZTLeNYSRnq% z<{1z!hQI3E)JR~IQ5=#0^c;&A^#0qcm-@Cnz;o46-iQGBVTNETAc^k(d#3b8*xk={ zay)uy0)3W(#<%K^iY7!{rOCW82A+?9B9a%e9u9E9#)#L&$aw$CAgSbD3U&|9G~0aM zAZA`#dV}Aa;xGqSU+Rb^e{Zj4)`cL_y^fXNkglT(qMXWz(f$>ExOw^H?}_;H-fz?P^E>X=*0mI~rlkI{$}*3Rk2_gN?+ z@A00|dEiwQb5w=!)l7{_QLLxVj3_HQMbfa3O&G+gfs;7gh~Sr5;3;2 zebaodZzOMCT`YM~`C#WjS5e5O#~aqYG3Ptd<}}@gdjr-5C5PHU<RZ>v zh}N~^B(M|AyB^L|s)(B*G&-JD^=PCcJXo3=JW^C;Z}8tg{$rh;YOw5^CrsQ<=ywmo z@gQ1=$1Ed6j72lz056mfo0xeRBEd{_oU zhf{~HkA`>hJ z^CU07`<^x6&CR6SR$fHnvHpv0$i%S1?PE(EaY6Jq1CKp1Cb@~xw5M72Gf!}!DE~*w zH%M}*0iO@DzaB=bzf~8i1d$)JAn9ulWN|pG?NFWfuU?mfpvbJJEg>)bf%7jp| z4i-f9-L#ZYzHx>dg0}0AQULT$gHS4bxw*Zfv*9U4L+YYQD|NaKCQIVvW-2tpa-3K{isl;AA^9Nv0CS$ZSyx=`YL(oOlQH(D!% zc={0U;5hQ$P&X@Q^Lf*cFQ~p3oBtMao@xo(l&1eZabR=0a`*Pff0u6geIWL)*8qLd zVEtsC&pF`ARu8y`=_SoEu>*et(mqbDpXOfyF^-rDEuSs7U-$J<@iPz)3m_JIjG>9} zCpqtXW93(h_=jJjpsNc_I%L*yxEVy*AT8y99E;ntbG~c5C&g6`EYh`-vk$E1ahRL; z9wa;TSpnfGKL|UVlESJAMi+!?VjDS`tKrR*HA`Q~N$A}^dkmm$dKjppOQ@8ImFXLW zmcaS5IhdM zG>B%v7kYo1syD~AoOij)>tpfEdjn_d1!ps~{Gr0URdXsECBB5SqVlp&7nx#grqReZ zk>XBbGmwcUZg&!EgWEYg)fA?pTorEJS3 zR=W`0I5OR+AO>U_bWrb zEVTw|>$@VbpBbcQM!yPh2G8AoyqqEVuvnUVZRo!K4gD|756A6C-W&E{@TtVkqlf_VsO}aciMol) zb|TxGI5`ixb>F0J6Lq(~mxDd%b_6Z*geYip^BJDlh%~a__6>x{DgZv`qZKt?Ly$)lP zR1{LX`Zf^bhljz#u7QC_CpI!I)MHfYJuJKuj7|vGW=ld4lL(qI)BfQTh&tsw#mQEM=?g8 zd$ID0{x7Bc%95U+0|Am6MHG;$+QS!Q`bWN8UFy$)3|kxj-KwH|S6=qomBp$&6{Y)$ z1KW;62N(!ET)PIF^X?)0hS9~k$ zNWzIZ;c4CY)zgDHD1qgAkJrqH)sDHVG(r}#>uwBbojFRJ{6ATC%jLv_ zs0rQJsaf2Z57*ZDVq9641enUG<8iG?24PeyyYHyX&I5`Qtcsf+#h?qb`}*GB zS}K&0oqfv8ON(v#a^J7Dip0$v^mrHGu(Z+0Jo1KcL_=3Az4K-t*sO7QwxrL-(FpaR zHV7?MR!s~h=h$Tag_d4B^$VP1=*Q#|1UBEiIwU`o$NScz4t}}YS38k~MiX&`~669u5AG<)lzxh1e z;77Rw%q*L9Z(QO&S)7sFs%nOUBMX!^@}@PUgT}nVaqjD9jT~CF%(PfLXg8fn63~f*q}DxefMJtwwC* zMKZ<^u88*%@yh27wRs_~iC zBjyqHdQf=?q$fnN|0c`z{Oh4aVn0)FESoKx0hQJdnOpcj&fIqOrTrp_7d;* zmx{3T`RaIA&JC45g+5C&LNjF+*bS?q=%xr%^`Ybnt{cmS5_NuDjO*$bXsp#;NhW^$><73TD+C9ofQ`9nl$Q5+gFmKh$p`8ai5;vOCF zGWer%q5yoboEM)t`kp{XJlT$a!n(xQvOG|+YNrCCDN3NF888K6tQ#EJu+;n`pvH3T#f2|9y??%c@S(+FQJ>%Qba$F2lrEIAH_cNNhxccdt9l#4kJXY!j8qZM z{3Z2$#od~R%q0_^z43Jw?qdVpUBk?&9wb+UBzUM84KJ9))f`5E(UG6gG0Cd0lb5kx z*E8HSas=yYUN3LOwDZiyx%CfF?YLjxv5P4t^j}}TaXST~kApSL->9SeUYX8gfCq}= zZbH8oz5rR{mHz6dKr`Fjq9dl=Fafx=Rk6#`;(1(R?8#KFm&RW^0)ji^F1iL$W^soX zn@|C$ZpWR~LRl@dsJ6mTC2S88GVD71P+YMM-Y=i8$9lXQUGW~7T$=y>;rnjdNNWbw zK4VuH5E~o)*f%%t>L<8`#T**lsv-5Khe_?Wn}vnCGD z1tTj4;%|X&aj|@UogQBHR8fl;ou z4t9}0JA=y(W6e!U^{~4FqYw}&m#ks^xa->0GQ9y|^7?FV*3|I0=SAv`eloQ{Or!M0 zt^8dJ6EZ#SF{V+JHkd;_bZ>ByAgLOaN>4mk#hF>!6Hb|-w|xBtM7xS5yf)Qn^t4*3 z)uuy8`h&->^X_6raqY#fKL;8FCu-fVo_yY!a^Jsqs)%xoxh!J6I5!{ z!mZ4aaZ|kD1&u(dgX?VV31@Fk=woY_Ususs%CFXNe$KNf#aBL@?+3rTqC+mLNp0u2 zOT?^F<|)rP<3nvARj~z9l_IoSB;f^*%-T!NlGuTnM)Wca@SfkFZDV5O7D*MR8j!!bKAAv&o zW_z2!EEzH`|FYjLkAjlnRegXORKdF~DWssN#$g3jFpQ>FyhBz-{#A*-L!pycHuO67 z7kk+CthNxBQuvy&Fc2hh*&0(|4 zeEKLu$yTV{GEuufe{mIZe;>*C^tGFSEPZvrfh3;YNRPmAwM--a!& z{i)6IyDU1uN={#0{rcHY&|s{-f#Q*vzeVJI1Gh?QYO1Yyzc{I#cq;v}z@zi^^i_^l zAZ_vmncWfPDeqxI5Z5m~Po$Sw{hs>wr>4s>OS_!jqjCF2SO+udCD~KV&U;rerd+M)E_Y);O4dA*1 z@HbBewQX^ZDNh9$+A|%-O7=kkD$*XUwxS34#pdy5ePAsrSx4I zG;>e1Wyq*JKE?6~ntFUW#;1xuN^_SJ`5gMdEa)jayBghsPblKvm$Z*>ZHp08Z%k6{ zZrMvJe|q_nZnfJWOhBpFx8oI8e@DMw=Q+v@@sefyhE)`A4jM|?Albr%Ux9;1*_#kR zBR9;U3_FuCYMe$-M_lWXv}~j9udr(AY79$q=cLzCp?OF6M zH!M0-H%LnwLM$85eX36PTZEKuId8?oyI3U6nMaqKJBU>-yn@xpGWtfG78*+#ymmcu zNxyJRK975%C;Shz^~L_pV6n|2Ng9Z{e{z`aEd4?rz6D~TUxjrVT=`W}(}6Dg9`rYe z;C2DI1nCQ&gM7Xq48HrBJQvke2@8~jvf~IyiGtfconQu0;C2~6VsRR%#D8S?TF8is zJxoH>f%O2-iD?Ac&^j%fJz@rL&KWnPomPsFWhH(JUGoa7G=hu>jWV+K&UqJ#};vZpyeLz%=WV&f#2qhH1*tcL(rua-25Bso1my1vJQc5U8?{8mZ(G2r~ zLs_UZ9b^{_nE)1HsWw1iNf0Uqsan5^e1j-PanaGljIDk2wUDjQ;_JF0``S^|5N=Hs zYjxe*70y`99EXg(1V`8Kw3B}7uKiU&wLukc-^!=5QmR~gu++))!2Ro#;yW-JGB-1}G)xMR4V?HK{NEnWtlHj=Yhb5PHt zYG`t-N=Q2Gpc{*=5U?L69T32O7Qv20PDUPv6>u@%RGE2xvXtE}(S5WeEgxqsLr+Jq z>9xrRnIgFuFH_>Yr1P#n1&ibEK3jF%xx$S>IN#qg))v;SIFNQKX|4ri%S>$5g7cFQ zNq{6~KPeO8o4Zk+ih-BJLCaYvPFzpZ{agsOB;T|eFZKIPsU26^WXZPXQ}Xu}U*FLA z4FKG5wI@zM`dbmu?QXNvxEAkzqOel}d8kMCUiE^{#axDnDSraqFcb5W^0+K^F(nARd3J8eO9a2MwG>n3bbc29& zGXjDj-5mmgNJ&b+x6gUcbAJ2le7tAxE7n^7Ne?@MeIl$xX*t}PR$iQ3(y^HF!cS%d zj>!ZRX*i;=i%FC5UJai*eL77r z)>GV6#40pS!*OzTgBjxu7m-Go6Xpl-n83F<-oB3<4Nt{hi?~syJ)#3dS7eZ6tdMf2 z%qP=D+72{5^ij2VA$WG=pL&0RBFb^~A_ZUd_Ff%wypoW7&TsK+xB$*}dC0tk&@KGK|~1{K>)2N3%Y9 zJvOZLTMX)zu?733(Ye=W5{Yo{5tScpgF|LN6vtI*h+9p9Y2G!jJ;pQn9CoSppSXh@ zL#)4<+Ux&Nwf{&tl*CMx;0wl_0xuxScY0)L0EnQBFcJogOaUsuw1QhF0^r7CDmyOi zJIQ`K0c`9>U<{T^sp&B7$u5s?)D@ysN+zxfEQJ2$+TaO_ul*9dx!YaxIeC8SwRIKt zt6iP)^m!7NqGedTQ}pNfFK#|B9`HJ8JExdtX-U^UxqbXd{U@imc&hvRR8!vJK^x8? zZ))}4EcOIz+y%F8+BhP-+|ZV!q;PsXbxOU1t@^}-6Q$nIWO>0P*C)Iq@Rgd*l`X&F zAi3=J#!NbLYx{!W>%L&V9QhdbMcCjQp`Y71T^C31J0}6hP>a;h5@RY#QXZw;F25)I zuLd^Mm)e@QQ0v;8YrR8oL((qeX%!Tt0?9*;w*Y1BP5-=Q$We%X&Zowarwyhvr09B! z&X-{`?m#jOP|8PzzEna+yVBwN<9^F?*$RQn#|f4im0y(^VJ7-Rpx8!v=E=d>q(WlV zN}`B!5rNKw*w# z+QAycK$Sj|&~eaC#muQEYLtGndcZmYygA7i%52oW_bKBq@faa-pq7Dp3RabN&#S$+ zt+qauyUhMSqW5dQUkW0@p>#@8AF%)DWHn>s)s z6`T%woHm2=;zXg|5W&^&9dRj5x&YQ6a6Mn$s)KO2uRcEH9TVD2j5VxGg+|q2zXI#X zlQr9g>-B3|2du_;k$Php;yH}dxo%23>Gz++q^Ew5+Tpm9A&Wlo#gNvMMc4B*P*B@0 zrm3=ixR#uhfW9KD#o@tcD<~Tyu8()S9M;*zySHhk6P)L0!&Le@fjAnRB##0}QEGmo zm5x7MDm`9xAGBZEn}J#72?(KWZ3(k3W#Oh~WyOT~isJ!04$G|ZVuSTvl`m-ghZf_8 zgf?cu+y~~Ld4AV4OG!?BT0UziC#a)W`@b*ZBX-;KDvQnzo@ar8S+go2=DCGYOWt^q zVHN;`uKiu`Z0X;35nC+}g^yTf1g2bd%UyRb0kNlZ&wzBsC5Pw7A8vFegkKeXynNJv z89?!tpPbQj97e!$$!l1{HKgmBwt*OnR>s=*pYc1YO7$c``Q%`TXk_v(}VY^ntDH02cg)kIA6mBX)X{FgGl02{H^r+B!3@E zE_RddZpeS55_I1>LX`$kd1)Sf1dOkX8eQLo#3NIFZCHr=?tZ<%eV!vvxVjANd9 zfR7{h_jXcp7Sbk;A$N^C82_f0RZk5 zYvWIVThmy(!_CrEBx!yq_2*4cX~6qn`3@HO;uNmF;Z@uwDA((-c9e>E6ofOx(Gdqt zDA-F+ycg=()e8EUsvG-;+acJ|9q(6IipnjsgPZyE+Z(RDlB8-<(8!xBXQKG8!3oKN zIETsKqiUi)p{?4ciE`*s2q7M>M6gLFBnBgzgjYdMuI6OeFs|0YbIrqVYVFhh_=3Ct&&u7+iqGBe;G3#_pzp5K70Fhh*qeM`iY<@t(lZb(U|Lfk-;)I00wRD* z0w~a}-qKSLwDB2znVBBmU*(;fgW%wSdn10!-Jc{HDGhnw2_)Rxh;eUN zKnIP8jZ03D?3<2%ht<}|A!1vc^!{7n7FxVEQ_M@_r@U8knO?>l_!qdbFS#9qd@eB< zR`*2#H&zFxwe|vvZI)M&`|8hM0EY(=)hRzLze)|m!6SQwo$wgOx3(t() z#Ac-rLP-lB4TGeJFFf{R?rBaHSS830eFjVP_2^(rA4zKF+Axxf8BCw#>IQD|H{^Bc z-MsyQ^(`+l#djV&OB>en1&ClGnVo%hR?}Eg(woR)MvATVMF`1w6T+dGb)tE5KPujV zao1*-44EQYJ~PF5id{K~7W!oHiSU}+R(BWLlR+ZUoj|T#%RPJFQ%6pXDI=-w z8kZOxdj3)egqCHT$MvjupCnuz$A6|oOYu!;c4&Da?G(3pgB@~{mfV=g?*7jBac72m z{DiN0d9a3%KT$OWz1?$4^X2pKajz;#$-wNQFq{?Kst}Dg#aZJ&3I?K-_!YooqJ-+EPQh|Tpnc=?qpdC2o`>9%4?SeZW$n_VdC1;K zh{AhZD48Ny0AaXb@SWVs^fSuN=a>QWSmMfqW)X3YM1znZWafkcXbsg`LAso)7_(To~nPG+N*Rdxi+Z$213KUrXHxe6Y4-pAIGxIzfAe zFUTQXhUxD(ywCa)FAVB7yW(+t%at~Zaqu&$fKf_5M3h^quZiq&R&X&nzKxBAZRgIS zcyPB#pK^rM9Q5*C9A%jD1|r<_I8N82Wgb0ufbNIz2C94H%jMnn7Adwoso0$oIm7pw z9L$)|{ABCIvVa?7&cR2#3yzs(PRga6(4FJ-&QsOrk0*b7)JOXOzyJF!c_c@1a`@s; zwJ)|L=(JM+Y|idKEGy)_K8qrSk0i_ZGgl^+3t9K6J*8wud3{X~90 znB%L^qA^dJLay+m#=NUIZxMoj=RePrE6ery-R(;2%H^jO9^2t4*^}JM@M}7;F`ZyK z6HAc9k4!LQ8I(<-0|=gZc9_fUnl-2Bp~wxiSQfX1SChrERIJs710Ee)G6&p(XXeXo z2%NyP+Plf6dS|0m1@v)Tgmoos^rX~a;4}Xy`PcC9PWKEnuz47K-1Qs8iJ`XAcmB4~ z)+|8mj%v{9T4okGSrf9ux`+6VNOt|{FPJ($3l^6D#`N|*s)rtv^w^Y(CL+SS9{T8F z=>o8P3A|D;Wy`I>>cZef;BRGFS1F5M^`GX|P;6r3t=b8O8j#q7G!m7EYL0I|(oK}} ze0Cq=Chm~s4nmTsr*hlAq0+Hbm}EyrpdS@O?t$?iWR>g~T6~S&u~TD3^|WC3LNul2 zFvNinX-d`AiS02SQJB)1X-Ep=EDx2jl$Y11X5vEpZQ;uDWnn+_KQHDM=)j z9v+;gjjJ6n0K>$yh&SX=BSb)GSj)~=kyGy9AZxBF43{+x`O8}p=@Ux@!7E}?!w9W@ zkZ%f~M=4liVov>J@DtanDUMufJXLTGa>E%UY*5c%3-l59MJf%Bcc)fT6z?{-J@ zZ+apf+0Mr=i85PaQaODLigZRkXw8vK&VFM0@9pyvT-7dhl>248P_q@hjrZk)w4ZxK zPC45DSK<5VtIgcg(MtP&cTls*f9{}^vc2oRyT2^FTm4lx^HueP$0MUb0;dxpIN2%Y zz%#0kwBYO93U-C_Mv_YKuW@B3-%5DWeaAtY%RIOm%g0s_?v z$w!ae(cH{Gv&37w{OkNcv?o@wNZc*P#oSe}JsOIKgdfci1|k`LLz6+UM1pp*dF2at zA53&76w)EF>r5OW%AFr*2qGuV+o8^}cAn3F0cO-0lqh|Up-#-G3hzONxvw47Aqo(A z(n+J0KzCX&Kl2mb59M&w*nZbnq7NeEK}|qhHF8s%%Q4FETCd+{^x~Gv7fM#v383(H z)|Es-9{B<3a4(rGA-b*YjVYjd=bE}C@_GOCnbUXKJ!+2-0Ej9>UDVQoH& z{E-np3K}##z&M-Q9=Ep-Lie$((6}2}a^>3fofWQsG)TISiE=`hPqum02C=3h9F=^H*Gk+R!Q<8;F;e8?jqXz)G~yh!D}HV3m zkwwZKZm+fH*k$2b_i~)LzL@iB>IifJzKefHLWID#6XY3g{%;a^%0|<)-jS+^I||S% zHFuOgDE-cTHubOK(f?1y!*CY37caU zp+{XHJ-aeyaoNYRRy^*^_dr;_hn>^V~w-?!W zewzwz-HQqDi?NA`b5p8*XuG^Ih(L%Uj~A=_SS0HjQXcg0@Ur-w*$bmwIWb#3!9*jW(Y{4IuP`L3<1BRKy&RXwMy!u zoUq-=#cLeI)`$CNV8&c8hNG;*!|o&OQUo=&VTZwex@x##Rvt#m!}~U?LMjQm46--W zm`-*gAm7XW1*Rgar_5wVHJib?arWaU7a5PO-(sUGYXtF zQmo1=f)tcx4$d)CKlBMEe`A2w+n6;ld@@ZK4aJ&+w1F?=KUh@+d1sA2nmK3^-(yc4 zu6r%K15LzfA~~fhdo}}HM5BDJ7|62!25&y$9pKVMp@Xuk4wfl4#&XR&06`qD_DGM|LK2YUY>5fAb4N_yOj!ix`Tza0)UP1i+R@9A z7Ha@wchv4uAU>L9FPGgy*TULdXG`@k)Rr$@cj46oPs*LKxm?Hfz{HZS5JmZR^reDZ zm*4Y_7q*Qrhg$UezcqU(3?zmLr;$3(O7sz1k4GgjH9s3Pa;7Fe?S36qqvA}zrp3JO z3%#d^@n-M;bjTdcz(fT*#C`NUsy3rd2N#pyG z@tj&tN*s}gDCSI-VhkPYr22g~i@@#XY8=XBN?>edL!E34MRUZ7IM7i!VYrj<5&GB; zTwmLdJFXn!atNAmqxZBRuloz*!6M{hy*frOJLZ|kf_iszW=&f>{g$G`I2?f*XL8Xq zJJahom0)+%?6=F6)Sc&?MHZF&3{KQT}KB!Q^ST=$=1t=lnaETvLpLAmSiQbpQ>3adKmoeRUBWM&D3ZMqkDL zGc!CqYWUaXy9O>T@+efc5UV7NBhdxkZPI+8)xT-hHssbW(Ze7C${)asn!2r{hYq}=h3?9A1KOm{cPCm20II+P4=rvYi6-(ceT?g< zkw3X)fj$|jpjB6ses&y|@MRw97iT~rn7JtH!F-FmhlJY>q zLG-QOry9{hdc}xS#M>qvuCyesq%VtH))E_+Sm+W9d4>TL%&R}5E62Q+e}`O04wOT( z3`anKD-L}C>~e|>)#h=q7a1We4^*|Gil?Ki>9F;=7OF*f3q$H5>uTs_w}b+>lfEZn z53RRmq1Tq~ilMgci!AZ4BWc5XU52Q}!~vHTezZ~f3kOo%xV*`XcN^XAe-Y#9RhfpM zzBUeRoHw&R0E4ATxz``!xxt=SDRj^b_7X1AEpJe(jJUXh6m86a*Gk@UrN-&HTj57U zRr9Wy&x??-sw^{jSlwUujtggWEDN;KWEk)8(_f>lJ!bFjkV_0P#|YYz+oqCovsn&A zOND>TaHw*I9fD&6HggCe#CvA3AEl@TxLFOF(|?|**El@%Vos9)6$Lg2LgKhSlw|Jf zIq}Kkk6IfXW0RH+r16Uzzb9CEB;fEO_-SIUBfRM~2|B%6hV=FMemKrc7Z#7fn5D_r z6BE59Ee$v;x3B-VZn7aDlvlGY2T+)kQRWtx(;F?L;E_qtrGo~s3)s2R1#N=8Aa65cmp2h<3G7~!t$sSKrdq}pQBpR!+jck)XT@1 zmhwpCUw)tdWHf()4wu9KntVddn3H$-H6|;iO)Ai2?pfh#4iXH$^u9Egn0!!NAcw%7 zCDqA)GkF>AS^516JAeqJNQ^K2` zOZ^tYT-$j#$R?rW6i157s80K0gC154jAW+0F2OO3l{2^z;9AqaeuI-1gs zU3iY#-oL#+K_yFDpuxK7yREf1`4~a11h<1vGg4xxolym7YH!Q zEt;{veDr3ysu)~+=uGW9W(st3N+v0ZfxFgARku4;PsZ0t0Px}I>m4?ciHCkZReR(?oXi&II z>o+&=^}9vxcALd3^#OW!oyV)yV2%Ao=!l6e-x^XbDd^Z`+Lsm@$Q^r0^Mdx^Bo2 zpCIpRBvp0(cD}!BWjHBinYN=wf+JS(thJI-T%*2~*mHH)zy@iWDa^c6AS`U*q!~+? zgk)Sz?iuWQSCUeO<&D9XGQkyut_tomo$qsvvX<7lAA(ZEE*mbfzE5ve#u<4%IL=2r zV&-8A1Sw(O%iMD$u$gP%*C-FKnfeO}EYp}&=ntI>{yoivI(*-v=Jm*9iiKk!@b&Sm zH91W6GkLXAAw-f2gO4_tipf(|`MiE!>aC$ik@+D^RM6tsyy=zOP-fT5pK-6bV`OVF zb0E4;N=%h+KZZ{<6CmSsGNM^sHFD}IH6}Y zFnXpV!9MZa@1yt3twk!#aqg_1d5fK$&axTfL>E_vR8_hWyXzwgw;g0RqS}|NN@JJqNE~f8Bk$jnUlU=AR!N%DT#CHvcnw zYCGW{l^jM2D1QKK5I8xeINr0@o&8F)_4cwH+W<4r9# z^WzQ^G>eVYxnwIY1so480o2_7OJJ>g0;_*B;=gPFcz+1gZu9lVWKJ-{`%Esu4vfna z>mqXIuykA&-;zl&_qE-G+Gb8GS$PN&GW(6>K6}KQaLEuQn4#+t3+gvJsLKy++6Usr zG3o{SLL7R>x845wK4U7!6aY!mkPz39Qn9*LI;wT_57UqIKm?>m*kWe&*dHJMAM?Ep$rw+q;Mt%G4D( z3|o|j?{SQm^xk7hB3~wsP0Xiw168DBkcYlNa$1hgmUwcdlvodDKk8%TV0l+wWNA1l zX!y8&pcI#}7gx}f029}Rmjkgf3?$!ARi8r76&fnw<3eqLDlxuGL#ku8H~k%7d+qLH zJrRfLIOoer*#H79y6Ld?(#(p+B!SJ&5D~%fA3Z@Dsn|E+D`0U-qpAUxPpJo#605AJ zft-NxTcr4<*jcH!7`v(a*}d)jo4&IM5A|0=vOfo%kqM`{kA=7VA!K`WM&G$w&42%4 zgEwMLkl2`?rI1!$r55;C3%ObcbnK#vA?T;`mwn4WXdS;lH>GfGlsWv~ak3~>3An3q zf1(Yys;xRxuYS*clYXW<2Sw`@aH|Jj(%Er3KJ(a!>$b*|f$8oE2ZutSWn8`ZS7}9Ax+UBtUVlq8 zy!SaV=p_HN%NK8`PV+g4K>8UT)#*@X3N9|@HJhOTCXX@lA-vI9zoSNAae!#h!QyIu z|KA#=5rAavAKcy^wA#L<@pkF_IfSZyS35k0#k?PHuTb)B%x%Av#L$(V$s}h(M9tIn z@Me(g3FPVc(`Ln&g?VFxrW2aEqf-5P=v^on)y+xzb(Vc3kljiEJ&(T*NPJ%)9^!ra z(N?9M;X*8F3k89mY@1~`$%hMLHdq`gi%fqp@tV#9S1h4Yydyg%{0pjHF^esoJNK_=n3gXEQ{` z3!?)>FS4q49*0xtneJw(|7%_a{FU#}qQw zEP;t8IZl|aUAAc1&%FamP5E8`EDt+kq%m_ldcZL=kk+4CMzq>RUwvAHq)WKt#`l9v za3#(vn(bCI z!K{t+n9nI7rLMGOLU&Ll_ zo{RoRxCSL(T7;d>FSgzAOL+_=N**sKb){jsHfppU|8 zADOqIT22+WbHC#zI9|PzQd?$k*rt&Do%m6q2{(0;p~S4s*EB?s?Zrfq&cj2fZx$uU z5Wf=FEWuJ_9#QCEEWcKyZI<8DB4zvi!O!kwY|&*LPm`AazsQN|gFNqR&u$Wb-sEca zAd%RjH%bQ}1-bd0P8s_EkteSU86>1-8lL>?5wbLasg?)cwAb+^LFXZX5#%EA?r&l% z%k>wQ3f+2=+*0p;4;!$H{-bjXV4;Kh+G&*gCV}wgp7T4U8=BxhG#8hE{6k`C5_GH| zdnt2p`(;0mU<+4*k%lYDT(G$`S=o3y+M&dfOO%T&{Lpcsp&g{iv8gRu>wYMFut-9s zMS9tl4Akx$AB6(##hvEU^yLIe>A&LfUE!SBl_r^sQ ziCVVJAMyF*Vq0k0?~>SmV2(S7G%v05_M7&Ia%8)$0a;3)7qkzTurazRJit3iKE znW_+yk@N|gFAbWGn|MzBhT}YbE1|waZigP}Ha+-jD#42uAIX(^={Jylth}j3UZnD= zLCVU~@y(>r1J5nAR70k;pGG}=w)nr>9^W(S!=Tk0o4~XNz%=f##0!;7OZ~^8^8qw2 zQ&E$^uJp~>$9n4jd}_k~KDFqgo28YTrG1jyRgxA9V4u7nbo3y&#@U4AbE)^7RUIY? zY6p_AQ`-?JT_9Ebs=kV>Ti(GzAI!r^&NQiW&qE??-<|eZ^hzUbP>keoW zdD|lS!`n-rV>i%7{h48WM4bbQhPui}YIvi)(GSvMG}O~mN4emxC9#GBHIdxT2-h@}27h}x1)YEFFeNtlLx`uk?OT3N1oF`GN2 zoMI0%{w!E_(1^~(TfqMyv%J05VJ2&yg;EYgR;{1IHM6l{Z^ocFw{e*JmrRwzCYEX3 zD*{2({A!mbXKyv%kzC4!7-^mvpj>HdfQau>pW<^06~s;G2=*u^t*gKXy-WL9l_J422$yTsI!fW_)Iu)6S5*uiiGo zoyknAc~$zq@24y9eqOd1p0@2ZER;FIMQces4O@;BPR&*>r=9hol2P50pWUJoqLM(;NCyyjkz$2*-4PvFF8f1UdINq z84|5ZoAGwmRVI!wd|kBg$-a%!ML|N>iSiJ`k9pd7az%=jOAnVzJeF@N8{b<$EZF%I z{?XNNuk@?tK?Tnf%kOco4R~>*%^$QMFD)p|Cb@Ey;gdqXB_+M@LQ?Sg5I=^zsd(GX zr$!{9)T=e6*bnaAcA46#pL!R-Ux7ZkXbI7G>q2Sava)wArNjFflydJIYN&9p30UG`s$Wd) z>`XA?aKKLSN#)x^In%=$P(3f@#5}gUN7AGRYQrcM-Pj3nIJw{(Wn+~a!_%>_zRM8n zz>aKt`(S@e1^OX5ai)QZs<_KC8X^egqN^P3M2HCvSySr%)U};rx%tbi;Y?rH>Z7{U zeFlm;l@zyTKX^jlQvJ9{!alh0YMHg>5Y|n zZU$X`x43l=M2OlAqxYE(eAPBlY3y?j0sqqqF#e}FoB8r~apY!k#7OIx%iWoaG0tBl z$FgVM(bTKg8q=zQ)-o8z?8Odl)4$w+0>a6tgm|n@;NrWOo-R!7jJ{$NG905^`b#iS*%wm*aM8b;xd?$HWg7Em0D*? zOt%{HCUPFemmdkX4Jt9oFzu~Jn?EUC-g2>@=wPWvyjuluvpu>Ry2 z%vX&hW8)x?n@0jGLBsO^lgeCs`#I2T%w)#tl1P*?_IbBG;y-*Jd_l9cC3}@oA~pOF z*P?@TG%TNgjHMoIce~KYx7%^DS%q4^zWn}hZ}|l3!WV|GB6+o|MDt zd5P%DUHIo>L>a#*=bFZDuPoKQ#;T=Ur%u@Bd|LS2ba%62Bq+}xn#rt_iOH$iY2PX7P_h(jEOy?IYR2>ZV*?F%2*laI&JY!BQR{)LiS z%@Jir!kQpIzR_Vdfn#_Q@d<==o0FzrW{0G7t(90K(fSL@7ozTQO4veyh!wtsA8Nj| zr{i(R3TBbhsbWk;SfW)0GD(II58o{9!K&afkB%m3-oW+3G2*I*rI^yc?>-Uh`wWoQ;g zhggbO5@POGtOxz+Le?!qZnJX7x-%TI0ebK?7vH7ArK^?mVRkc_R@QGIdWnyk@0K&{ zNgRGl+YW5r1KXn4xu(<^gZ$Ja))|A=gcu!iIm-}WVtH~eXp+)Y4$}ZuR8mSke(jo# zW|x+!{;-pL0)om)xi~vW;|oFmt7F#eM)I9deh`)2GhY}Ie1ycIlv{<(uHk6YruB3% zdar+AbiGGeF=96%HAyKVPa)y{L@_*k9H~Ui8e7`|tlUGz<*Bw7O*U!uHLiP*Y}F1o zm#qXk@dG2hxDN@%JURqe@zH>O8d0%M2d5z%e}6o8&K8qM;jYq;HGn{!xDJ+7gfWUv zvL<>0e8GqHsc>E0toyO_s5I5G*XCa%SHBEj<(o8XKF?Hh_!u{HL8-rM$5i?>K!$!H zR1Z_rQNg>J)=9Mfsp0&_I-!@u{Zqow?4;;44J&2dmW#FiO&mWiNR^)>K&NCe5X?qt z)in*GT0=xwy0tS))kz8h)0J({6msw;8H~iQ`>#MgY6=1!{Rihg2iV}XS3Aa?PuGlP z<&El%XQ?6*NSgm=X@31r?yOWNUUIlDce{>FDSP%g(MUo!m5w=2sI$*D45Efdg#^<0 zKR_g0fZY>p6)^XfQxc$&z-TW3?!RHpa&;W8M z@Tg;6$8Zhh<&?6^R1X$HBq^t&iXxLfER3E1U6isf;nw`R#@p=lQAPxk;`gXn1pZ$G z4@5tYYgbc=hQu(5%=Ku{?2qeEI=62#fF?%_#3%j~?OA1^QB-A8Uj!moiRv@oYSmvG zUP%3u274fHjdw1@3`Cd{Pa_eG0mCwat8#lFWdawA6dqs!93%2sqs5~aehrl$O$gw| zOfAp$p+i_;9BXQh;Jn9TL$WE72H&>6Q?%BI zM^G;ix#CHKqL7UKU+4AOP6RnHFDw>*Zi1|xTW=Ed(Fnk=EGK{;T1*olMe8bIAq9#O z6eRar(@N8GBv=JIuhOUt1>y%oXN$D^(W&gS^DwUzz&=KC8e0-{JGS|eJ1%?DtH;d3fKhhE`^a;^R=o(0E)F7u&4vL%hyF%_G;Rvfu;kS9TIu9^}hPk zo}Lfb4f!#A*zkGRDec(b*)IVl7-sdyS>s!~+T2?gO4=ND6j#|iSiB?gu(g^MkCH(g ztR;%mX();8e0-v0l#)<|_Q%Qp+q72zJ?pO<2OuvT+cThKr`xEiv&wJCVMl4|tw2YU zEJCJ&sj>H8$J$YjP52{Nju z{!7#1^65FMY6-D}0-&rF{#R2j3FND@Fx_OA-sZ|wEFWV^9L4P3LQYJuOROjc z-<;|aD?QCHvGTlPGv)%;VwWu^A~0tVz*o{V$W>!fz+AqWNy zl+Z>couV$YdJsKa7m1UInqaicFp%Ohj_bBAdkU9URmdBsw)<%R_*J4ge+v8eR(%ZH zaE*h}%8ys&ps8;3177?;P!eUb)Mk$z_+_DczdVTj_;>Eto2laFEOGyr5%)ezMLowO znG-Wn(z~CwS7(s_7r#f)ZVQ2>=jxdFfqRJBhWvxUnht*Rql0UUJ~Hk;4wnQ`EI|xu zgNU46h=4m5zEHk>#v|JorA`%@0=bB3;(#3H(gvcQnmUrn^}da^ zGixj-o91eyUroJ?AV?N5x=c&SGfYS9aQR9xNuHMNmCtf>UW$`0TBHLow77HI&t^YU zeLh1XV4ofSjoa9HKh5kc6fGj3+`g%qP}G0*QwCIQ6$iRcl~8XO63bNbR@$X3@kF!P z%VIk8g=$mIHGFttYZ}=LkRhd=2?A?;Fc~koHM_2}Q#6vE;Sed<7g*fj@?Wj>6l6Kr`(SzLlX-JZ>#w3r z4US;Iv9WREVYpcoFw?p`^(^RO(=S_gz4~l{-T_dF{MGpH|m(Q$WV0r-RV(%9|} zqvRHE21l;7{Kqak_|L1dx#+fm7>}p;(;c^`RdO8R8s?QL(e9D1Y7^$BBqY|X{|5J?(rh=@@b1U&#)jW|LoaANw?2y3u6}9k2sDc@ zQ&*Js`w_l>P4LrO&UeVHHD=)3;oi{@Q&qF4myL*5i&MUuKs}2`YWerG>fIknxDSIVlD46z`oNkL{4=QcB=s z?UOn|&SO!MH3Qx!6+GMQp0G}Y`|{;N=YTJb?GCQ71N*f)^L_hj*%ke+jIyfra&3Ed z@7$gFb~~SV+oKKj`uCC2+CQavW)QsKXNudP-sHX@JPHOxQz>Q9i|HohAf2AJ-?RNK zySv0DZ%e_~gIP82G5ijiM4OftJI$uGMYeXl^GeeT=Q~E9__gVOC9j`dD1-hwVFW=d)Qq~yVqhY zfdLDSCS%vRZs3kV;ea2YOPjkH7r45m^4}Vl7W(zhn)+`&F^@^x&@*Vnu(k3CAJf79{%2M;qCne z9xN@+GEb-r|B|vauvQ~Y)fqkk;H^dBc18QR_>DD{Np_5=OXoAYa^5NSBtaXAxan(6E~KUMOqZUj|+e}?C7vbjR+$~ zNr^?seVdqRA;Tr|AYQB2yHcVsuB6x1Q?AcQ7MKO5Qme&QBlB=h#_j}P`r{{ooHw{3 zo`Z93B~6A~`g#QE43$F6xK|P`x@VXc48M5qJZ>JBIal$vcU#@dVPiocOoC9b-r7%JiQ;#NqfY9fUdDm3|0t$@Yf zrmM#-B#YwwOVL5N1m zOG6hkw?_#_lQ&wIc<-IlLd&1hASIMyJw_dc_PV|B&@}D(wIT96xI4aC=t7nICD1<2 zc)0{kY;GD>nR*z*JFFopCnGUii!gZdTkPwc9Wa)}9OXTDO^L9`s)3`eBP-iuo+u66*n40}qcjvxEB?G7S8K5UG~HngsGytlJPE z(^naC*ILDDavxVuwqTTKkOgg7~Rs{jg&}?9H4Y}w}8?hT?2+7-5?zz-Q5Eu#eqm8CEX1I zg1_;(pZj}1e{X+n=XIU$IF8q`_`@YmZ2&xO697rP=nMNnX`>f_ZAl#e<^huI2`Yf& zo&pGoh2KyA082aC;&DdK<8@K_8Hxnen6`i6k~G2*&ZOsekoK*@AjYWi!1Kb+#wvG0A`SW3TWl8X1=TCxz zaf$6Xd=kBP&Foh`r&c+17lFy8n5PviL%@%+tyMTelLMnaKTC)=r_VW7&{%n401!{B zk+FE_mxlxQFQ0dlMU>Co6P0A$3g1CLNhm>zSr8s9e!+DFLZlpf?KWoDhtJYmx;sxE zF;Y_AdK^mC54oQPF8;r!WfesV3VaVU28t0e2dsM1^VM!GA+6$fx2HG1jGf4Q-~4CK ztUs<`dpITd=eF$dxR?La`V{Rd-V^M%?Zymw^@28hNbs9D~Bq_jBp@sa9_yr2ArxCJU)t;vq_LL zM{uyyKtx@ys}{pk8TzZG?k6m&G@n;w$M9w4Klq#H7L&BeVJ1)Jnsr{2`1)}quKh}d zl#US+mC)Z)c9~Katl4i+j~U+Q>O42VLc0XJ$3&1-dcgA zt@KYs_TqbA~|L>N*t%u$x<53I0k0ImP|E#E4_BCi4nIBf{)YH-P zMI-<5FYcGCspqFJ{*#+qyLWQ{!RA#`k7o%!Pg~$+U#S>2i)R_yk^s^C+i`pBHK&!X zb^zjOi=w^e>+TaSC2C!ZS=^)~<%kn_?3sV?c(>RaE!WPCko3J!Omk0f47V98C+laq zd}XxJ)<$anDpvp|<6d@is4o?01{en~9}uYv39o`v7fn)nLvFd}3?6CPEqRUkdjlpq zYm~xzFR(Rn@#~1Tl+*6b@+i0x#%xmR-9B@=f0$%igE7DB#Q_z!t#g3bb37v-fkknl zxt7ydZxzf_!>EB6GzO=o8WMrJlH2miE@U(L$7)#G*IO$&d)m|%oQ&$6}QHN4U;b5WRv5~Hp8s;h%ChmVJC+8*=V+Ol#fBmfSr_J8Glo#mPEQ4dly#~D$~E>3n`zwv zGN8CC03{Oc3Hp%?jp0FC;q5pL17u<`!>56}aQy8{P53~?j3f46#dDQ%Cfx~}RE`R7 z=NN6J*U$IK8BKLf;8WrKLq)2{7PkaQBH2uSpwYfDB2MONs$lM z68$@{FrH4&*OC%YVZTCMo&YhZU<0kQiOu95a?)Eh`64LnOR0RQCsIWL%So%oN0C`{ z=Ycc{GQQ0QdD1Or|J5#c@W$|PqWY$3$AzSN%Pusd7TH4kkvSfq?Ux4cmvV8Q3?nBv(IBtz<@nN804WNT z83SMTWY83ow7i6{0$D8#{n(Y$$m@x?p0f)*aS2Tb++<$vU+T#XqzwS^YiqGH(g9#~ zvDzYE#nEj5s56PFvD*?Ck2m2tIXDd?)Y{SEqNRe#U-dW$F^DPJo!4o-5a*&5t6jJ0 zVezhap(5VWZi5Fn>A&)S2_tc%L@+>Hm%ip0fc0+smq&WJu>bmCN?J}P5gKNhgqWZu{CTYMO50Vjsk>J74XpR4IDq&ccw@puy({}Iil=Q+aiR5SG!iA%ymQU7*9ze3MKe*9*@^FwSerX_``60mhz_Y0s zOsdyjX3iDJYm=6ZsR?=k!34+!=XzWQ6jR&L7R1!$HIF`H89!{&QLjFrM+AepAzV9_<5~Q^As=?JRkWY73>ygL8h(=>8m_Ct{zWXq^TXri zdZN>O)(Dy{0ewo4b#Ftdo5UD*yOXJi_G=yT9r}Y}o_CzVZ{WgPMZy4RZ6PuJnk3^SMm!%+L+U2cV=pX zy~THckkS1Sr7@uCkI%p3)xozK$qOtv!Th7|%iqAU@lOC0kSHV+CM|rl zot`{mL|~Z4gfv%lf@X+z)KO62qY3L3DHmEa0NiM&#`h*1)<no1Kxq+&nh#3W)_||KG+QV-ex@GQep-Mk1(cN72p*Wss29qlCUz(xjWfRZ zP5{zDT|b&qqD)kT25ZNMQ95ykHoDRB%dNWlK9r!nysX7z6wW?3E&Z)|ohye(4`+6* zLbThAPHEqB)bp&n)TZxg4QX;#S`M{12NiA4yQo6uN43c6BQ_^>)o0aj{e)4>U@%(x z=9JY4qBJ5F8)`oaka(ES4QtnK6O;u$dgnmSG8I3^Z)I!G`YK*|46l65^qP2SPww`- z=c@FYky7vq^Xlhsh)}>-Tf(=VY{>wBAB2&;PrZ|qxa>NL{MQd_6VasHjV=iW^pIRa zzBvL6fX%V&cT+*ubuB1)CWk66ykV}7Ed%eGzUIa(U>j}odDlaHn9iYW?uMVOMzDx) z|A!g_FSQ1{fN}GZ7bqB8ACW(l6_OgLbX6C5+5PVh_Gp9=kmd1FyF4V1#)SX)m?P=< zJD7Ng{hw|@8v8Xr`NIz=pv6Pa4WgTF3!pJRui04PfW*#l%TX$9{!>p$nkYId$L- z@YW*udMB6-ai)c4Sf&oadPhY1<(Gt8S?llusr6txDHUs%ohp~wD1ls1Axlf*m!H2! zF0k9bF+_1`CxgUYl~YNAj=xCJM{XjiREv06?RWm*zZ*jdN5Pk%6BUnNKfH2#SPM$< z*Kt*3aho*vd~rF}4pAtT9YOT{=A!?IUQ{Z64W*~u(P?Hh$yK*fL4rS*HH7BuAc zyBQ<>bYA3ZQt9k7^(L=_`2D3-&Q~neXe1Dv$b&M9OYW}N4!N?lTmSJ45XR^hny#+V z@4ucsH-{^<4B{o7hh7;ZQ9vI6A2eJtcX&@Yq$&JDowJckc<<=c*Ju6j1asBEs27C0!5zj-FRMt4QQ_s*B}a z(I}O3@c9^)(>p9yWlrAKUeoE;H#nLrSULOs>c6A*bliL&pRaYRE1oO{I((iVed1Ex z1$(CsLh(y_Oh2vQ{GV;i@{@zZr}g{IRg|&{{o`pQH}(CKV~9mcgM>uXLP$r-hV3rgts$S2}UzqsghxS)#A1)s&8ax1@;fl6{zInE!#&E-(fNdepkN(UVmJ&Vo_diY}}6(DHf zO_YcJ6-xQ2-d)r&&!4yc;=Z6JhE~|At#gQhk1`5{=4!u)9p|?LF+=e&@Sq~rf7^b% zf7{#sWa&hFFFTqnHi017J9fX^L#*4_+2!VXYH9a(sf8DwX8Do( z5RIeK|CN~oC@Zc(YfZ@Q-tl&}YmKr2$=_o6xUq+?f7Or2MS9NS{1T+@Zztttz|XZZmPj+r9Z) z`&2PY)!p)+bW%M~vERb`Xi;ZPMv4~EO-*f)T&|HVR$_wOKBC~se&&dR(}ET0)bS}U zh^XvpNV8H}%sM5;aPfKA%@sAiONQ)pxvGEK?RF22i^CqK`DTG=CZW}3y3oEl_-Z)68H7bNB_b}T`?v0xV0%0il^E3lKX~Ff-{bH4nVGalci$YV%m(N}7C~qlWwj8v@lQZ~CclL) zmo6Liiyd~HuUf2H>H=Gq6IO?dX`r{a=cGUv6BK6kxOZ=q7tj+uRxAff4Ot+ z0iLw@YICY+p2)Va>C(Xhe(d~8F`G%f$D5lY6IZ@WVSB`(%X#YPa=D)c1(w@~%6ZSt zLcAlB6B8FRLoOPwiZP$GW=XITocp6-HtF>9@Do>S!&0>yr}*TSdusmz(XS_gs@DM^-5p~nwwC; zE?eweZ8cP)w)BCCj}vmFi!xwlzZZIFP#H$RNR@GS2a>v0d(sm;poRu$@|!WKJ+%9N z_{}*C1WGKNcEfA48K+rOyFqRF+UJvd=Fu-h%cwDy;2H~(Vtey_>mL9Iedkj#j+j=? z$e!$|hsGLq=7#2n0KI;d%?qvXj&9~MWEaMbY=y?`pPjs&t`R<_W_80}hqmMWK`<4i z*~1$XZM~=<+GNzqm#B1m_eH7p7#O0{j~i^OK_Y7n)zI+I-Ls?f&92p(M_T9NAsqLO z-^(D0jH51IO(*n;5pf&|bgB)j0_Dn|d!@+nF@HuvLN!QUtziohuQA$BlmQY>(*Mr; z22xIZm?wtvzE<gYBR-%G9qv`A+}WIFkKMa(Zw`RH5&6JuyP@>>Lf;I zr-=`m|F%*jzn`YCFu&?flN1!9TVCeUesm2e)kBlD2s#UMxx3^{iyYC@ptPy>UY+DO ze{)>k?OhTQu;`iG&Gz|s`U47nToo+M;)Z@(#mEi;AVGGVi|(N|v+%nd@;|;#dHIM+ z_CIb{GCCE_-!JZ0ayvV>e0UT5_tua5arlnaB_;2lYc~CFmd+Q8)|H@n^+c^iIttu@ zw3@>YeYZRL7LXl0S6{hv3iUuM^m%`0GT)>p6R>?dLry;ZZ4&(+G7;*UOC}g8;h9mp zZgje4bq6cNqiSQ${M>@S)hjb6`u3-RVslvf@$A?q)~zU;`oV%OZ772a-DV4rSe@XrRs*%DdvTxE7ii**O`t3n z_&nzozI#5Zua1u+%__C)ojx#GCppm&d~l&7e>)EQrb!9~_xoS2iWf)@tet9CVh&7c zXyf_}v)sOjObZK7;p=lJP`YFN{G#aj)bZvh@%0YD0tFhPM%VU*ft6OyTGBfj&no_c zGF#ZLTSEk=8eWbsj-EPrIF+QbQjHMPFlotly+|A-j;mTQG{AJ8yqRFq^OOn?Fzj31O(Rz@yWocyF_Sxz6KLYR|0!T2fBl}W z6yN~>gWyS#(a~ePVCIcdv4)k|SNP2P?AHZlIz@rKR0?trI^B8M3bsm zgm;-NE7%Am%C|ie;1_@NpV0u>Gf7tliV`(@kcCpap60k$P^z=kst;1Nzod~(Dwa_V^|-` zcBwh(_aj5q_RURPGi0)DHx}*BG4Tr!?Vc71Z%~w?U4v*F`ANf8#-pfE=J(_(Hcge% zDo87p(_V_xswKJhgv_tCHI z;b!1aO5{We3(Kr#OK60>KDZlX8ZPFgc7YeKMZ8lw?cNRfTgw{I;hZLmU_f8+BBy!5 znaO8a`N~@T@9Dm6$Zmd7%_G@T%%>sGag)+RhoZ1(Uc2qydsmsBwBLyMD4;qy@3*k> z#axm450Xv4EFexx(PVV1fhhKH2UUN*QMwg>ovK+{sx$4d`nLs1^7R%!Sv3M^C0iYB zuV>{y!;5r;V}ZlwO%_ha!ihB%t$w>(KvTL~-z;4p7s9gZxnED-LFoPL)W!B-D0UG1 zDC=VlAE@PGvJ)kLeSTG?R~{wBF4zhWJsZz?KJvC#wie1Zyc_HO-jW?^&8N)kWU(Y| znIdGZFhSsX*#&Z|`iTXUuOUZgy*=kQUtN$zQ0vtms*MTXtEjUB6tJ$C6Jq^2=E7cH zf34R-0N&MLoQx|``ntI*Cntp$pm|E<)z6D?EjTOwb_4rM7;xpQ&tA6?YwQc#A{`|| zu7l~r-lh2h9RWd7XL_$+Fa5s`Y5h5TVv%AOIq^$Yj{b`rBMIHEwV*vta1>lzxAu1T z*DfAh;k3$E?~o&&ARXvSmBv>;5`vrV<5vH~9Y3);xCsWV9Iju_!T3LzxU`qtUzSRn zDaA&<_{{^`f8DBE+Xh5(^d5|*>Th>MJMGgzzS=pj*9CQja@6AKq44&mgrFiM3}avP zT9-+ejYd<`Mk7ZBE46!oylyE(gJ|($h&9r=S7G zu<*y*o2W~}p)75{j)NLl(Wdd~Kpg&6^vSjn*l!BMVNFGL{ho+yQw;LfAClsSrKCOE z0aZf(`op5(5CJKQ>)?#cZELvJi)rDJd&+lUT~$CUs&!P-yWV*nn59t8h&x7Q=sHH`S**E8 zB{Wh45V_8#peU90i-UKMQ4+f`ydOTnpofI>3t2`~p#G{OIOMU!FxC2~e4NR6dBiz~ zItis_Ao0?s#~-qO5I7XnJX!(Bw8vCo%utjuvs6SHAf(-vd%oS&hDyGRgUAU3N+1c} zf$TS{At6T*SXiwM`9Rv+puf-0UcM&6+-&bhoa5ka&4PqlAmPMgp{a5kIhz`s>{9vX-@XAq=Mb`c0=NLU4*ghYI)Pce z&qwWpGUg5Gl4QBuUxB@3RW@Y{84{n9JuhJToA^rM9Q9#|%4;+40x5qw`QarH&`aCw5rqlWc_h6ZY=bM=7f> zgENI4XKrgB{clYPQfcS;pLhK0@)<-vYjF#u_lKRxd;z6l)5E zjXhjQTH-n|`4FX%A_eYmCF9(cfhlx7pW7cI&*leYBR@rwehj4Q z1;<}}B2{K|uhVd)^WP2CrsXhuoA1#CcBShS*ER#IBE((gWr(Gi*fW`|=4vFBkoZlti^hqcHtjbAR#{mRD*xg8ZzmYjfX<8T*#s2a3 zVr*1G01(|__3tA3U)EMqrGk21PlY}KB^2K?3G!!3g?HZ$O>C<_tN5UtPuQialmS0c zCg?ZYh|thhBDvz*_wdlE*VdNmtrrGWhRfZL4JsY2W?pZ;#~n4PbbB0B297Urq(&}jMC1zkl$Ge*ZS4m0869Q^_$v2q<^!~M3~w64ON^*Scq zE;pWcSBTH=0|yuE&*kjG+*^jYInFVBH9A!9O`{O+HGBY!tD3DPYhTTN^7}gp~5@RE`F!!V`I-`LR;^C>e%qn4K*pf-`WUxYVw=wsvH= z?*GOLs&flz9W^h8AU7>av44gQgUV4`9L}cV8=Ov<18~$4U{~+OgA@{JuQ>ddYsQhb z>+tN=KC*zHJTEtpuz_4pU!xGa6G;(y=Z9fi{`faoONAaDF zyGX(7l29eU;{0ZJ5tp{o(U0LGT&f^-T`@rw%9m9;Ito96pOlsVjX!&yuSu$MT%T`! z!`Xd;*OtsurVzN2JvY?+nDk`V&&WRyj4QwT`TR7{1lcMLSf0I(A=6WwX~*LJ^CV4A zzNP(OXHmz7OnfMe{iFBA%8*{lhi9Fk#t?O1{rd|A*Q{L zQ_Y4Oe*D=pumVNwFq;OI1^&zCXh#X@8&uwE#gP7HHnwM%T3SqQ+8CuPV0bdyMBKa4 zTbEb~-h`;h!cT&wUecF6KKdLP?GzbZ>`2)`yz{j_9m#DV{NsArb-qMV@_8Q3a95;Y zg4c=PoX{JE`1YO$v+_$Fb#Sv~1nj%z)W+@o+Pj^mhEMh3>*O41z&$m$vYc&B=tV^UmGWKC>$xgW#J z0qu8@92ev7SuX`K8j2ThFKWUyeXa7V{9NIh`3d&MBtjnlE+PjsdSWNS$Bvhw+|Zl1%=2xrKmU2 zC4L3^Xy{g`AH%2y_&!Hk6L<>rJ~sHsq29@#kIgw6#c2YkQRhr#){XE0^8d~Y!=tfD zl<{JBgQ8fDtoLW5e-w6J)K;&Q;2$ctSm%L$gtec~w|OJww_4cWV~g{Yjo$h^e85A) zy97@OV0e@f#F`+*CaOv+IZD81cb)$pCDXp9$q`7DVZP*We-5K&AWbZL%OSlP`>g1V zDG943zT)ZQO;539h9gJ%=Dtz$JGG%;4H?ogEW$5|^5`7V@_Njp@3y$hP5DCgad>m) zy0>S@^{Ca&lX{BVM}3D+8ol}_8eE_TS82kW&&z6H`C3sDS;N)9HIxtEvxK@m7(NZ3 zjlKoJH47bXEDf#AdzAH3Ooi>yD-<1mRpw~NJttID&#DHpZVO5RWO$h@6U^k%Sb*FG zY2JDGxSGB57>A(4QAbZx*;zPXO}&i>^UVW>=5MM~jW#mH;@F3U(ASXfeebC5fg_8b zs0{#e4iry#-)q)+QCNr6@}D~)iH3sZih0~uS|#6CR!Gwfujr$|JXo=5a`Z#HVxH(m zn+Zr=D|?c_dGKy z6a+UlNdJf;G2N^5KP=%jFVBc=WK9nJ=Nqj9aVg3ekk4?M_-_N&U-6Pj{r;` zly{l z?df+_Z#`InJ(@J_yOMLEtk%T3{t}9*;M3c|Xd_sQ7b;Dha*rf11XPk zZditlv5cW71kj@9LkQp0$%Ni?-Dk~jUWUo^S3u%65>&LU{%!d)4EsT%o7==a39q+= zMg#yPwVgv;`sU)~ru-s1YR?PK-rpLI6O2IUxzCCKvI;k)uHb2WlgKC~j zq&KH8MJg*qrApco_`2-sOu1~3j44Q>!~E$ay{atZ#!Qs{(#%W_1u{UiP}LVz0OW@I z+s1#Wv%@qow#6g_@0!sES)TWbxOw@LNcGdQ8rtnBH2hN-)VH^#@sJp0-mJr)CE7); z0KB+Aml(?lw?w#^^I~Qy?;69o5?k#J3iR^^#^dhK|3V&T@h8IKKZ|6A`4z&44VN(=w|724CKR*=)l_WxCF1c=Foy)&#RQ>Qv~Q%e zZoB^5uDvL~HQ;`UHB$I~jWCQlC-C;g<`7t_q!zrKqlo|LKCJxS{}rc*Xeo`*gw>p4 zN99yvA~vEG^c5%!yVqm{U=O2ZX{zofV2oL@9F?>IX%U!ZYnRS31K<2GcsX7GB9rz> z=d^hM92N9R<2e3MJQd=VKAD|)5YNs;t_c_DD2u?*x{GGUJroxbCP!ooc4SkhF<~?y zI0Po0{b;&71DNz*wDK66xhbiYvIP zc~x;nfMy?(f1iHnt&O{Isu^N6<dPtwB`Z4 zG{>cM8e}6$8y_Bq**>f8ot$Zfh*s^nL4}kPS4q8w&Xl}Wnmxxx;fcZoIXi*TAg0Nru{{ZuCittjHQ89?C3ZBNU)hPEffo&m95nli%lcO zv$oX+khl)nztS+XKUntzZ2#(Us7G++Cr=%e+T&i=+{QZDZ<-7EOdKJVLPK;K$C2Qx z@%RTiEK5)hOvRY`WO?>?6QFq5^U-+}4b34JEJk`p7t(asQ2CAd|FQsXs6b4kSnpSZ z0y^A@zu0PM{Q5`p^56fcW?gP%r#-)=td~2yN+y#iZVxQ}`M=f}M;3G&mE|2vP{e=J zDtp(b&1pAYWyI=z_v(Svc~Zjr-b4#~J2VJmwWcl8}%6K1AVxn+N4a*|3mz7$s z<&s)m7p1)}Y(mdQ!yiSlxE;&roCv%-xnO(Hyot;1p)I{C^VlwP5cPs2{Ne*Z=urm2 zAq_PBJhxxXrYs3%P)zc;=aPPYd$yyhfe+WD^B099A1QVol9(Nkj zLLaR`&M+{R%KGWiNa@YZSH=}8_N=0UY3H|C&jIN$ztIvVr%hZq(?55KG*xr&ooE&s zbE85gPn|(~{eG3yQ19^HcUM}Nxs;Yjf!#^hon!6v0t$CYrZ-{n1I%TOIUGb!oj_l^MAr2Rk`upVyY{fM)+1d}v9}Z&TlC5|1^57l9A#gs zw8@819dukmCG4P;L&{~eP~K^p8d`ks&m(6do~7@SPVAt%h?LX}vxpI_Qj|pXnC0a< zELv)E3giN^O50?n&3Xe5NC=5PeWCXSwi0{jvuh!(?Bba5+xl?cQ<-N|NQWY!IsJYl zCoYY)TQ!V?=rIi29xV~`r@4hOO_SDl#76HQt$}R?VfMOeV%3v&GUlx-X zvR-_clBbxvhC>_?v&hKPvlLHgEJnlZb>_+SAu`kpQj*hfNT;@jF8RN;t-NlJ6}0 zBLc|1Ii17@qZSoQaR2pCgc5ICv5^uvTzW;qfLLx0Fo@7=)5nZ5Wk_z&=D|#Hrz^dS zA5>AsW2}nSwi&4g$(PkN343NGwjF7cZ3b?HzGDeAYj84>L9vqWH?mnnOI%JEgv3%wH;0_E=4@zPd!D zt{Yo4t}-&4q<~+th4|5IKb3w)St@*F6*l1m;}n*H0+%rKu}cQ4D|7ViE4;fF+!PfR7X)D`;e<1d=sRk51Sbd|*rc zZotp}pNVt<(~^FA%_R?Q=gZ%M_6Wt0Vj!zGg-Mr>@9c8Ky-2U0bA;WG2&S(*x|L|I z@!w7?5J@yKh0}|@&N04%!YjX7$us^md^i7xw*Z7U2`#K&A4*E>?EGC6xu+hUcfYC) zz_}#b<(V{D`_u?s)rTS~^eVB(8DpP&ZXg{5+1xd4MSjTHvAIaogZy<#EBq!5&7Wb1 zp?d0RFSqUN8ejrs>iu`$Yf&&F^X~4gNTW15f;GeRMRaJm`ih0Gl(Wta9*s2)fD(C$ z5QsRsbeCk3W)kK(Td6lP@#R(XW_y9ABROs zS-W2ClJr>t5)$zq+LrJ|!Mv)J2$l!DHB@IBD2{@D8%Z}|LgQ~;kM#Cn?G(>l@F!HO z83Xb^#Yg(tTT%Y%JE)LQtmzL|P3A)BuS-jrROS8c*7Yd_WvdYq8{^pQAkC&XBh(Xr z>pA%uZ4dgx<|!v5@|1wDDH-l9DRYP+MUpoc=J5j~R+URB@l7eYVa#lFr}ON~g(zx&TF+6N8m;DBKF5xlK8Q+4c>P)ga~DJcTzh7Men*+%#=-C*$PTfLG~WINDjvmk z15_`Q>Uzk`+{_^fduY=;aVU%(8yM8PkW957`9&$7e_?09CPc;KFHE>4_=TgGkGi2b z(59}qqhE^RKF%K?S8x_7v2ygfZHvw zwosZh?JVnAMM)CXZ$wxn|LEF>KG*Y5ym0&a)3x)crfNOj4)N>uZAi#E)W+n*;^x0o zUC;^_bOz25HDQ$SlDnWyE@V=_LxM(}Yr4+Iusb`D$Q}O=TY}yEK_ME8D3Xa6pVeCa zVfWxZwV|_vf1lVUrlyGHf1wj=oj$_?f1Y9+O}%FHSpRHUx8M|Zoc7}cpd$p^$bt+o zhEWWk{k!UY^p};7=W7{6YLK%h%&xYeqQql`^dj+Phs9oz5mNYU__JZ%1Z50sW4EAr zj?UkQ`FY|Gh9Cf@YEp56n3(j6)%|B$Ra``e_-zWC`g0kpSn88z{0*x#bE*v+e_0pN zs$aGR1p4tzF{F}-KbfOCxW`d^Zh*`%b8z_F;DS_RQ(*sxZz16|w|7_6@A8Ie15D#` zJ@Mf46wjoGu^Bto{$4mr(RizGT`=VZAP0R8M-;?6#((rf!F$99_&?XzX|2*(F3WK& zfNO5=7YdsKUs%NRV`LBX2p*=)b={GcBs6*-eSp5g>Z~BldA38o#sb4AMq?QII0Uf@ zxn9f@x7fGrtmDzd0Sp%ozvy=}rZvlHBvNOUC`WTot`H|aps}}1y8N{Wa^UPQ?3lRl zzN&vwKu-2ih;(R>Y_=H`J`M6W+%YkzEx)U#)3}z~{?WYCR@0_pf8=87?FkHfX|P+0 z>F2m)7xOHDqPT?)J2Nr@R42~uL{*R_Iepc~cKs#R2#O3?YkHf4LwGP13(7oPl9{yr zTCR7$_K&XlBJn;e32zjzJgI&zIA-?0!ux}7cNmz`Tz&5c^^5Se+Bbo!ay zMB>jTd!(J1#u;&G3SqFWpCfMKLyokwSZQM+hpP*Xx!=}1-VNkUC0y5C@Q(vR>}({} z@%ZiN7K4k5zAxWC8fJ^Z*DfY34A-4LsjB`AgUFO)CwjV6wRxGrO3BHcSB;VHVTfz! z3Q9LxUJ%*oebmQJq#knn?x5CH>f+PH%WoNc6U~F0+hYJRCbB;&gNWd3yk2@O*U&E* z9{5vifGo^PCKoO=Fw5NFs!uV+w~T(myJ2J=^)_-E^W1)SN`;RHJ)V!nLQ@j7(^>x_ zC|_d^<+z~h_PZ;7%r;DUqTBzfV>|1><@xF0E!%y($C7h{c5dbzJEFdBN@YloOxVt+20c@xhc^%9?o z>6An>H0vU85IhVp!Ai>|Oy>S5xUgG2N&&FUH^G5NlFm{oNTbAk%^*H=Y*;#{ zOvu)2zAgzXYwrE~aP{b^cKA@FOsE&rVcER&ZH^7!1u;K_jXO)kQ2oyNlSaT;y3QBW zR4jh$?@@A|k8z!j78XwGiAKg3lt9fWEE74X8U`7_pWhU=N)c%t6w2P@$6rk2_)rbH z{^$kz?RIT4Xd5WA4ku5*yM60yq@6DI(vTK^rx_Z(7;_G;YD)@fPL>!Fibl?xITqi(DYAVrf? z{vupJv`qo8fAjMzzMLi52b^vSCq}rk5AS>LnRswou+E`8F{Yt?h*)jQ8+x34YY-HR zUuW4xqjHt>$WSnBY$$d#T~0+~%s9tg{>9s^zdZF0Jb&C&1uR+?DRMdPkAHdYyxbUI z@RtCr=e{+-EV&UV;r9o~A=GwitrIK<)Uw{IKMeT#7oj*UktQB)XQ$7#GddBdU_rOK ziXLoJ7r1U~7Sei(PF}t>2E1Cg0Q~6rKP3n9<=prKCD`UyU2&mYnCzFQsFTgs)A4O& z7K!W1d3x)sRcG~p?n|c}i1e48s{aZP9?8g)o#5l0=pu{}zjYjoKe0OJV(9pQ9pn_d zB4(I7oa38pv)g*VX_fjuFekieB}j0U76+N;Q{sorxu8#Ep`vd5LN4UJ@nwm4?EU-W zZE4eZs>qDQ@<}dBSuo6MSX5zeC^n%n_+04+K9+d64hHTsK_1jd&_2F&5Ous1p*6DY zpBYO1)sBI18-p#o9Xj+W20Z^25sveGJ<5ZMw$=Nn1BLi!isMS-CJr$zk?A5K(k z(N~?QaH!G?8jL&}s5VXT+g$D{F3-d0cI#6LM*giTet}q<$!>HaLQ-^XOF1tw$g2$c zk8$+d2MD6j_4j=Y@b*2gLrW8Q1gsIZwH zOs0^~$E1?SoRkOV0W0Q#YhitifjFR#e`;gx)6|0tdMh%e-`sZ*VD{Pe6P4q>JxsZY zh#&Pw-Awwh+=EJ@yb+iCS;}o=8p_3d2R1ukPJl8wWg$lxb8S)1)UA>d;#OMhtR%Zj z0Y;AS{kKbElY`HKU!PK>phM*(0!F^he6#^rHhCgG`RZpca0O+NpMD3w_lAEYZtxNJ z{x-5JpVxd1fJsaSUhF#(6SZ`ILSmW(1uw`RSvD(#HsGQP6$H|a7x-aRSXn?WhJH|4AwC zWy+_`$q|(h$Z)ZbNDsx%dtz zp&SJ$mc4p51qvKkMHJsSjd-bHOY<8SMMgAnv3T?x4kDPL@Oc#=mz^oP*ryLLR*P-( zh)Bcbp<+-_oZ5z}Xse265_i6vsm8-2v>`rb;+}{V{kJW!d*f)g@Vyl_*idT3|L+%- zfl%%Vx=%681mxVgQcjG1F{YFK=*yi8A6g4 z3>rSCO3<@mL}@lol7qj*p;b;*5C=7S;#A!IMp`xCXr#LC- z=M0VC`!077Zm8n6r#6KkRBeZAHr0kdyGKXhu{%N1+<-T9~fM?=yOusyC;cI>`xnBJL_a>e~sd@7RBJDy(_`a1o4JDX%{l{&77QHJN z{5jYsKP~(i<0_{aLa<5mwd7y1^j)z$m4{K~6G*o{r#*cBuasIGUZKbO$DoU+50%0@ z7}Vds*mdK7I;{6!QQ&b;V;1)^I$k?i9TjdC21tsA@+dpK#KS;<4W{e+{kDkoToIB> z%oIHC{*`Dw%4W^784zTgKC)4sJ((yv*dN;R|1tFzUQIq=|M0zy9u3kd0!m4D2@)!$ zAR#%ryL0FWX+gj&)eyGchto2ys+vM#l!Sc+eXa*nd zBL${GIcFq51dTxWhhV!WOB7Do!xCa3Jt1qgQUNcx>JP#N$oI&1DZU;Ys%l1C;%F{q z!(Of`4*4-Ep4~SzepAVQvqDvVa}j4H-|M7)ZoQx~)qzi%UGt2~b~E{?aUQg6Bt}E8 z$eiCB`vk}f(=OmiW3uwZSC~<+F4xW~&Jho@=;f!Fmc)dieJLkgyO=Ziu7<3qrv0K($Rt63GbQ^&&@}#f)%Ut%}b8G}gRRt;(U-X7i@9H#rUtTPUCV?b-g^tXYAe2AAfJ>gpa1$KbM(HnfhB&*V4 z*n7p&yS(yjDz?*%K8q%~6gCvyv3$4@#6q~M_tm2EyzCXsDsU_4DlE=8L?qgOvi+H9i-KbfX*`k>+5!D_w zs!|qHtkC7&G}n3FEMPteP*@TakBB5#MDkUO@RFsAY)RqSyAI%AxesyXyEx#P0RsS{ zKs{53?rCu(3oZk!zP$sJr7;WMejE0HNP5hy0;8j?&aUA07Xd`QG>2|j!wGYCQMju) zl-mkL+ueZ1^KvWI2MtnX4$OFwA`mqx)-@T&x9<@<*mxz!8>?j|&CUt|iT<*?#5Le~ z5LGV$uas^(A0)LVAV>v7U>siROw@E%+<{_ts*vJW6KA2HJK=j{l~$F#ch4;DsIL8U znMeoWJSjYp5w6}*FIkrw9IBpC=U6I|H2plv&0&7J9#=9)xzF%DYp=#xzN|p9?I2(c zk5XWafAMvG)i-~Kya8f6qVtsG-y=(Fsm z63b}I=9pMO!9l!~J-@J{VmhL?GnK+)AkCHZdO-#HC+&7**6#%h$td+VJk29G)@4up z;>UMv|NpSIqoqptp+`C*`@D-Y{qOg~pnF-jcOKqP)4!^-uN}km{gzUe!K0$kKk_3_ zjL5(SF8-4l1Zw}@$(_Hm{xwyETX|Z*@W|jRLW@kmJ2Wzs4e_hxWMr3C9Cvy?$YN9( z+OU2TF4mG;MPSycmL}K;Fan+Pr}RJf4$7K;*I30p|7O0%fz-a>CShlLRZMX&;Xax; z7nbvoqelWHY*`lNqdT&Hz|TCD&2*;tz7D5lZ4ts^n{AfOgGn!TUE4pa){XJ8P%w_9 zfZ*^8Lr=>O09hj2cVR z=z89}@_Airi#O5;{ZZd;FTpT~@?aij1Me@ZJ>h_wS+S$KDPYPfLL(y25+}=_-!a;h zHT*cpjMmM*ws*N>7S1aiIP@-$7)w&x;vg!Tjnxpvnd?x9M7G+uysN%H(jxFiq*RrU zrBfi4d?E?^o&`GklSY~9zg(NJ@{E%%S zwzC2OL{O!m#&>@j&Q#8s;@#@~rhQYHnfkwb(L#`OB-tgwP9;vq9-P>OzM0TCREYqO zA{=L4$-}TKT}Q(WkLEujdXe%v$U#+G*;w*PUX2G19T2{c@7m~pI*+)J*4iZk zI^Kd30Ui)PN?oCk<|%Iywwa&rNRe@4sRPydeO;My;z|@SLgttx2 zr@A*P_0Bc%=KVOT z*vnS&!L?QQU*I*Y7mH3YN<4unOb2{EKFvP;Ura5x7SKJ!v@b(ZZb^&7NA=(Lof@4b z+x|Vi-E8}KF3{$1{Ifg4n8OX-}!S@ZA-|g9ASbUihDt=;) z#$8`P8_t_bF)y=QGC6pRuET%VF4-qDqG4XxMM zQOvw|EeQ)HaSeys11B%X+>xF5HLgXRXs98s*?oqQ<%Pr&`-#Qud%P^LKnnx$`9p#L z09g?Wq}eDXSt(%E?Fcz7%veiX(C0%kr0bpG1TcSjw%lME9p0lEJCe=R+0|VBh=Z2( z19LkNORTmbjW~*}qa7=&vJ@_5EVm@Nt6B6tG00YKF^g0*7Aj$`jTu~%wI=Lu%>mwC4L&6U7tR_+CqT7Ka^@Dg`j4hPg!5S-_vAuZNGAz z5q7aiCZ(w+TKt0Vdm!`Hg6iOP^&OmcH=o6)sE+7w?&8vE#2jWy?EWhw@#~~tPRPJ( zJibTu`>uOw`f%yBp7HCFIYpVQ*6U@k=FA;!UrfhIuw_uQ2R3&;BAA=kIg#FuXLa5KV-SjE^k-I5^q$H|K)~ z%JZ(+2|^+}6=5_WCkFcLQUEft|LJkl=eW)Wl=G29uhx0IWGcX*r=&{25&ChyL)o?z z$$&O~H@`v1)zjv+%b1@n#2R;a@dtvz9oz_k2%*PFLKF(NPY_}J&7&8#=QW{n_6u?#yEVyF z?x#^07ecNyGkhN+Qg&tJ@Oc&{v+gwp#nbS+ICETt7(S>R1gylit)J}1}UJZa{(esxfv-4 znAGmm@cX2>f^pdr25v_(6fS3$5CA=U+fSiOC!? zq4_WJNt|FE_zWfEhL8w>gitLOGG|xf z`tYzdARrVg9_woZTbf6K`is8TG-B_<6rmewsjVO=oOGlm>smA^)I~~kvtm_C-J$coBBnC$J+>i z^i^{_U(a_wn3$(!9Dx?hWTx-Dxyt!EoV_nRxdJ?d}{D9c{ZFcERal<|G(ue@>C z4O34FVp|-^^5LVQ5PeZ<01)H`(TL15ENK47R>{63YG#Eav>xUL=oxuGD^-8OvEx$_ z6Ffa79hL;r2DxC8P~j44d;rb|Yt$k|Y^Yx-|Hz{?-;qZ=BKyW}|MEd68f7x4Pn}|7 zjw`?(GvzA@361}-C&s7+nRZE#U_uxa)Zr+hEsV3X;etP%r7yzbt5s<8<@$q7M6a%V zZNAtdrS<50Y$}V3XDabK7KalHlA_|``|U|;9S2ukNsRE$*}E(ZU9tT z=5DW^tX}y#&&Rj&Z^TFRFy!_!1M@$)F|713LR~w&pjMd9C(}FZejMy(x5}eGW}W*> z@#{_P%wGIua4qUb+s)|(j6E^x+T9+7Z1k{6uI7{?FZ=+x>ML8?oV6H``52<@kz!@U zAgVFP7Qe?+7fs4WCvY$7+$lH6z*%dM9Hq0DUMqsPxnG9LXXGNn3 zrki+ykvf3)j_dPO(Xf*%pP5vakGwn#U?Bu@rN+NL3yD&R6Ium;Fawqnr6&84CM{;Q z#2uIeYp*TX2s0b z1r&tH&tl%MVAmzxwP!tqlp=BfE$RMtg)QRQjzfri%(cC-t$T2=j!=tnW!d(bVcvp+Q&aGD_?yD8 z@m9Oj=qB3wpeZJit-X6|Ni!ZEBfRM8Zfah84Jex?-b&?M#+fQeN#|2_@$Blz(9X+%7e)8@9z=3&hG{Fu4v$tmw&DqlLP?NDSPtmXQ3&|OnEz>wGBIAgf1Sz!IBpz zv#S7mPFGm;$YXTe3A^;V$L;ShxUvc-gN3_*4~M#Bvph%KRVJ)`k%H6HTwjupnBS4# zw}+E5LK`=Sl&(f>P3#v50fR$`ChCKTTSeP>e)%+7_%#l+(A9#$iiiGWmqB5K4L1Xa z(1z;rorl`Fx1q!bH&+*vtbetuAhZXj+Ag2*DPm@p7>ehqsSpWZBmD@G-^>77`XkuM z)^PX6qy41w&+%bTD!CQC-95BnDU0N~>C3g{7bjJI#R?$iiin;<-gSON)%zm%jiqQ-Ag0DNMkKdYk) zOi9MROq)YSilbvc`D3>rla`*4YF*D#hVA*#L2uY~<@wKO@LRR7BG32RxjIMpW#H5R-+5SuEceWpbYhV-80bu^AAK(fQ4=`QApXi@ z-1yz|-@O!3mGp(NMx9ULx0Wj#AuRh#3(U^RM(%Uk=7+>$Kje1)7v6)sL5aL`xEFJ9 z*Gzxf%$0vma)lzZ~*rDyrVfd~Oe5?HSqC6v|WrO{aVX|%9aCOcsl&Mdm zuNa8=cV~QwD()JYTcLjXgB?JhWZz!7Qhj4W?eI*>ol%KbU{}cA`CnV_y2^igW-SY9 zf$N4+1sb2i2P*I~CkzZiUJ46`dKBTW$XL~mEHf;XNH>FVBBXiMq{ zZ0`evRWH@g|J1-K5H@zDK!Esfwzq>e7>S33?K}3A{ z4Pc>2dY%P$)?-+RP2v|W=xgz-<}M)yY~}VzSauZNITQI7nDv-_`gkyi>VspaD#?d8 ze}-VWO5b?hu#c`7HP+Wshi;9_4BdC^>$udS-JO z(?8#y0~bDvyDl&DXr~ijKCj3)AR(<|b)-kPH-caUc)U4myO7Ap;6z7D6xSt=@9ci2 zp!`j$lq-P{uD;hnqX&V`pT_TPqHFr{uUICE1oN;}=^P7t5lR$N`2P=usyo&6U(ABlxRZ z$G!38wf7_=gFJL--i{pSkLO8pl%t0;wY{09Z^k4&_Xl73Y`o-ra8>+ckk+d3M(KZ~ z9mH?3jiT{#{V~N4pGZ$K(y3ckvF{0b^|PnM7`=$yi3lFK%Q26z^HX6|q#h z+v7djtGHumHoO{cE_Mg|JtyuAu+NZ#w3mOz!nC~T#QC-nTKx*sLat{5dbi3hp)aXc zTdvPA{;reykV~IUPt5V4ky-EREW`#=V06GzgpY(Lq)oE@gifIdX_%F<3;(ohIfA6) zvA(q5Ke`#=eB{~0}?c>o=)O9$f4>E+nfbR-x`*M z9^TS7*CO$TOvPVu-+7*N#ESp!@T`yxB$n>GedN>!rRu1I3uuE`@H28V6r(Kzk*aH= zJ{xZ#?+S?M?dNFiedOZ=09=hoA;bMker)}Y?C%mV&Tg|e-^=7VcoYok0o|xE0apFa z5)`WnrCBBWlqIo4?^jy4gmo-To?aVFacjDu+M2rLVOY`#D^5b+qE49xXIwYXKqHU#@PJkXfCTsAMmAZ^5$aSuhijdCAAnBMZhE zQ>%O&`Mb{SBUv2fDqxLEN+i_nZxXnM4JyBn$PmS8$0{LWb$#j`Dzk<2z)pSURCdA} zsw@neOulE!u5(oN;&GWotdn6W@#m`EInsC7wyZHl9T!!c6{w0xz}L{q6j~v~9V3#% zo)GE;N*aOQA9~st8l^9Mruaie>UlsiaeU3s`g@A_d0XQue}(JI3@FYfK443dHR0T6 zvdx;WVnW3a8`jM)XJzp@_V z`#8v9{0JK(>y4cN8QtN`l(WQCdj zuMX-SKSW0j?p@6@oefUVr}XYf7BLt&0%;}Ux+*GAgbZe3Sdh}}FieC9*E zgOLVjL8o5pMeLN^BZEY$kMCr}pRH4m^1h%FF!Q+$DktSM!O+NIE(|G0JZn;D!bk=^ z`W^6*x$~+*Z`U_hYHGsBr!y3sYx{-t3wijE3I_6g>w=7 zK1%3Ozku`~2p*Dx1@;6h&#>SnuicDv6BmB%2d1n(SEw`LoTJXV(|PPfivv_G z@w8VM?3a54bY_7D`Re}ElB9}SZ3~Nzj=dbuQy>K1ZybMsk$O;AyvU(6&I6}c*n*EL zee`_37QZBsr_3P<|2SmAXK(o7xWc#!xA{i-_53K5B{tzpdC>JQumN>uTZM3XOndNB z2+f45Vh<~Q3Xk1P1^GH4)dUk#9 zde(5yhFLOVR!wztqewf0;&aN>wQl`ze94D1AaUVf*~CFgF5rtr)P8w6nAf8$@YLZ4 z`{qC7UeUkHK`nXc#@9@}@Z})FXj9$K^l*7K+hFJv}<--L!ncd1K2kZO)GLvlkLmOBcPu zuu1*v8d2qb2U<+R9L8R>sxOK?D zL9Dl-t6d&oUmWU71MNq&N0HvnSOab`RLT5#={;4-OC@p(poa`sATM`>U#)Y^`GXRO3 zqL;wwn-TN}p0Hsj554B!GU;fiSK!ErzQ1Gb4~Y}&Obv5VhkCn zh^Z1u*$?H&#KE(j%I!3H7HoNR8TzJXxqHuNNG`)XkU0NP;FmT=SH|#<0FIt5_ zg$llQGSL_Va+h?FLR7Z4rp7|)zGQ-<+NpmL(H{5Px#G_GU-Ck54l2@xn2$ldt3poa zOL-zzEB?eapb|+_oa*4%8j%YFTw##Go;J%b1ioOJ43$%HM7p*ha|zQWQE~AXJLOXU zW^}0R2=}8cP@{3PzlDm!4Muw-(s9P$!SJrz;&wiX+Q>Edk851H2(3&_9Icp~tS#HjkZYZ&}S^3b?!P^S>{S(MM< zot7zq_fP@ZS6T5Wt=Q<{?TOs&i7VZ4Tqqk86Qt1V74dJDi!BVNlWho?J?D(r3g=J9 z?RfP;-QGw(v?ytm54{x70Rwm!>YPX>*RrA_wkTa@8!C}nKg*E%#0|{{!UB;)?tki) zY_Kc3!i9LP_Q&JW=EFa3n7V^k@?>Z&8tqVVrV~2& zYBP8jyZG%*)DNfm15pRLFKNl%2s5(E{nQ77kMUP>78G}tY49sIM_e`^a0#mw zgvDwT2P}h8AKB8-vx*GbY83NKG%m9wdHJF1)|~K0TY40pk%UkV0ol$-znI(!*}wyB zTB;;cxijjwii5cNR&oRp;NM>)*v<+KZ=6N!iQ$SlSfsCPDR^_E$?0$!q)6HF=?0nM z(LtY0_xQ|v3d1B2k2qdTPd%a#x)F+)pYv&*9}gFBfXKfsdU`&W<#}Tdo$Pk&+?^#d z%T|GFK{t#7mL}j5+!on$*d>S?Y%5%G74m zaL6i_^1K}I1)~?F8nbR0d3QKPatStMCWg8m|BQCnL(#*+5M>}GK;I(a*{+)X+uQi()}I5S@3H0|k-7cB zXu)5xjP%2l)o8Mt(PWCrX*NCw%Me;PKEp|M;+IH$iLUBg1%>N_#L(xNF7Ph`*Ka*pZ8iUg06FYmUWnh@Lj3l z;lnXo^NufXRBqx1UgeW06|h_Uz-Z}tWED{2X{n6My>zd{yWwwp$%#96&_nb}q4)iS ziOokN@+Z>%A+<@m`pGH~?r&0f4NYJw0Ewg^flT_pXT5;~&p5^Ct%|we#lu*yA!7>j zjbdv`aE=%vVpm*&?G=nR1J2x)W%s*=j?Kx~k$@#;td7q@n`n7eMa4_#LJi>)L1@Jf<~`)ty=QizRE+g3W5`>hJ!Km-j_xH z-KGI8FXz-3dPZ)~tb!+QR#O>li~yqRCR9zxQ1*T=)1dY28-1xN78oPw(-8HM;>Wbi z-kC{Fy*-cvt~`vbgsl!+{|#Eg!ngd1)dBK2drE!Z{3xW2d``iSK*ra z@8o+qom&!a(jBZ^WrQSYof!U7zVbtp^&Q@A(S>(gG-=6T?GKZMEA;JEcE(+#LLV{?t0HHb`dGs>TBRb<`g!IJ&2Ax~;=R>+RTU$Jz z;>e-DILDSjalm9cfVxDMM4wHwJ8qV5h0Z3)BJ+n8TVI`meAdxY3>l~aXJX}&=e%Fr z;WlG=g>2KnnnT06-i|P;T1cmNg2B(-4kU^rn3vzGF+U3YO0DLUXwYsamt12KUuaQX%m9 zYp&fXW=9BpM66hZm#|0AAJ~~vy~%~SisPq&l250?E}xq`&`+f}>7E;_eze$Ex9bb# zLW!Es>eJ*ot@nNCn5)-VX}B=Nf7Vot`ojK#PvhF+g=&Cn3tMdrl!lshW6!kYQOqOE zAB^|Rv&?Zm&``#ljJ7vNln7<1G6T$pV}Id0(;QTt(1zM?uPo0d1Z^>ZWoxWddpVsx zI_u1w$CQXLX0HQmm4;&8>ovH0#wGl97QF`^`<0No^u|;Qj`$K2PR^Q`G11sU5ztLC zRsyTEw7!q6yk7;bO4K3N&Kjmz%LON)sZc^{sA;lFZch#FZX8O^iZV0h-dI;FVfI_<>w(8l+UZ%|N)G}X(9>?mK{u(zRf9w5Z zqU5m8C)va0HL8O#e$UzDtcsaiK5^+{;(v#@`gL;9mQZ%l?i0!Uj;|)yzw}a+camcL zk23FS;1XM1_y1t{naVONe<=*GUH1kL4=8rKj`5?2?9*#z0ZtON$)rDrV1U*PCj~6!Ny8j&kh}1@^Oh*JWVuLaYa$C zMoC@pfyH4o;4W8^-t;~+obqQ2>Vd&0@#$q|Pf7{5o}*K|cG-jk==v&Rx3dz6H{a-T zd+;;b3Ec2%6!fd){Rt6&fzJRA1 zzdKy%0ytVsLGST=s&?i6*{x7@J{Z40*Drm`^1oRC^oEWazZ`;~oq`v2`ndA5dH>=l z6FbwW;+>agLfL{;Xc%Uxu+6)j-*wM!$5Gm*@H0CM@MSW7$3dA@;Ti5$;e(7SvMSi{ zN-?#li3b=sqLM3;MTK ziM)6g>iZyrEbF0EU4=oa(JRCPEFw*+j$F#FzS`}FO{rRpO&h2h8Bp!sY5-x`?m=vV zPG&W2Ndsb?6b<9*MQH?SxG~C!vcDy@qsVHw#1I#&!5JfeNmW_e%O1xSIfj5?61a6N z?q8&A(`OkEGIzTnro-rwB+_rudDB9C@QkW9H{!b7<gIF@@@W`_pj`-qhrLhVY}ca#&~u^|nID!|vFs>UV+@c`mGZr$>~UbW?A*`4mzbt4-IL!bZ7q$z2e>o- z!?rVyEf;p;4|$K&4DKH75BU^{qn-%;Jg#68d2j5QH2Q;#v&v>0inn z2aE9I9K`aC{DV?|g!K3_7{@(CkCR9zgjdVD9F$bNEchf#K#DsU(J5hZQR6-%z9x4y zK}{VHrZ`}?#Shl42&U99iePS71+dJh%-)$PZPR;f*Gy_WDkNfyNQ$6kvsCU&(MoF< z1@1E(mj|u?GT$9zYq#2o8!vxBzsFXBV?KJEJlHQf(mo0TkiMs(V4sLaRIogJb5QT& z(o`Dx)=&$-6ocmBJBsM{z*oBkh8@O)YPZRPiboxRsw+r0Y755!>phkhY=G0zTBjdX z+UTg4#CCtFl0z9JVTW<{21KsV1?W}O#4tv0EPxWIJQn93@AB)%%-w)mhEmByHEb+) zMQW_`Uw%A1KgB<3k4hwN=I#jlqO9j~bL9b5Wvhr~3=6Ai)B09creX%LL@7_a@1Iwa zrrjNIiPGXso3^$xLPf+q>vV>bUwRnR2=;O!wP=t>IrD}hy&wGE;9eTY>FdsFQdG?p z>y-ylbOawQQNM_l9eBUu9}`j91k0+rFWQ|6__vd^L_EY7kb1-5@FUa~|I1 zMUPNCcyyLgha}u1L6nU6;2mYqV&G`*X<$C4gA9R36Rz1w%vOeOF z0{vHHrHM~ry_$(rfvA z=g7MKf~Y56BfTsLfCg$Bn*IB|Nu>S_bFIGdxt55DVE!O=>vj&p=FFDPl?TOOX~?in z?t>i8WY6}W9}Yd?0Ph-o3VI)mcWgLBE8jm~OF!U|A>d>WPnY5*3}X=#n4IWu03bFl2aC{?91@RHksnr$y}B2!8V`B}Zws?KqtrW}6^#ER zPW~GT^sIUiMoS$uG;fh;{q_so1nURlv>ZJYMl46W@)N$7fW0E!>SiJ>dzU=a?;J3q zNbu4Q2y4v`cYXn_tH`Sp-^4JGWv2`Zz%PC$P-3K7eNm&~svS+=Gog8x?)P)9s?9cE zshJvNSQf~(aC2dfpV!I13FB=6cDl;AO5$X(`D?UYJxl4ZJ)jfO3(}dwVC3Q;jhRGQ zLX{iN;477=rJpD5tu0J^MQAzN>4TVq!MQn2o2S|ZGY@y4>!hIsbGHd<31;tyiNb-| zO3BMq>%^eQ#)-H5Zw{4bWa?z-3M*%AR$4CR!LO*4Z}DCXw(Lbf;=Fvv_LtSQ$2s-K z7in_9a8`=fp>V|@LWW>eA&Q-PTnuw$T)qgRQ`mDTU$|v-6{#chs0?w|Zz>rPxc{RS zN_hsEB^Y!Mc7V>la8d2EY%V{DZ=H_XYO(w&$-Y;}3HF%R6*`<{lp>`Viv-ObCVWn1w# z+wtkQH!HURwbxUIyABwV5VMP8?nRgNiwT1!PrFAslf#V|FF17P`$po6DA8L&!ra5p zn6QL=?8W@xzs($7q4J|fYzCDke%ZV+k& zBCG~oo^2K3&G!g6iV`S0m6ArejVG?@ zc%W=2U1@qFWZ;azY$^>AaY{~s^trGheQsEPA5SUOhFpBy#hVsjkjL5^QKgy zBV{T~rEaNUGwaQ7hTJvSknJu!MTt1YjE zyw`IdRdWvIVuE!^qQUjOQs11Y`&>=+C4_@ZN`sURBhC0qsqOj=XP(!)+Y`(FrStXi z75E6p{%hj`0fQJ&$TvRGmss5b^T4mArlxy3RNs^>7ibF5$T`!tONUp6j`D|F1y*7a zv31`knnu%viur~Xa;1-br+Nv&Ls^ulkHHkH79J=qHClLtmzXj-VgmH~m$^G^+SnD7 z(PO+TOD|>O5l+5T>l853OEk?q_B(N#nvoe8YMh)4ail-n_)cd1_u6eP{{;a*eSq2z z<_sP~?-w-E0U1!Lu%M(L0c?j=fJWdjCha8YuS$_4i-6 z5nBt!P~aqcIXAjhfB12L{0fuPQ8QbHYcT?6T{Eb0LpY3!?cd#k)pxfb?HfkoA3d@3 z8JfYrlZIEWhF7M-mK{tl=eI=4{nVGdyvAoRP6P}*(t=&qc5|_%7qb5&Q9~bxF_$a= zGQXJ8ysSO=G5|xGj4!1cj2u2gHXxiATLP^F9%NB}Fui!pz#~7B%v;~vFZHeQVH|~S zN4U68aguDRGJdYn1qb}CLwR%M!Qv$M+$T|= zjfD|SoaFerw^x9f=hv7I*^SrrsTe!OR2gD-i1&jIwTMFL0GXO$95$WPVC7_i1}_!3 zF6=K{PvMzmB6+%1%Yl(sS*4mO4UYc14y6KwfYzf*T%2|8=e7ixq{;q1l?PN(@3nbq z9F4KSJH9#6qv;ZPX;PHVn;AqokiNO6V(e;oK-bsAo=T1{h%9m4`W8*G%*+b7dDoU>+ys0uzJE2H67c`ivd~*WsYj&%0fpi3ip;;$={J|8HT!L zT;93@&)pqu*hT_=#DAOsC~xh9r+@V^!%1DkVncNmiut=R^+2Bq{OoC&od#*xgx~9y zn`ECdo3czH)+6Bce@uengqKFRGYQ(-zkpx7-&#BOl6%a48HA^73_lseh zZ2Q=CtBM1704K$>iSb!t)SaCw0`WuM)Fnx3QFI;_+mNhKV)i_UYqdPU<*%(TxFuUB zbBb*C4BB(JP-di=6fr5cQ1Q0lJbCQ4QNnFKa)o%Oj`Yfc6#x4vza1d5rR$Rs)jtlW4jJg(NnuqfXpQd|aGWt$p*{;S$xkNFJ* z9k?)D2mH_6J~zRr|K9yat0WuLIT~1jg4gL+Xs9;*aPRfC^3F*sX<$lsFdp2ECbQpv zquyV*$*SBDE~7^sm+t31Vy)wWNAH-2x>rhvH&aZPTlSq?9H{t=#MQEc!y~4Aeqiji z^I#gL|1!^v0`|S`akax*gdrEIN=T9`gWMB^ z&YUC6j7`*-c#=j!|KN$Y|7y5xg^Rm=dH*@?^cREA`I-vlu9bzbJYp=Bqz;NUpf}Ed zN8banR(Jur0q$!MEby`;GytAdkMRt2pXcHV(-33z*-aL^l#WLF^b=^Fo zXvc<|X}PuvkTWe@>USjTiq_+%{zOo0Y|n5q zm}r5{bPEx6O?_jDtIpUOhlR?hgO=U0i6U4uS>zX))Fp&CjB8vC>^Uyx|G*)4xSQHo zi`6zxlq3LtHf&dz^(rUcHQQO8QRsZp!O0AE56Z;~uX2Vt^~qzG&|tl1SV{K&xc8Y4 zP>J%*!C%Va>xyKY?K7$JzMMP(m4R^e%8m8BsWA*a>3}un6s&SCCeI3=R`T@UV~FW@ zy8#jJ3CfJTT_Q;U>y#ES)t+F`Wp-^PpU8@xF7ZGwE@#?7$=RP{*2A#otd(1o< zcK&Q7jO^4Hb3ZQEp_s4QnT44z&wC+QdnL>!t0VZZAhU4*UmStSt>#mwY`TZ+GXL3i zOyOP2uJP9m1mD&)`;4qVS|pcPri-OeqgfqchiQ}II(MebpmDR~2Kt9JuQvuM1_W}E zVuZA7nx6KSwCTb-d+xe6oI{FK#Z(NoY2tBf3nA8!UnORJ1dvMs}CoGaaNu8}yL-!55 zwhv>r2MHO;1fOd^mv}&FM(l1 z^>Vn3*LRQ4hIMgGskpO33?^%`@q7MXkOtsd=vMXu13lU9T4=9r=J$$66`!{$^Sjq9 z#Mdwh#O=7xBMr{yb1e3?JQhC5C_4J<&JesCY<;%gY3x>~UAcwrNt>TN$!o%7c#W*> zMzs@Hg-5x8XN-8v-N!A+Mm$1h_5Y;7Z7f150?d5x`zfnkgjT4{Sjs^Nr`YxaeHelQ zyq?d5_Z`pr&jXaRe}BC(y^y!sjVZ6r^>RI^$afoo_Kn5%OScrZ2K9^pL;;|qiCS3K z-U|o#L6U2g9mu0et0PdSF6iM2>2vESfSoY?3Cz+d+1GVTiD6b6_i`-$^J9u6Y*xmnF2*clgdYZw6uc$oLGl!Pq;ae`SbcECzMZqa zxz0TUYS*pm!~Bh{RC~zLOGVlX2Obm~OuNgqQjk*P-+^tjV{`%jFqL`BEDu0q&;;1N zfk)B{Ih}D{bTGCz9Oy3mZeiQZsb9H#Uk(T$;mh%@m7znqwXYY5T>~xl zB-rOl_)9;oot-S6hjq?EdIZkXEQ0u2-nT*vC~~*^lSXNANM_%9jLh*}BLNCr>-D`z zUQud`Ui~KFIT3UXgkQ*H*S8%TS{-7IO{3bUIoDF#B=G3ndJQM&;cjB>;Bu9ZfE}fS z6DHZw(xCJ0%c(>8g_!={uWs?&9_>B(wkJ;rVt^4?z)%Dc_n5yM#q7ypaLkn>DY&KIHqPzIg< z9Ks^#B$pxME=(qA@L?Py!T)nyc}}6o-bt99pk;;Y2*b%7MT1Ae<~aHPoiji zJYgxHox^C3m?5oM&t(W7j{#EZ76c%y&F*6g(7xpX^4{GNIEzD(+EB_zIh>~w-UIr* zT76iJ*$D76zt_@YWj;DX(y*BPgWf9^AV)cQl7))4Vz1A%ar9{*CAFK`qSBdXL&%CG% z!T|`fArsG6B`>5HjtP3{QXdpjySjBCC=%Va8wienO6%c#1%d>8!&H|3A5Ui)(DeI8 z{f*I$v@}R5DP1xF>5>qnVRXaj9F5Z5p|sL1IY2_X84V)c(*4Ze^ZcLpdwGBFUH7@p z`J87kRXTup9UWe4J&dr%W|$N9S-srRzx9a6BlOuaX?QQ%Hn%-ekbQ+C{+#OB42rfx zsYVR*V3svLqJ}r!=^3*v1HIU&N^%e!NGK4*07cuc;KKLz! zb3Qiou)1jHwdq1Nxr@!EGwpbqnbO)SrHCg`7?9xTazMJzkVQ%8;%w{=J)|9(-v%&j zSDo;}_EWfhOp9WxTr4|d(K=-Jni$-bK=+doqI~5_i zkIw%wZ!qd^Ix1FBBK}hl<%e(oJa>QV zWp3`#ohMudkCX8ANMmY%_A|N5S2GlJk~P)(JMP=)ds=;&wc=E!XViVQ;g=}m6d z<&E)-64Z#FI(&$wmQbTWk#QCD2En?A!!Y0I?;E2QIfM|qF`BCSvdPB`rl1erKmbMh zhD4T0O6b%>dVjv{>U%h@S%*}7 zs7#GODiImF2P*x@^-dBX2-_r*;vl~c53@Vq=WE~+`;zhmc5U6m`kCn}1I(R2>>w>w9F^ zOwuw|a){%Pqu-CGjmeSw3-m}WzNtg+3#oBO0{3{0TOMX+9I}uL!>q=|mOvy*l>6iu z=|ba-uf%EC+iQxu3u$PZ3)bg1`WKCam7h5h(5NH0_9<6F$XqZ681^z>)&f5l= z32+(eebJgTfU0!QbC>P6^hS}-HFSNU6>{kPH_P1Qu1xzqp5;}kS4uBitp+#+mDnL8 z3EnMa;*l52E=k4I=^IM+$o3BA-^eX~TB9c=ftj(tW;=+IjC1c(F6IrJ?qrz%+l`Gei+5F0L zgGq)uB0cRV))H|)VbakT*z4?eGK$DEin#0KNXBDjOC-Af_dx${VFtwhad+cr>2Q^H z-2ArQ=0@lTLZYZOX-w=YNs~qEClwe}o{OIjFf$<+{@~l~7CDGw!lT8bA3ArZB=YvfBFowJqc``*}RpZAFTS#uTT%{dn%8(7b;owqTq5`Sh$ zi`-}t43mzw9*FjJGZ?pe7zT-+8||D9WB2T?M<=Y{!~-Iyg66X4%=Uk-fb;O-JX*mVfg?s~jGc2#{B{$YW3K`XA2A7oM5qLFa zu>=ThoLaSGLxKun?t~rgfEzos@%9}wo#};ri18w#5n?sj81ztQD*dyn&JnD#*3Tv2rnOxW*E7cHCy}4;f94Vt*262jGLpa?7-? z8axX0wdZb}p>S&7XcldufQ`CJWd7W#F`{VJa#hj#!{H)R6rS4|=c{MWy=2_#$O=~; zdx~VQ5L&`t2*-M(xJMuHnAr1)tG(~9H$Y}Ndh0r)0&DU9(n;3RvEGko+>-SAgDxJ+ zwHB`iW9tJ+qN%rcoPTwAv#m`P$LMGFBu>~~W_$OVJ%4Qb-(X^uf#xSUiASoq**C;} z-_6bcuQW4j_2(|y8r|M{i>!XDheM6?57C$giZv-9SkWzdYE8HXEHz7(yI z>dVH)h76DblYD9cV2^nQz&3FZzS?O&u?qra_beuTPBaQ@$+qd;zCteFso?-pDUn!w z;b*Kkh~W8C-Ru?bGfOmp?K~%`QGy~o4i9KO4UDwLq=Hyd-i01~i6rR3_-pdU+1FxFhR`r3+_2&(k-=y*ahqjGAi=9`3VG>t zZ&R6gi>uvig9j|U7Rd`Ir?mF zvpKWJ@MAjrnrsSxmlvD8yklu;lTPIkFTRMRxvQ}DP%L$X{ELSARzc> z41eK!I-$$&3rTmjEN%bXT>@Ixs42>c81~cw^}CDs3+EuYu`uCdqCEqZ2c0iAqm%t#Izk?BX4P#umhJ{i)}&FCTkN(4^JX##MI7gX1w@0US~?_gLaJQ40FnezyXgqM!K-2fXsu{z5lDQ zc#fcSU@z(M~vCs*=i_W?eE z@Qyqr{h=560zK0zzr>yX!5TZ|K4+-Yt*^CM-=os~zqdT@QAm zgp0GQg>4Dmd7>(4s}Nl4J-Kt!BZdcLj^<_0YMLhCbGI(b<`bRH%$xi?(T0V*pC z`#2oeT+2VX*tAT%{e9*yr2*O~8(GW`7u1F@&ftd-yeW~o*dC8&Nzpgi$4*B64i>}R zboYjK zn9};Qj)R&RUy%}S7lt+?#pp{yDqFjn+JmYOFIr>`{0SaiCO)4sa}2Q5;E(1Vnay6C z3sB*0S%0w`Gx+q1Rhb?46@7t-o{l{iIMKb6=~f+(@eX*DiDJgM)I!jBs|{&vs8XUiN zp^XCH3ovcXc_^#d{dIur{ZT)@T53JctsMsX0dlc}%<5v}Tt7VC&ULQbuhTu6+JsGZ zc_YQ~^y6=5*wXldVIiK;MVE<<*B}tJ=GcD&!fS|96IyRXlfIJ=-y;vs5{| z3VgbHCz8yJntnzsc}gs?c|4xgdA#mBjDiFVJFOs-^Qq`~r)H`zg3QQqvgON3V_%q< z1W1`<&cC6){CuEY?}W7RypKJ)JiO8tCa{v1?+e}7NbjF;ed9WfZ0#10T&E@O!#$D3 z#Al^M6mTAc6k^3LONAe{LxIkgypU>((a&|zoMknhu={FJ^&-8j&4!+avmR5-L z5iA!`BHh5qY|_H*!Z=sVS7g4DdDzJZ98xef3znPF!3j`!J2ESIx*@6Op?w8bZ6{l} zBzU!MJj^hx0;!`*LFqx^0_fnQZs`&~2Zsg$Ge=41R~C31K{I1K=}GQ+S-AF`d~)0X z>K2KkO2<#_M{FzvIc$g3bz^$;oClfZpW0=QEd$q{jVtLg7N_|KSh|(hzXM^Z%UH=? zumAXE;yTFAI_qslg7NYe;}4zZYuaKE?<2`HeQ-wjCt)x*zEg z3!Y{`@$!Fo52eDs$_ZL!d+Qyt&M)z7aCIIenvF&qo&|Azqk$KTbgtc`;pMR|^WN5~ zb`Ssxwp`?-P)ba@-znknIr$xI+)KPRb(XVwXssSrp=z=WJhCUt?X(u=ueNLYpD@m6 z16<9iM?nUDpIQoEEGZ|H|F#O)vO@7uD?9GCauvUI9l>m4a5&AqYAf+RL~b{g3BDXx zHNiD&kx5B$<~j*zir@N#6HG4#6EH-aax#kMwt69yOQbIt#cn`33{8i5%mGz zvtoe`YVfG2$J_lsjUNl@v67vIa#F*c*+j)*rTjYn_5}M1Kwk z2{w%dS_F!E6Laj@dlxgCtO3VRJTzx92`EW7`Uy&#NeRUhVPLTXJJPZU!_FCS@#i^- zNb0Z{nyr1i%V2?ARl!^_ocv~8{}$H08X~fkOS^5alg6kuxwV(Sb-K)>P#?T=R|aQ( zVds@gu^7_fx3U^R93;ZfDc)SJoCF=3UNkv8d0Rk4-vUH7rt=<3gwdxk#>az2pt3+B zk*~D{4xLxImcQq%2o9PY$!3O~^)GM2tGf=;@P~Q1r52GEtTKOWFA(~I*s^fTDOKD9 zHc5>jyr^pfCfyCR_}H^%R+Xe`JN3!a0T_BahiV$r3nQ&BMUcDy^&70I>%%?g_GZ50aNI0yztMq@bUs}@b$EB- z7!jV_B}*?q02lk0Qh7GAR_`s(;-0SKnCt!EA$J7G6CL#rfjRcI*X!#S=jWli{yWli zw*LU~f4H9hJd+}m8_d{2{-JCm0i&Cf+5zVUbex3Y(s5m`+(-^Aba3}8<(V$^xLNp5 z_Oux5sjUi^Eg@DvdFxRH_x{^14A5^>lX!H^Ym5X9{4eUy*VU-I4MkYhaFr_Y>=J{; zj*pk#e-SOocC`&Nci|E-%|7qHI{GxF0130^PVGDU#wCYGY^B+)5_&-R0gbGA?fsac z$2vP4lOs2)VD7Cm`C3mI>KY;V(!lt3nx%rKYNqGeZ%pj=FYiIkUBZl(N^Uo$E(pmA zwz~Rl#Ix6e6C3Hg5WN_vb0E+ahGUmR`;aaCqzf?YYKw2AiG>Heb|1+QC^$hTekm_M zKgQZVC$ktJp5>`VGj9fg?-B{M0J52hQfXF!-#Q4a&!0vA>X*>MkO0mD5>~Yzq z=6Zf)MH0P@K)16dd>k)s=E#nl#URC z>=VQZsMXK#LaBvVeS|2K(phB~gD7c~?A^qc3lAU6v4?U=X)zCwj>%7^Ag@Tn$?^#@ z^`EC94!{rfjRL;!IzzwqzxLI;J9r5ncz64YNEW@6tcR;X$2<;bY+ie-lM>zKiR*hq z3v67kfI(MZVSf(qvqjn2X3w0bh8%I;6MsO$j|4dux z9Pl^>MkMy)xFT1lrosQanUc$UA>$8siRk?Z+q?zTi^VxXGLgNw^kF@hztjS1Z+@~q zegROM$_C`ukVK}xxn2VST~s4`yj_84*&hJ|TO&>66u{8*c#aR*^%%5X!pb>fzfC}d z9fq-Ahb6M*aj6}Eo=X{Nf3w!uPIexxPXI6dWId(XFvo%ZUQ+O=Pe9sYGf?jr^6Em^x4DL&bHFa59J2h^hC30JnVD?OOtkMBz9J!E{P1*672?=scRxFq6LrcnIk^kbD>VW`!NoS;te*oznMr2r`e! zgO7Ys4=%2}IgvkEKp)*cAGKdSrmjEBs;8H`(>=poi~w;cX}tP<5E-QKM`Rp~IhW6+ z{`?yXVV7&yUS_hpjdW{^+S!0A<^DJA3fVDaBx5i)cE_iNtb3trs88`i%UgdyELAWOVR)$GHj9TobQIs$i}~zA zdQpbOL?~wga;#xLUMxA8$6Of)RyR~~e(|M30h`7C_~HC|OMkX@F)GAew*2=pnK?iz z6BLq@AyOWdqenLSvDeAHUuV$i30%B=~1i(dzCd zCQe=UH}-FeUTd+MueC_2u|m+)gaKH46lJs5or!vLg~g^x@lxsxI**dkSGLR=-G)MQ_*;Edc z!4S+yj!LZokK@qFZXi~rFgC%*AWkwd%oZ=FDjWa)lVHOOD`6cmiR;bw#YhTXt;6FC zV?ofQvl2fG2q}W78Z?sv$%QMrzX1p--gMiFXEH5k6uCT_|ISFRX0yj+gW){Ss2aA? z-Wik1g=yyS&2zFiE9!nA@BSl&R~mFUEs}VPsP~3;`;S(tvqMdV&=##8Zby1c<3H!L zPsv~}XKwcz$%SIoF~E98VRQOfi`|NVMvipJ&WzOaQwl6K3Eu} zCJmuLhqh%-asIhp-#)MW7s9L}%n&FF1KcIo2T8bC=~7zddRqc{C&wV*jF8c2P#un) zxh1$^a#um(gEhC&BDp=JgMvcp)4>E6iE=Xn;(JNv%!6zKbp1Wz0MY2c@vd|Fwmb{F z!-byUZFGg+?9Fw2r0?HM<5ZZfw?PxtYYJ51bv!iru$)5i}}Ty{yzO91?x7qLA<^GIaF|31gZ)se)ig9 zG}dN}+FZL;fWZKuHeB%#BpVAIt$!}8zwd`eAwq6^-u(*OtG z+S_Ge`DO76%TSzu5o2hPct7Fol;p$I`teA~jI;3%WY^O_%#SyEv>#i`nzO@a;hlcT z$J1xh9xmHBm|}9-HlC**Y_~^?NKT4<69B%oU{~dUta!S5H)m!cBD6X1Gh^LrGVF`~ zdOO$9%r6lqy@VOSGZ&8^_u0<*xNE_1PW2uu7y}s30YCQp)fFmWk`}&Q$Rp>qzd{}! zoWsOrZ)ca1a~@QOwpUO^Ig{WrlqwMqwm<#X#Elj)V*< z=fV82L}iIRzLR_&XBw={1R`V!xfCv~;Ip&x6We&hNIwuh+`vAe6OCdLmOz2i7DuruKf9b~ zj^gG5REVXv-!q}Kdn~tT3722evJj`nHC$1i{LH1%Z}Dj3{)zqSXn*zk11P${X_I=q zg*R@a&)HQUb^d7eeR#>GSyo^Zc|gTsiOIzp@8^`%PhwAD0_`%46WPx(KDSL$?^sHZmT)^q|1&D7oDNyVyC||$X>G@VKC9@>6LbJFB22vKS~-?0@SOs<)%Tmj7geNE1`gznVRV&nY#h?#RP!XmZ;aEL814V+t+Tm0%Q2+Qg^#^>5Zy44-_4BH_ z0+24tuMX02Xr(_{m{cu&6ww4x+K}jN5<6?az%C4jgYm13d$yMYyz*O^}A7z8*Fw=#c9iRk;Xu_GD;R)t=YRjv;3pt}+*VWF@)(alfPL zuI0GlvgL8?>DIU*%IU^Y6E1?XsaXDw9^kfhJ|hVDR9S5?T%y%}Hkw1e zHQP2xZ9BX9s;TG0!_lwIo}IFbc>l>gK;&%6G#EOyL{~^8c+lXBk}I!JAad?{Hh#pd zZtbk&Q}8oaovhSq1Kx+{U)XrTAm#0gQru8sak6yOX^s80)Pp1AW|hrL$rf zJjchFylj-TFwukuXmz-|R1|UR0(?_T_i{a!IKF9Jhsa(`wC{?Kd*`3Q^LBt^sP#y~ z{ZY#bp3suIak&4klJOqO1Dv9*X?-jFO-%gjjnYlZOkTi%6a^X)NogM`Rz9+z3dored(edBlP%=EPuTGPhU~cB**Ou_G9r z$Ypb(QbRsFUb=)g8yxY)>aAwK?1rVYvsI27RlgMq$6F)f0hObX96r7UAy5kX3$*SY z^&F~r`CAMR#gu_jRUjYB$QjUOaC~b3brWltI6E)ZWYr&N^8S`SN%fnHqGzIN=tRiG z+ouQz8DAiCs7H*A6+#ds9i3|{D(M&ATQJ<1udkR4sKL^b3${?kAq~6yBMip3BpNTV z_+!F|8IRTr##)Q2sm{5sgw*(}ep1D)+3+*y5^a-GBr`D|k+>pDlG01b_cz&!p3Em| z`vA{=oR{ZG%X7d3T-gH>LeO@q?+ySWhuiMs;{*^p?U9agoA#}-(nWX*_}{}4s@^T4 z=`vmP-2#99K)0VwA3K-y6`xP$dbKPz;ulr!+d$|sqq(?~>hZ7+ z$?M|4DH!{ZQ+tKRWH#hM@c|`Lv1Zy*Z0qt$+jCXZgotdR^z^({D5N&kpy#T>ketWP z5msV(2=X^nLqbog>?o*eZil~P-9P+Y^ifLX+E>YX11+~}xyr#1C2*s?P7+@`-beOH z`pg;mI@Grw?Y1K!L)^O&INWX3k6TX)G3}}tuLl2R_Uqv#S&l92!*d_2G{+2uaxfnK z2;9JmepC^ZjYPKnMX@f69ChXtSw#o!Y1m7gE_wLMVeVqt?VA2fm*FY^s ztG(~4jCeLcFl@~aSvWiBF9l4Op7Ytw4l@u|hz^+62yTO_Q12!~c(jsHBqbpFNV|!4 z^=k}dF%EW$e9`fTW8Lj9qzvwt6ooBGAT2Rke!w!`|YRT|F)8&gNrH5A23#eWc@ z&%JJJJpCdt;&Ob8?^v8l8yk56)i5RgHTX6wi{!;{ZB3@wNOR(B z>a>X2$hQ&GbNLkUmk%bM5^e5w_10v}Ik8-mUwRYuTiaWVw6$7!8T*2=6CFKN4ViQm zIpr4@5P`H$2e?C)hA)2^wwx!n6yI58R3HQ>%wGBunF!{xaJuL@t#>E$j`<<*XFAS; zsytV`b&eC2xHv|>t#8Pt_E#%x%|4hZDK3KuM_L=A(R5*26h1OF%Tv`}|Y`|{HD2wN#vCd-VU1k4ZLDDUb#nFfUCGi?<=!~VCD<;HW!}T4fSU} zbQ{O3#o|?^fN~8||K7@HC;JjOhJk^x7^3vsW2Y-rCk9<3NdJN2&V^9tjY@|$-Ht+o zl+A&osuLV*U-|aw2uMJIRDsTT#0&5a!cumlbW zZT0_I^m;G}y!QM3ssE}tf|t*IFQZqBC>e;0*f4H2ovhY|vpW1va9B*7BzDL~okTOB zP`d5f8t=>>?>rmL($Nzt2>yc_4$rJwJb;HJ!01w(H|QH=6srvgXm7I3vc-Z@ZW7#7HeHqyL<#*2{9LxfKA_#0Azy=t-O zj`G}mbZ%aS{_|s2oMO^;u^`8c)p^rQ68ZE7>jQWcl6UcPyqvBY5UCq?g<*1n$9_nu zj0;y4OIv6>Z55E9084!v8|Dd71v2*Gco2k?m{N(SF?8A8hV4K3Q@Wb<;#34ZPMiv!2)rx=lAsw8LSSHnbRC+Hb=a1nTc1ENk&FLn;m-6g_v_r%L*+y z@etj4k2d;)ll)%79O*^q3 z>XqRJ_tDw*8dH7vS0uoV6ydi!$=onnkwmOY-?CyYLCL3177t49*cjE8xI!|K#|Tao z`P)IzaGIt6z61CxANXqKNS06<*=UT=O8RzcS^M{@j+Q25sinA1&h6*zN6)~W;|G$*p1T z8FEp*;E;oX&q@H$+mU}*i+Ey%k33>014a7(}rdp67Ew*i9^GBSfaY%vaE!k45EKnMr{cv|BaFDVC zp{Aq9++q4g4CtiD$^FDC8v+%I9WF#Y$g;Wm|80!iKP{#?%k-lTtEl}mdU zR>`lkMoWlJRbl}-Uo1N|{qhH45{<_{MZMYXg2GrIwEk8TE1!qy*ru8ShtTCAgbMrT z7d&%5;svcu&*FT`303AS)>fkuX}-s zr!T;m=hF7CpVFD2iO(A(AB9v&J9)wZM2C9pOh#J~?ox4bq+Ikk@yX~(Zsq9wNgoE# zxFJy|WCIfStR5ixz@Y0^I(oaioj`{z#_pf&7OLCwgCx!~_n@fdQmckQ1z*XIJlZ(6m}pTRD^gn%aj5+C{V@v|zOPxLHBnfcYry4*I#9j~}n_ zNPnq@;G>zNpsL?N_ygXg z7%|&%+Nkd@kC8-Zg_MU@WZC!Uy=G)33j_AG7pfhlB&D<;iviMV?MYNaILy`xiz#{*C8c*dKj>z&x<#0Sxjd67% zVY;MmvIxdF$qv3ULlvyQIbxngk}0{WG|#0`HK&?B>jrzQA;M!6fQsNHfCdwCtRHMF z^g{_K?8YpP*qDjdhQD0v7YFj!qy-G+w%IprI<@y~<%o#n|vZMeDBc#qrWj zf<3=xfaORA8u5m}w7{IeiaqsvtWe@YhyeS$Hw-XJXDgj8YS;_XPcaaow-;Nex8PHc z=!XO$7#LPLQil==Y(i`VO;BKTcknuC1IU`EW^!HVQ<-WNv|-kI;KZWr&bn zJm8dbBBX|lt4|z@snh}*z8`lqdERU)eGZb=RQ%-1 zxLsdZ&y<2YuJrR^;@S>+gcW!;HzX^tALBcO1Iu1`-dTFoB$#qfmejRAAXX<2m?3XJl%|4y}9lpm|g8_Ns9#;e@g0jyr{YgxZj}D zNzq*Rx;*P`BL43M+c#zZKyL32T~2k2GJd+9bMLvJzpIJ!FTX-=uwE1FjWqpw3bSn0 z6eWljBfx}jNKi0fiP+yU4-#(!`RmbPA3LVgs3noOSU#znf}Oz$*V z{Gp(F$f+yI)eb5ivmLszfCPWI6|*wOwYT+u)EYE^P{~7(o^3*QM+z)TeLQYf3~1Ny zgsouGFd`JUL|XyRqihs4)T_x3n0SgMqx$I081oDs=+iL|MMiKsOWXLr!X1RXp*7$;dR}EHHm)ICSX;d^Hu@!jm1F}kmlf!7Ew3XBzMb60v z8$GVF;PZH@_KAF@RE3g>8~RSFyme;9o6{i!$L@O7v9&H;nBNSbdDs?xafc9`H_dTc zx>m24Lz^f7`sjwB78i+_B6+DQLVV(_ZX7aFVSzp2EqQcg);9q>*&_**s{Adx$bQ@E4^{IHKq7{uwm74@)_^t<8kMG8^t>f^b%!} z0wJ4Pw<#8y?-Gr^hyQN$lS`OY7}DEx*>RS0eD2tOF{^bb)>QH`h5M75qUfd90_?qx zp}V%Wa7wT9zSCo7{NJmgyH#!N`cX|8sK{@r_i9+RLQRS7{=|#phvka030#> z9pRWB(S(7zk2I}4#Ye=uqZO7uo-0p=*5Z_>oF|LtS%67JUbzc#wy(1mXCuwQ{pm3 z6w3zT@5(9T>;4Vs4&8Xh_9|+nP)1?w{RM_DP`;Z)V~_$I`m2Ty$Z{f^iBXXE$q^q= zQ1941N+g4Qt*WG#G=`QREN#OMpzE$hDgnm0Vg-!I&<+uDuc$^2&GjnENe6d*&)Rh2})AuxDZjY)e zlABb}VG3($;t`%3U^#-43R6tcOx+c<>l$H^RjJ*d8#$Up&P04RwcY3#@(Y zd(ab9W({6@DFT$P@LWqw+^(z%4=X8}I6P%1w7%H$9kh(jujz2BswOZAYZTe`nNDNk7_wr=$i8KW%P`aXC#LPFsq}K3s}rK*;grWdv6jMlYn5+o3RIs> zZmc}uzPLoCS8ZJ=ykk72M9T76 zJ2wBE&lNVc|Fv#W6GMtLUUj};JrVeSKAT4)$=SP~tZyceQEJItZmKQZz;%8jzwxC` zy4`l9e8`>T)N!*VPM7n>X!!WxKwO=62bSGq&Cm>VT5f5$LQXQZS4gKbf6#As?c#e7 zk}lmWJwZ@lvmbs-ehK&Nyj!lGdMrYbF~N`>AyyMN3POAWVxbBK`_PZ(TEk0~H}#z+ zIv&6j`S|L8{>33ZRGtFzR1|+W9bRv>!V?dA?7LV9PfUfajn$85gnny$7uQWDbPXOb zgUX;@oKKaI~HqU1d-3+ndV0iV{rH^-B#4jML}G#fg3C$1H?D@ z)Kh_b6XUc98EM$yWzPA<;=2ui@NtsQ#1^Bj#S2;)ek_=*Kgg4?vkZF8 z-Ct@NRo@&#rTxlR>3F!XD8mXIRH5bw35Nu-YMs1xBTgi zMNj_s183)7g0pJwGH=gH1MM;+a$~;$rS z5sAd}R+^BIhFP9A7P*jq3CN-URf+jE^AFXU>C794MO*zV+DJd-yh#cZ5!$fSf51Ub zY7VAs4K2DQTP-b{Tlzg-Vy#r@k=oZuV*1G$$U)GBWvtFtI^*qr!jpZnPPeSqA$2UX#?dC02+zn zgg5@$_j34o&rzWmmU$2zz!Z3}fz@`!a+0#g%ws;p&R!O4Q+R&faUdqfZr~UH7C$WS zhABB8QL{iNkB$F8&pdP&M7<68iq5B2|NfFixWBYCnU7f8fg1DG=BXKo(ztau>j>|} z+@FH0AK9N4OTt_JJjfaCoEMc)h7|+MIP=p0AOy44_<_kewXvROnp}3sRs{=>pk2@q z)Rk)tsLrRsxSZU@%4|2|SE$jT9IWZ5&Z=)4&heIDeQbPl_Vxy6%_4@v^Ns+l?Jp~h z!G=2B_0t6MiBl(g74^l8FU!B2 z8H;lDKhLrV=d6?X`U}p!hN-T&$!Ze=xud%?65IMd`SW$hS<)kFwnlOG>@+k`Sl8m% zkPj@`Z`-qfwCvlX+FBACZI~8etA8ih(e)eUk;8z8`z+7^C_LGj{oQ|`q}tA~)#y5C z`~s;>+NOSSQ|i1~1xiy%9;~#tdg}AXtvnogUdEQ)#oGF{7s3vA9EO+Fu$zbGCPi$5 zi13Z;EFGNYH`8Xso8`o*8kb@XeSPZ2GU&n)`ionwbE6=ngaRV)iUoKffiVpi*yqVZo5ewgk-R@@Yil4}y!HZS0eC7_sTs$|T zVYQ{hAD`1NEy@)S6{pI3g*In25i-01wMBMS0l^CT^>!z zFwG>~h@{XfG1p)Ux+1|68|Z^3MBdJtocjlLV=uuNIPXqys0m9^DzsP_Lpk0>RmQk6 zI4GWe`>bf%1CT~N)cDqBhWhr!ZI2V2sNU-u3ks$pW}&9@y}I-$ zl)0!mEdb1I18hB}u>N*rC!FnHwJraE>J+^rV*KE}&q=h}Tc7_WB#0>;T^5j4O$u}M z`}B*g-N7~3W|y_dpZF&()re+8rsuRdVysbOh`j3x+H7%IOYEh$D#MnTade=rh?fb(T?f!`KQ zAV0S(IZG>&^g7PrY=F{aQ90EEoqT+!;7oV4i(VhDv&nubFM){SA{>i8l7#*1BCM87 zT?6Gl0l34SlG2*(1Qw>>>#*edJtK>CYbJ!B1G%u4DW@UAg)Qu?R?SnW>l zdvSh`!Bh%9{Eq)3&3)_8MYOpC6iw>Rgm&!d!rVS5RE_ltH%7p@fyiUdnhNusbiJv1#AJh-Vk*;Zy;)?J>pIR5Rap|C)5 z^&=7I_h(yIxeAIq$S|1i9cWaZ66Ctu)0a2;1KRtoC680Dp8gH)ckW98l!-+jE43`r zC$*}LR=R%+sYY5DG-fmo~Th?388y4^!OZe^8t17%H~^zOVwQX)5E zYCa&{2l-;fpZX+ZA4L4^1rR}ZzlPC^dyVAdX;}=u|1Lr3slOd0l!bx1kT=q#P|xDm z6H|ji0qB!=LO~~#BN7_=+T_ZD>AVb{aSRo43b!=T@4vazyinNUT=8K z5v_$**ERwL;N-xm(|O~3dBu3ObZ0Z5Vz5-10E$}UOB+AM$z)Vtl$SyEw!*|`c(>9- z7;j$L@CVmpuMGZ{?0W=Fh|lNnXNAl>#TLo|>DiKv z{7K)3jgmMN`wTJ953w;GN>tn1V0sdm3>wYb+wu%)0#BQsW^p#WBNY2~-L6(%{;sQm zZCr)GFcr73>XOU~fn?RO1Y}lh zY&Z#me1u?VhWo!oS$giJnw&XCt59`Z;I9myulv!5s%{f&2cwP9 z8`7tnHxfjlt)J(`HKC~)Ddm@e`vZ2 zwy4@@JM_@qHA6_ZbPYq7v`7gEN+aFP(A^>3Eg+4gv~){%OLuwayZ5>O;q0^Dwf2f- zp(}(pM{~NyMm&>n^}%F2Tu(Xh2Pon!io5gGmxkcuYkB3>r0FI?;C?2*jhE!}CT^0N zzdT}1NC%hSMN~(za@zYz&ksWRlsl%|2nbh_&)br>?`uB%5e4^@2B_>ZA4;>zq5llP zM7)17odTM?!vJg%mzhbvl@`5*aDxKqrqdGHQ(n+8i4ZR>(H1xJ%g|FZE40_r=HCU$ zAhc~?V+-L;T2Xdi(kk*NL^A%}EDAt+bY;&wI6&52%JM&LO|eHbsb9yYHv9Ci^QD97 z7hVsJW+s(^wED60Hh>kN&mDt&n9fcngL7^X81v|LIczlduRd8Em26k~A1+#CtPy2u zA3Xv#@Jh*dN}iBjkT@%V7?Q3ooms*QJ_KhulX8H6wQnYvKvB}DBnLaJ`0!~Dpm!* zNnp&<(jCH^p!~mHPVRLPB%JBSb|yaouv%a4@$noH{s0A~ChTVzX~y6*WYO;LG}3VA zvyQt|vh)AC&igfdSZ==jIY9jAxtpRR_mXO0Kg>6@yv8nlJm5&?xgm)F0Q~z`s-WQd z|MBA|9q2Abx}L8c;v@4WHmP>QO>)1R7z|=9EZ$KdB2a{Cj0=ao8d5S>l@3>t$ym!t_)u8jUZ$)a#gMN5%|q7NbAB<&m-%XpC#g}beHnQ z=IQ=o+rG(mWMrJT{c{jJMX9EyXZL_?yW2>v!+FN_Uq(Tv>KuBjUTv+SC<`i`A^xVwI!g4L$cQeTO=d`{5dVu#yoLZaP zT%F@D5nYhv)WGlR;G=R2$nojaV9q3!#F2oVp~ZI4%k~1_w0n(((ez&Di)u}E^=kD8 zjnk#2Wuuu_lC*?`k_Tb6E6G30#QTCZ#SV741078@YoCXh7#TzK+dHub0w&@tv5t-? zN9R3-^-1-A-;=EWU99_EZPaePc-Hy;AKz%0!|1}?>Fr6mW7@~IHO3^L>9I6j|JEwJbAa(&!M+ej>7TblU&B)$Eg z`r;tE=wof9>1<3c!I4 zTJFQB#frh&B}ucxX78r=Z-&#Y+QSt#_rFWK@L*Z5)j_4z|EfqF|8e3P<8?%caZ8DF z%VN4;Hy5E>Tbj>5TmS?w;FS$6XFmI)kC&~3c8j$=zFUO3lWDuesJ7#A#2Rb~Xdex5 zec+luCwM>iS8Vkh3Fjrq`P)FaD4?YMHP8=fCxXry;AV#it8rNVbS?pdT(r=R;R z$9Ne@-`WA!7Jm^&-sKQTf+XN@E!4M02l+DRS@nIjL^tDHi2&+S7h+>nh`u z&D@|ch3-i(jAdRd0Q9M*GYcvn561H^r#mJ48r}wv3taS}Sf`O>+d3{)yRU3(8xZeu zZ8uK2B<9%IbTUkRG;n>TOE@{kQy?5?) zwJjuT*06qxUdg5BiStdK!s7KW{uEFu_zdJw&;O4+n5fzcNF_2Bn-eNm*?z@?{L~%e{E1a2+#?$coS*U~uHk-}mR8b~mY?npB123uN z`6Nbp%ip@6yI%4z&k@9KRAibzMm}U0ev*^(aba0>!)fo>uhzW$_r!$1hS3y!q!Q5H zgrVIpt7~a(zaDqJ{uYO~`pVg_IQ`~09bx=pv+q*idq6(Afa8*FKGBV@H6wwi%Fa(8iCfD89eNWfC&-n4~;FrSD4!Fl+jp zuzz$Yb_mJ83C&~4<>{|`x)Z7iKlkESwF~e^kQ?ZedgW+5YhiP^FsTkBpCB%hVi|yt=Sxv5ursSZNxcDWU|> znGn;V1)&oEnu>jw2JVi$M6ksM$WTjDV#=sPUffAuPRcr4`Jhc* zUAb=K`>TVwX(aWjZo4gwwJZ;ZN{GQE4tKxxK{LSti(lo(!1toE1IFPj6N}(*iDWfT zI^qni_=4*&*ZP8j(fR2pcm)!@E6*u&$GL8WXlXDnKnUhj+MKUV&Ut!H6l zGrD3ox@-93=HG4nY*e~Nga3gU7Kw3LeVW(M^WG<{qDJG$aPKJy<;rC>-X^sGGvrN(5MAqQ8>)>-$q7;Z3iQY5(Q8$ zj1!wWC|Q%m&Wu;V^yJP*@fDFK_k?l_Yapsfe~=D?l>poWH^PWogKcpcBdFfumRZ*O zQfqjb$R6}EK@Kz!qvm8PX6JVb{$HxJCNq15ltZJt;tpVQqYHhHxR|-v@{!J zlt{d2G1sFa7Iy-IFF@Np78!;?TS(x{($W{!ESz%6wzwPS>w?~;e0ylMI>PnsZG_L^ zTYfoD&p)*o!&G@BwQ&x0ZxCD`rCwlq9W5$#cp09Ean4%%>DWjw!I~@$6s<|DTPV}v z=e$IUGtuVcVANVGbu)~7nIUw$8>?s^kKZ&4YxCelI-|~Ehm;gHj;xWeP5AXjxrOYA z2zsq9AL7vFA!-%lDSg0d*S9Wem5cZw{p~rnH{{9_{;G|a__mdr!m07JOA?BDky3ij zZi^k_jGn6qs)|-D>dnfVot-`2CvW6PRP;khE*xOxGWc>OxM;#O__E<8vF!yMlBKX% z3SG%VR}iFkmVrS$^3^fGN{(~s*?^F2IzDcz{5=9S5AYH5b)y^x^}L3amEv=8-Cd{T zbMH@+&eIj05On+ef#fjEo6PMhd}#DXds7LiJzGz|%H_viw~!yz8nmPof#d_0V(WM$ zf4*P%`5g;n=h~QKnwv8FalGRrCPLQN)ouQrfQSZ7bEs~#;net7EH}-64Hi(@bn^ae zyZrXf?PTSzK#j4@U66;teU_V-i+`EcIyu_>NakFnp@w3eawh+ktPDN_qs=#o9|AVk zM=pNF3bQWs8DQJvyU6a@wr^Yole7M9Xj3?mHSh5qn0?hdIrKEm!Ns$Kz7aRk(8}uV z^yJ|3nyRXmQ>{V~;unJdMh12XxU2r9dA;g5NPQY6`JBIM{GTPFO|auoRWoS3xluA7 z%a1tbaQfF9Al0Mq)8FQHI2m%GQzc%(dfEMO1(Dgwk~CHuNj*Vt+(})BgEG}ng{%{K z$w!U$DJ0}V_^j}HP|LX2NYS(PsyGoJn=Y~l-0g|JuJ64TTu;6rz|cz#+nH}|62>P{NiCBkdC5}J;; zgQdhUeg$%g{L}wo8fUPUxFCp1D$2z-a+YBhJ-x&XPw)OBQHR*R93Zrj<`DZOp_55= zo=U`Hu`voFr2+XsbgRMST1W=H3DN`x0dz2n2w#Kf0>Yu>A^P-PCUxI9;w9TW`lmEl zm_?G=${_n#`x6?uL*lbw6HghyUD*Jat9`V2!pp3rW{E7<8&QFnkQ8b{#=A6|Yk)Q#+2{Jgl*Fs)|7A38=J;@AJ?ih zG?O<^s3i1^lfgINygeuTZKrIB9FP3i zK1z4_rsa*VpA1I!p9tp_crgY&@z>`(xiflP6+B!>@99eG%*%4u%Qx@S)_vRRHFyQ1 z{mbLcZL?oc`a@<$&&$KhnSWPtJS0Z@RW96U6DIey^rT zn=*jmpDUh9d2M~+$Pn=trtAL8(jm*|Z2CE@;nW92MFbDRlEBNbNA*=$XCX!aD9=}$ z08g8~zpGS|f5ak@GYG&BgefxP;grt30qahPwfBb?vF~DR-XHMxC-XAog%XiHXrEn6 z9)X9jW^rJ)`4lWHEKPVBtx5r^u4TT!DaE9(^|Q2>34QlyHjzBi#3_aG3!oE}8)K-;h^ytJ&S*Nu8|^S)O>tWt9KC>iaV^(Ye1e#O}!g4Yr-b zIkgqy`9GJ8YJ9RtXCVfNMYN)$(K+7G?Oq3hc*6SJN5^j~sQ1*Je}fa4cSgZqU`>UH_FXsm7*Pwg;-tEd?Pe{93XNvU!zu3 zBIemlop}sOAIKUEU9(Koz@GM~=6)-QYWhW_h4GT+n|s||GMoW#77f)2rhl>`^>a@K9OF%|C0WN6Z( zX~M&^hJ~!ZCyfDCD=Jv;f@z<-#UBp}A1`(HhO(XEX{bvxYYW3wWq;tnBo(a_-f+`) zw&KTOB*A-Qj~#3@Nmq5(rf;ux;$mxfJS6kP_Q6$i-I&!E>R#jfsp-J+A~7Haf9EKfLh5A z;V%mlV_@0&=UD!@UI0XC{Q*(t0~RDjokRJtGCSzNLf<;lAU_NIbA8>VI~oEU>O!D{P3{2h|g0nAfh&t+Sv|gm!XycE#KrzoLYcI9vLa%4r!d7HW@ABo_bi zcWP=TT_86nfjZw8JhiNE8HY*eGjaBTYxHzhmsh^8S%4C0gZmr@radI|LNFGXANrNd zn+Pvn_&%&@9=$ASff2?#g(E{$L2!WSW?qn8$1v{jO@x+MDQY0VYd8am9AXfLOUuJZ z5RvmEc@P!xYt>jj&A+34oo_^}CyCl^MSXj`n`)!<(4`^CJ|78Pai8(5B_kcXK3R1~ zgtv=4(VmL-)B}?W>I2+04$-ht!>*#DA?=TNH2K`LAk{nVg>cK0A8qMzRie*mE#N7h z+dXMyE1KL&2ke(X6Knhoq=ZmxW`}gzc;n41bzD=uj?88_2w`>AEvIKVH!Q-xBT44N z{rAd4pY>%px9m$TWJ9{+CzM0JU#xF*qlXwAess2uoDD9% z-5A7*^pp8-DAvTgGi~kd-PWJ?1XtlFAIx^O7kK(!HsjlI{0pBtBH(3duHTZ|cH3#& z@rwA}irHO%RPjFzNiO#Pa7YM$&UeqR_d#JI`xcT<8Tca4ruQ3Ya0R_ACizs_@PAW; zMYGu9o%VFH|N0Jtg2f3r9*0_jAwJ#uhypW-pnDgc4}$6N&JVv60PsO~&&X#e3}!-2 z)}o&qM`BJW^Jt5uCG82m4D|wseQnj^d+vMMLBs0ZXXU< zn1No7QA+dR@^W_`)fov2*nOvf7vp5QH+uM`^hUZfk_+a@|MsmuFjEay4V$Te8`NgV z{AX2RYYAm!>v@LyUG^zJOxjQx<3w4H%}RU%i~I!iZ3HLQJqmi~qIag0ZqO!BCkRKq z!$i_L{f80lI+_;wuzT6pCcE{|SBN@T=2(5%T!l~6{=Ob@stn)dd|?E@>1d-ir()*c zBO}~hUd_?Qqzi)AQ z)!@r^rpX*rzQlIrWl0{-S5NsysY|YEHPmDX&MI%&1KH-ecj#Cp zh~6@fE6BuneJxMqEzC2u*F4}_fG(K`9+et0LPOQ-skG?ofraMoZN0rdqPcFZ#tCW% z3d+Cy7UA8jg41k^R2_2g={R5V4!FVfyx8UP*Bf4HZin0T#%@g%UFgMZ$V zsAQ3}(7wV21dVU;Y5(01uIhGPrbL(-nk()EN=_l+CtNX!u#2pE2f$koDjD5z{E0Zb zo}Ju(b2Q5=C(9F>PkR7*x8UI1e`Sxu02$B100;eYnIWnh-~+7y%%gK`MK~*An952_ zV1iljIDNoF!x=;8L7?w0PPwKM*!Z18{Qk1!Y4KUk?#) zTWG=gq$nI@s~BGH&F&&~L#aT}LjbJ-IoG4OAQ;BWF!O_mKwQ1IlK`G0#PcNQ&{dmQ zHy6be$L=AraGIl#s$M~c{E!{Up_C{dIWv{V(S+m?6V=H62sAtIr$`$~A_C*o<>z8K zRC2+BD5N~(6T+n+r(XdjM=5{42x8DW-2(>x-~$t31h~unn+kK2UrlH?fQr)jI4?V4 z4+-&1P(MIwSq2$xfQSqVgv`l47f5gkFS!f;6wy?MqPbJ6Ky~sZjCp{dt03LV#)hw7 zy|C9%sI{PAMH^HmOJ;F-td7P&C@QhLJJwt)MopoEcrI6m?AUWJ6@X1B{7C&NR;B?3 zMUy6DOU|rF0Q7@(hyHSJBe-ZsM!6)a1I&bTHlbq~cP?QIiw2FB{j_a;K<3q;?Hb+c zkat>t(IlM;<6p`~=LP0=B*RUc4*$c}blw1fGn}+-X@Bi%kLg25kZ#EH3+w|&M{rX$ zk<05ylLa%9kXWKt0ZNurKp9L+%(sj{ld zMRWp)SWXW30DEwthF}u}-7>?Hv9iTD&gY7b6&l#_tj;I*8v^fzin6H6oI!10m?iN{ z4f51&k4ehD38*S2%7VtyPlt&f6<^SBX&jW1h0wjXC}On$(brb%uWvA=di;`6Z-w); z_aWEul4!Ch-OIfpTlc`B2H&U56Csmik%z@?JzQ(Bu(i!`OkdCtZ>AKj6l)%@h)3<5 zf{-mZu$_gfisU%wk5ovErd#}SSSw^~?VY4Oo|~<-@A;%u0%ZKpMzJk#&>1(g!39{`EQGz3akxc%|Xb7gT^T~#=ANN98a4la` z@f%tkWTxd0Nh;)@^~nA?YnusZkXloPGb$hgVc1KJ5w*o>T4*<6uL4ogfej{pQcn3t z;J)|==ccyaM&=sz!Ya)cyw`#awmosvk7c^*g?UPWL*^V(iFpLe4UQd+rli@sXs;Hp zwtlCcy4rbm-HLLYbjh_%9oX0cs!l2H7%6NF_*aAkpMN`Zr5}ZLeUFaQ`(joVdL0#0 z=@%yC`EEb)dzs5Hf!5jIS+YADdBJ%d{mcnh;xn|GVgiNS_vL9IBTX5nM9C_nD>6oE z43T6dxg2X&w8SWza?E;E9n$SV@z00T1X|QfzVgn&5>&GShpw(qGN`+)uE&C9YYjg< zSVXA)n+&!Kz}@cBlKve$kKmX1^`vx7US2mmL_W73?K_Fws}gH&-@>IJG4Js(Q?3iV z;dO$e=ZfLkw0S<&-bv818@kVsI~YQtJvn%G%ocgk0((q5~q-!8EzPW(g6=%bZFR)xs_3V%8Rls~!|T z+(94@h=smVX;qeeXV^h0Geg1vzXNYxkSFMtxgCgxJhtLoqBkm=zS3!R0j>c@Wy-Z? zDNQqLU0wZ_=$F3g_gSzSSPcS*#gmTvJU_mmao7Sjv=haRZs(MZl?di9;*$ zN%Ru-lgAB5Qd|9J?F;V_6%o#f=9inNxN6=ZU=uRaAE(8pED2;*RA&lGN))$!=0VjT zEF|fIw#y?p?-`ur^nxBE@v5`~E&Ls;Q2(GyEwXRX8IKg?H3dTQ{%&y5zE81YfYGLy z(#Ko}jw+I9NUdeXAHNB3!aX^B*Fr!rXpGC#lMdB~B;#o!4fo&IVv@IOOZoIiz zh3sq}zG-L6r^wG0c;kd)l2d0`Y_|*+Ihgo^u{|y#eIr$1JFCbbzxUYG~0vBkSPaAL^|9)tE86hzZg#SRGBPq(}2Z<1Zf(1_FZO z7$zb4$4|d1nmn^v>m%zv8{C9oI&;txH|_1>W0aY%uwD-MPkl2OxP2p9H{^q?Y ztx{Q@JC;Dwv)sljN&epNwz}%a#NRI?Rbn_Aac4uyk%hJES-z zM*p{?j@(yzTp5~sKCy21lrUPq#bhQ|SJ%|h`~P$-LpqoFp0ZoH8h?wrVBVzbp0EF9 z%XdyB9C-8up(J%0YoKv{{0~3$i{5^>p74A$G&Vl_FUVEzHLHK*_r)fz|6<2Q%-6Tv zaNtj(L*luia|sBDSzY|kVrW1^paubYgnxiI$`P24!=>DuWF3h0e?+Ldm+0{*-SR$p zTjdLBfvA!q(Oj{+!yPKi5r4+B8fDAJAR}CBNamqx0$njTFioPJ!kEq@=)5eWs0e?c z^a5Qkk>i z#+QiaOmBye)Q#)XCYgp9!{f`fN-4|DKt90!#ED92aoESibK-S`*UMr8@F);!ewSmN zAm+R>r)y+wLUgV?P6MR(QP(y2Y7X=bWB>rhb%S)D3?T`%>_;IRfeh&C?`bpsft`RC z2oO~McS3`?rllD{$dg`%!inen!=b*PKcYLg+|`OQHOGYPtBdXs!d4=fp%@eIEy7Xd*n?E^Va*^H@I`Dx^fR3M_^)gdq|0i{3ws1 zh#@El)SH>9|F(&|f@xU+XK8>FSnf-A+uj~WiH{V1=ZdXs`n4=9o+g~1fUWQVi~x6m ze+Bvno3I*mo-m?=E0w|83~#?+BU7G`}ntn@;{F5?aP4n40w0%C$^V23~QKR=lSd6pOjL&TJ|t1DK%rn48D{Uvne)=}SDG~G-X&odU zwDLZ~&p1#wPMtD?ih0f}-=Do+pH?VkH@I^~%L_FZrD&@4bq-6ca8z_9fw|isyI)|{ z6QXf9ty66(@e>8p8s3oPk2C1TETc&U~YRT z=9AWIr~PW%TrIjmb<)`kQ7EZfbK#m%_kX+-ria6X`@%gEBD2qV585iV`--UnQy07r z)|nO_uZiroSQlbmpaB=8)QJHi&Xba-Tn3-gUbcV)KVjPtCZ7aS_bl7`O**K@o@KNw4m$_Q~5GerX2zwl<7Fq@I z7$wNxAY`y{XV3S7NP;!WBx+GK!)wupNPxu9why{xydZ19H_-R0Q5Pgzu|Twy%Uu+H zY{00~W%_i`3JDU)5wc=`TsidzT303A0<$QG-uL7W zfw(+M(th3hXhkF$<$m-UrDw107Ncke9bc1S^v%~%mGVq=nYYX; z7J&*CwZ-CQVHlx~-8i=9?;L$WNn75*aUi6j!eFSCJ-h{XwNdwvz40iT^yUTWfj9$> z#2Yls_Mp$ z?~FpY@_3O4F?#M5?kAjGRC5yHG>~Fd>!wKZweGeeuPu?h&*AOu2fo{1+CpA~ZW|1! zUyi>HaPla!ij3*FO^zhTplF80bhs6zCb(BAqWb=D3;0A@R$0?Fnru*Z8T4IloW^s| zHJi>6Y{1!SUR=JpwOrU$B_Cei_K5n;`&t-gU2RymG9dYynXts~?&_PX&}ot5JMO0X zP13miWB)wwegbCXq?op04BZsyA6Xi>n!Y!u7MB+9R%VD6J!MXn5{-U$N7PMr`;1?P z`HW>zS%GMH#`)$t(?J5`4hh3|OZ=7T1b^BoA1F+~N;p1ObYTW3v&&Hx-Sy87>HmR3 zL`CBcm!x@-ZzeG41FN_GPqf9gjP%U0*6Li!c*baJIhM&EYu*XB152=a)s{SsefNK{ z`5kqYkLx?+3y)cjTY+N@O>YpL)0>-fRh8|B>1MM*9QXZf_qP9p%{6e`{+~9>fl|Ph z8z90{9b46wE)Fp5NzKBQd=9sx#^IrNq331FAPqUB;>8<*+Z(vWise#%HEl9u?=h3t zvfvLGuS=*$9_9ldbMd=U7U&{>6e2S(N;H%R@SK5h z*NbyRPH{P$3|4lkcRmq83a2CWkaYw&6n+HK2GBI+sc#sAjD*t62WEr4LWBM`*dQkz zZ7WaE?VbTyscZ5*o_u;Ok};9!Xi6er2y>WH739CE`F<zO3N;si2^+kro=nPxg@$xn?Q-(Sa&K z2bJH~ZQ6tLBYCFPhO54}UGi26O1#BbUi@6uSu^Fv)EfpnC&MS(XMB#FMykgId}QEd zI(d~j1rL}loLYO2#f6N;RM3xa-sk#3*}2nF`-iBWLuk?c>Ckz$$38^A|2t%IRsJ>U zp=Uicg?P8*0Jsg{>3;^V#0m^)^ttWN_Am9IDh#gbc(2gme~Xs=X$-Fj@-zLZh}>yl zPG$b)FWzaRR6FE>so8~lQNZWVIi=HiJllSJc${+bxiDBxtnTz@Hg-v9&@4~JVt!!|SKh}@085DlV=8OiNx-_tQ$2&3dJ2e6s#{ItDwwl^W zQ_5xAIN9)o8O?EcCBR1{FH4rek&}~Uy2jG8Z9GXh8uz7t-_CBS_q7{;?7>sX?W5^k z#g7ND2+eSk=^k#`old-K3XkuA<8fQTKS7AQkD|B_;etn}HqE5HP}k$!cUud#&aw{pd81Lt2+DtdNs=;zL^zBz zH|M=#x8ADSzAILLB$6$)Sqh*AA)Dhi|kBJa6%LF+-% zfQ$gT-zUY;SH~P$RyWR1;NQ`LtIt@LsdSGo#ypT_OWxaKp$UDNh0tl&#jynpK z;ujO6qqTT6iC`^&i4lfH-p5(V5*mW@AQe-iPw@54mFvjPKviu2>WHPT^2!FsNDu&T zx8<{BY+Vz&{}%BaZV^svfC4He3)DMacvjh0F#`RUD85mXRfj^6b|vNI_Qhas;(D@! zzOfj(Y;X(cC(tQa;;g3PeMfoIUxA%OR_YQE$WmP(e-XSN?Q2g%{?H@5D!z&eQ!Zi! z!5CK}KoJT8Q6d03lA7&7oBCk&{LoN2q}wtg zjLR#O9MViX=0LLcXsq05;cH|`1RsRo3@04yqk_fL+!6G_8t*4L1q3mFauhDA%dCiTFt_0J3GgqSNPmNS}TK+GxJDc`^_Pdud+q{!_@niLUFYS3isXnfx*Ng4k}kH=KgmT#@J zRH)1u7`Rz3QbFccc|?0aNS49UU2x8vEw8BbuAb>ctY;6MKc6~)-f0g|pn#{cI@`l0 zgFmQfP1Q?HfLwNu_3fv=MN^2<7>s>dG60{I4#MWj#4uW0TX;_XpawGb`ADlas!j@s z(Io=>tXCB>MtIHAEHNPl zx3008-@_W|QL_M>_urGZ=-0=Ci+W0jFXdBaQK=DK0*o;1Hr0}GGBgo}6n?KK&>0_B z_qZ-u+uJwQfl6^UsF|_Scc?xJ%e_+B2FYA7MDv^GN(LVHD_qurom@we_^IoG0#9 zZJqQTumd=NA=aC1twGRV-DhS~7+>?s#v;D(3!i5(% zWJMi(FuZWhdMn9$hKX^>L5gF;Bq+E*^v28%Lnc;O(bvk(j&B-`U$K6SdY$ts$wviG zJQ~HCkqAmv3ei4YGWs0R7bWWvE$`y+v6gI?(8hLIKy43Vc%kiM`mtsx_N@VB)`SQ~ z$ZNj!=GQ%ua{udNJxp+Tyocn&A(C7y5o?&{VIm!Uko@JHL+iXBRRU5EnqrGC*jGLy zmu?%RxLn-HYNYuIgPO?f!mXb&Fy>@up(4HwE=q5c*1X#&{9TL%Z7tqo@0(dWfQm}W zabM+l#VP8bXrLyv+WyhhYH%%kiH&`yRey6R=34Eu;`=qNdlbLJemL!pEC$C%tx9v9N*>bwSG%!8Ko8( z3!e@6g%Q3?-hN1$)6O~h@omocZq-8ZGeVl+y3Y@Ke;l=w|H$D24*)T?a1Q*wXph7u zrh(RwpKeNH!IF%AJ|VE1^}CL!+;T{@#}mdU6%Y8}F%q2^s!ln+?+l9Vi6o!9V(>$6NggsJ_LshN+d?FE}P#j~2^9&@QY z2vLaiKvlG4KAyMVnyhDAKoTTDrj={^C#)}lyIIjrS7#wpEnQGq8UBwWV#V0QOxZSb z!sTZU!#2pBnDQi2>F+eDhwJ%Jm4JIlJE-|;&tbwo!@2|1x_TOKg1CFMxom0eL~H(# zzyGWJ4C&y9+k@ShS#BzH*bEgFH_v^@?zV)CVH4t0?sBYItSnyE)SmkDRqrpC7k^^x z$N2G2#ESHJNHyVy&cdZmMMaAWj0)sF!Dm~)feF8Wn(O4vYDd}cS-#KLbo9-0UL#-NaUt?D!L|_t@u^RroY#yUKL_!u~f>{*!r|nnbDiocC^&)oJ3K zjbXy9X#+m|5k&d}%}XY{zIEu|^TaSG)+~!gqIEY#F zO+)ZaE7}nG4+FJz|Dx=w9Dl#ca-n;~$$7s%h(qEKVE_;EkOux6qHuD8iAxvCPlfH@ zCQJA$)yhB}qc0wTWSQ$+FZ$e1&f=2@zz_S~$p#qm9eD&QW2uc2R zzy?A(p(cVr*jofVC=m!G=S-}zl*8@xQyS+GVYeV)hE1z#`In@6{f7_o z1?%Fh4SYU9YkNnp=;wse0Sr2IM`)_@dOaQ0~#OtQ3l)=#&juFw4?ixi{N zr1OL@;-j|q!J6MTwwwrRJoUKf0-JNuN0@%|fZgc|k(MeE5&N{*SW_#FTJi^RF1L^| z$?#4Jd?6z3cVR^bkj>ykBmsEU&kMw z%8+tv`32_EEG;<0BM6b0lGXJqXv&L0yyahQH}!jS7wLRw23+OpW5scyr1kOVot!b7 zVh<6XIOWnqM0db>s{;x%B4hPvDJQY^UC;9OX;DMJ8(b}S!fmY+5>aHyj}zJyU&qL# zYU4dJTT$wiYbe9zY~L7@T&2U-V6}Bf6pG<`VMOeCv^)4gF4lA62wgjh=%@*OSx}u1 zTm@*FjC_1rN9mrK%ENN+x6~e&8rGSLJ~r7#;8(%d*^bE|(W=E`aZ{jzXjNl07q2#{ zDHv8;LsFOaM$@gLG2&?SDHQJ)&O=-l1UrU6{c%)I}KATnL<#m(?6aKHxNy`54`wMTV*rx%mR6XvCr(s$jC$X0;Qrv^z)A0MJ zI3im%omfLdJt>epoJ@xv&vh~)M@3vHmcZZqySFmXGF&af%+4xVeFjSu^wVr*5nl zC*wxmKK4`z?_OnSp|jOYNdO;UswRsUa4!Gr1&Yezx}b?Ee@I9acEF`DfR89wQoj8P zc%2AOQ}ZVyokiWbO=p{CH=S3(OzI6_4^+qP+ot%1hFHm*&F&u?Alw=W%@=n|qSM9h ztR!V|km=5d=baU17F5^HYa$bI)C_R#ycu%}hbdiS)LIzW1BIOMr2u*65OKmtv!qQURUOnsU;r47|E>4o;ydck&um2~evEsyO5XZwpTYTi}F$yT~{( zm1(D|;-<`^VH-4sgmaXCD?vnK4jl(m&^v2i0wOUUi}04_YYYynrSK+l{q%_wj=@> z)3dDw0}ZFl?>SO`FMJ-WhybII^JUzZo=dGg%4$4wNug_bDdw22k5`8KNXYH&FWO?w zMaWuhyT0|3A?A;wzYs)?up6m2d5JbU?aXTmZlmvaVQo?yRHTO=3WX=$+212G8f6lR zMPzm{dyKO_{nbjTm92j}{Blo5137+?2F&t~W`=;QC z4mZpFzr%~CyXP#(xFtf%_j*cx^>6dKeFdPm3fR1bDFR|-h5NdK&;UE|2zckaHSaF( zqw-RjH3kDj1E?{;Jf10@R8iy|CpCcB(?xwDj|5!KWZVgy+7j;$t7Qtu8V8qiMN-5j z>4p{!&0-=TE4ah?tJ1=;06IvNhytEcAhT3sFX2~cEyxVe3=nmr+A;)`=xzY0Uru!b z*p>nfp$SN}TOXL?h0Cacl|f{n?}GtEm@sc_?1(=6bcR+I7_#|0zzaaV=2(N*)E0)E zkF70z9d^5%3`)0|M(#c*M9*$-6Dg`-cC$f_{(*9GVG782-(0i9^13%>(D+R?^sn2l z`z#O8CLj*>Gn)=;zS`(>1!2v?zh5ZJ>e~Q6gaibtP~CS~HJ$G<848?0hQB2U!_A+E z?0(&j{;*&opZZ0zb-y4zy7^`2>u&Xw=RL>H1P?EmtniUc5Qy(qvn8%*U3oW~-dk42 zZS4D@&}gC!+hro7u$I$^uY&pohevM9c!*BY?W8u9dCUBNXgUkFDBEZY4?XnI4MRyw zN%zp53J6F`x0KWXgEZ3J!beC;w}5nacS(208P9djk9gnx?7h~y*Y@f_tK^KdgoYKD zF0rEQmp_&i!#C?&c!$p|xr9GU${Rd1JW20Th^|ns|A-^__2+pnzK~}RKJ@Q!=S;nE z!`;Dp>7Sw;oSjF3B=7^Vp@dR-(nhP z9;^8ZJ*MZcf)1?oI`50q;YX)Mk6TWoLpvFT7-Ohn=k>St+g89~M^`umq) zyv$(7NC-SFP!&AKr)zB5LvizKHz-BAWg}_q+_xdDbYyWe)1p7>Rqpt${N2a>DKEFa zu?+2tl4&8jU*HyEHdqXI5YSRg@+A%_QoQ;@3;SnuQM_|?KhZxpQJ8@FV4dC{TN9hCH4FA75#oIafeT>sj^NZYeAo@QQKW!c9 z3vC8k*hUGW1YlRu_s2~^#)_+gqkVX6 zVf%TDvWI-v>5kM5Htiol)XOK8qOU@gnr7L- zZsG$JQZk)l!DKqJ+X)^_!qwm7LVrih74qAP@Dq^DF7Y7Htv`pL^KA~o1wuhI-5U)N zLZSyz?)DIkj2R1C)SSpS$rAFRNN0aOB%;mZa22hKc<4ZkY65aRt|s)hF)|(Jt7h>} z$j|uATV(+z@!b$uRkYiFw;o+6e@Vg~{SxUBQ#A(J9{RoGE! zZ#!_GEaUat%|0&co370IaCTdeKHLs)f@;I>9?>7AH+JOf-$UdZ)n%D7Z8wbj@Tc`# z7%Y}Cfbh$*mxDR)96>fp;MCgEsa8R|kVn~2J-0EfE6OBDc69-xJza`DyLR|a(d3_hdSi(gz^21$jQX~a({DiRyoX>= zyME9QuFI!)ngLzsYp9SdCT0kU`k{2WQ`!{fwpe`u_Vo9faHfhk+Mw{-gq|)*7dq&s# z-s4qmD+{gB)_b{#GqUGDpH|0`4npd1m>H^VzE3O1epu|+gNjX+>s2pvfTRG8qHnuW zTEPrLg#kyR$R$Cpy`k1wJeFvtWJTAo>>@||^I?yLTE#HZCRw$Je!%c%q(+y|5d<50 zs^~Fvj)wtwJ$EV%X{p6{2l2fxpOIGmI-?j1E@sw9?Fkk7gQVN_VRtNtGoa5kabMUM zW587sBb`dbQ$L3CsM4^h%L6H>?6Lq;NEuu~9tDJ`?(h+g+NbA<$`C@z!9LB%Ug!i{ zo*0+mzD$_J+hM~^!}yA58tQFPs_);|WzgrxWmN%A&g%^rZ=@|^4*ugT_C-t!P7m@1 z;>q~I1|-)}B)%J-uDL9;xseyn54_`xG&J3tsw_Pqw_`Fc!1OlKsQK=jY0q7tw4nqeO4Ic}Qc&*};noOj&GpXgOZ4 z{d&#XV4;||sCsiFWgEgmED&B5459?jSP^l;O9zDaNt@1x#UaXZ|l z!_rl@marr&vHU~tQju;5c-rOY8gg7wK}_4ATaQ!f1e)h9Jjrls%4@`R#XcmGCA}5; zB%S)#`EeoxuB!|qEh{TZoy}DGzrWv1Uq%x@L%98o>#u=J5#fNN&gI5bE3{nM&(Y(t zRTe-^eJRQO@4423Mn`8=^L-t~Ov03MsllniVK67)#oKSf$SyqATXvM{pJMYHiGi)6 zq}*NNWkT$0>90Rf`3BbwNu|^SSQT0v!gjj#`#W$C5R6y@xGWiUIj z&L&q^-^6k+xmE)PHAbB&-AAxORJ=8I2j~^32}Pk~I-J{{2$Xrrc@FVZMH!QC2Kv!+ zkV*C}m=`1oZzwg32}<*Fi}O_DpAfHrIYEg*TumDfcFPCviIkSvApmFc&@Qh?h)s$D zWhY(>`ijqMrOY^W6-O(A8o<%x1kxt0pq~tUYv1J*ix#WL@a?}(F^sI73f1uk6^2cQ zGWwwkjK_mNe7On3vdp!lYL&uGMfe8Z5CXR65!l`Q;E`7Qw9l-#_Hypk3NpANCVxl( z#V-vnKd@-=*l%JuGJ{u&zbep0cjak20Ps077269O?9D_qQ^&1N*`KHP-pLr#63qLH zX7A^1%_Hhr`sW$a5n^>kIsb$^f7uJ7SkZ`f>y3>M{#Mpe@g{R)ntFl+w)N6Dc~G@b zmAg7kX$I%O?jG^xNbc9#l_^kTu>?a< z7&X8;pM2XSARRt3fb~~)1iwU{Z8Eb^wtgJf7D=_uvGaq?uVl8Rl)DJt*5GZ8F9=sY z?~D~{qe>$TCB%z#*xwC^{$S`TmXr}JD`uWrqo6?*%x;@Ti?cydI#OqUHl@^R`183wmC#`rKjXBK5jvoxc<{BfTPCzSX5CtX%nqUoVAkG8|n z5>4>LWM8{?VMHJ{65-KZx^y>-A;#wtU|I?)Ndry+dB?TwKf#-O>*NhSV^D6Qb&`H@I23?RcamA<}G6g!u?AcpBDC^tU$WdVL60EXdh zqJf(lH1=0s@MjctKh4$#wNp)n8fj` zilS4%@5Xpv7OCH47XZjHhn4dWaoUej^=91fMk+`|Yl7V>+IBJMwQi;=5?Ryew80>` zQQX<+R;`3vh88QS-FFN3R}O*Ga@!!Yqx|+>hB5ScDP!@u|HI`)iX4Z37#4XrR z!!RZ3Z_XR(eEYTPp;3AC-I_PBPPP*rtukc-7QPEs{A}`Hf0ow4`(oc%Jd+q6+sz*&o0`hbmyN5p2LpeO{@I^X_Js=8-BS{a_~MwqkF% z@WX0k#31tFVvB6bTyl_!1@(9w6`25QBxAGGssNmwtJGUQmU~zty4*oIo0IK7cE%Sy!$W_z_%?*#WC;|R zqOLlCdLrTu(NI(YnKJu0|9ZWeK}>=KGKzw4T+;^)H$c5+RzWf6yn3Ty%QWc-2ggMr zkmouhYgD0kh_shvaff`GtvC*d9nP7GwJ==*B2~ZwaJz-wj*M{7k=Y{4`9!sv?&T?e zD37hw#xiuHn@h+*p^-L}3IiBw>aDx|WN(+E{nAwiPd1?0v$U(csH!G4E5j1r3;Ghh zL6{?KEzy-#b@V+gft0z3>RC7 zehd{RRrZ+4H`Yd(T@Z_L7Vdm)3S+FWba<~k!=o&2n7=Xx`Hd>RM4+sIy&>fnc*bS+ zc}Z=FHsVlEz8hsOn&m1XHg7L6YFc=G2&dbzO@M9EJ7Q>@aS}FB?7J+C4WbNQmui#FnM{-bB1Tk+ z`~G1MPPOPOMbe_g%YF~fh(6%?sv6UF+TiYJ1Owmed{{PS2`vN$l?@s+c6LnxOV&RL zC5TTktr#z~w>8~YiSW9ATWb8Pg=zOI@&`>E+GqmWoxxb}FxV}kvA z_^WXJq~%mR@J9%-?e(re#{ys&b}DJHF1vxS%Tj%KyXM*9b5-4kLW#;@!^e;@81|X{e|P!C7yN3Lz918TlA8e>F&)$nMXS`FHlMpD+tP3{-Bu z_%TZy@D-pZ(0cx{!Q)!VIH!|9GQp78H#zO^rHiClF6#a6>+)MJ)fl3j4kjU?Kk@wL z6uA$uP67)8WMq@O#xRUUI(;@Jx(6&StBh;*V=ovvkcZ_x6mN5{;6XB9{~{(A6D}gt_ssga7=qf$`rhY2AAQ?Vtiy<7>~0ewZjzlyO{yM`zDR9`0Hh zx#Ols$+iajgGq}!$}-q<`N<}1R?v5QzqT|L6|3d6yOwz4c`Ar%Vh(nv-!U^+V9+!F~BsR24l9Hp&i> z63s5i^b^S9T!!f8$3AqQg}Glq>kSCYkj7XqGK!@%8NT^Nj!*FK((Nd12h3t`35p6` zzs>H?qqZ-gIr`dr^B2Zhp{Mz|fCPP_$qD%a*^=yVsJ>#(XO{y8JWQ$+Gp3cj`&qaX z8!bYs&U+oLakL5m4V~iHB{E*K{J8GV+{ex2w$42V4aR=z( z>W)A?eA-4JgyKFtwZ)?nuc^!ZD&b|*xFWdh^DWOTyh}DMLSDEJfp%I)qW;bGW@d#(y{$IBnLf96YB3HT<;wZlwG|4rS&d1SrmTm%pCg zF6YhS*pbL0)#uR#<|3MyAptPY$Ycd)tQO!D3dV7RTwAA6EREN5>`qFc~TOR zEM-87wg`4<7`zAth*%}xTgC5EtMI%+-`yu>C4VlV0#ZE1RKvDn6aLEuuN}nQBRbwB z(A-d4e&3nLs}lGFleA>c#Mp<)_*|4&$yV6-xW(a$r+`+^P{2x%Rc*RDu;?&zMXmOe z_sfv)uMj9gu{q6G`Y#xg#D4}WR^Fqk{WbSqaK+UA{dQW3IRZ?biV2cChv7R+Ok&;R z)!4=OF62`6f(QDkkoq~MJ}fh{iROWL{ih=vW`LaU8|9VQeHGfN?M<-y>3al|nJWjB ziF$#cn9VRdjsM_Ddl!b0Pppi&j_!&~N9c~-66_*&_`QyxpD>3)c9Tt2!ixm-KF_Z!%bs0(at$l zb|cF4et}mLf0GZeEld+wB?yojBLS;rRlS!}p2SAlj zgz!(s?zmMRG(Jb%+7U;KbwmFueLZPj&O+T!4N5~Pf4DWb9Yh<;5Y_1aSz5i}XSrEi zq5m$L-{Bp}nZGJ;)D|oDFAjRK{|W3z4=*bqIc>dEgHO0;HIpC17IF64qa-u`Y;!>B zbw#Igg}|JrtD+NlT&}+8(SF5FeGrAAKd)PR?=4mEGypcNWA;9VY(4fWrAgcXg9w@% zhkZbLO|6Y+O31-%1x5$_7fUan^s}oTS3ZO;wwr&on7qHcn|Mwx9=I;e?n0#m>f}Xn zM)FQf&Nj8cQX=&j+q^`Mqb;gMA`DNX)nxYFVDKD?xUf74J`G6eNAAc_&BI5YLbKnb zk;F3a|2baDVc>bd8^VSTi}MNfN4fyh0z5J?(YyA7Y`PsxDf$p{LHfnC8Yp=uX@&kt z$%Ld}%TUTh3R;E;4TgToFotPXkQj)G<$}r~t|%Bb$^b*Tqtd$2h0-2is$&f~|AJAo zA^d!D*Ej%aZ!!D!jB*=P&ytLq8d${d)bNS6U{#k3Z`s9EO|@Py8o>x;P;|F`NCE*` zf0-;WXlZ5nb5z^OHyzgB2}g`)iX7dJ4MR56-)+x{r+bIFk`g zp#cLvGFioTRaq{f7U%^8mq>JIue>zHp)O24-^JtT!+i~(F#=&S!p!mCJc{W#In{3| z`lHe+6!QXL8B*!nHf3No4Re%hT=!q2i|=k2Fw|5t>`bFTw8KrG970C*%pVaKfD^&T zpVB;ff%qN@=8inO3{kuOauQ&nzw{34DPlghs@K7|@ch#b)xZ#Xa1b*q>#zXgMbwEH zZAVPGkawW&3wH;&&~}ISVd(UzM|PF!fhb;n%jZRE(JSYH+ibNuo7PG*c4LUYJort? zhJx?#bD|H*4W+2B%Sos|AUE+Q~ zoqPc#R_rTV;WzQ8ETBCj&v|fc%oA7aD)xo=A@l>Mu#hka4)pW>7j9U98kOxL9+^xp zM4ZQnoK$f-p9Z`>uBZyESme>7`o8_JC-a=mMJ>n(aMp{+fHMtYc)}tcN7LG7jEqG6 z!KqLUgpMCdfn^9V%{whAYa$^ruXL=Epst`+0cLLCT416n)x5UH4AS^t(7cH*dHmFy zQk?87B!FTjR_Bf>(8e_)p8|*ym?6lh>VtyE94{J&Y#n6Qpl!k|k%Y+mRi6O4v zAu9@bpn|>~>{o>)>R%-3GT@DV8BCNLQ2d3Ax|bf&Iot67r1}DZ5tL%sOS}ast>PaP zj9bOTy)wy{!lcn^-`{PDY8R8@H~f0SeQyPbrSj`Xz;C~kD)7?k&OvKL-v6w~_)b3j zGi^Muj&3@fs+0LH#F?BBGf;toRzXyO(T2BxX2bLYX}`wwn*!_uv_y)d9%*L9jNY6x z@~1x);@dcZoowtd$%*R+nh;csOp7?YSd(I5($K7y8*86kUp%7)xv!dNGWgJzf&%84 z;omq9M+E#!9%JN7It$@Jy+3v2?D@rqW4l7~0krVU|iQvP|nw0kO~o@yWz8c9@)zt4uolt7A#u%hkVt% zirxE@04^hlj8MseA6MzLL-o`!3kV?tvCZ>dg)#`-rv#9FsGGC;s@YTq4j8r(f zL^;rZxh|6wvfF=y zs1fwP_<}CxPcnWc85iXS4LDBPYME?g&$_I}$ejZJ=Y`;$nVCth%GfUdRiK2h90w%B zM;K3xi?ggm5=OlTq#{DAs01xgyupp%yjPUpQi>@u!2ptD++A_aiB4}6Z3zyf&kk@V~@F znVq4M+7-9{5^0eeLZkku7isIf-G#aqIg^&P_;)|i9W;-_DJ6L#7_yI~=f5aC2VVpp zPt%rzaRhVtoETE4QD7D*H5fU=sobjSn{~n8CG~+;7r9qafqWiw8;WA4BC|rzl4-vQ z?vc=NKc-HU4iZtbZ>2T{O@1@v5Ix6@pn5_QY~ZLcJEe^R;<9|OM$faCi$%AOKb5nh z0LvBz*I?uilGu{708~A65%+P{`u2Ux01#T2ePkiAeas#b*!#*Oq}Crnfjy>=$JmE+ z9~*(CSknZ<=uh9A?hqqOgUy-g0efj_WUFYl3DqLtLVODx6S(1slqpBFS#7WAC#O($ zYSb^@d1aB|@;1a?MXfj@5|VlO+L097uK!Zm?ufKFV~IAtzOqXE{89V{N104&9@m2K z@;jn;_{Y+Uicbakx)Hg<7rS0-nw;j10mi=^He%>(2+>XXH0R#2NIwuZ*Y_z9L(tMf zRke_%KI>GJalQUg3z$$YPVi6Q1Qw?1gUzc_To@Jk#BVd_`{%XD=G?=F8Egb$0}vM5 zRCzBz5}pi^Utmu#JFM#JC*Nm`8JkZvsQR2^j;pq&h70;+CzGlaW*fdAm$stbm!Y-7Gv97QHDck%qR#x_^2aO@DE8J%L5qZdQBaIXovVDK}kmzNIT&j=`C;lrh zkF-*dUzqCL#aQ&#%Y9i37KP1Y-jboB#D~_!@SsC5YRap?#(RZJZ;di?mfl=XyOg-C z;vd@+p^ANdP7v!{YyMZ-dSYk%m>wr|3J-R#j0mi;Yqj;S(Y$Pv|G@k-i1c)9d6^jS z)EDsO^-BG9`(HI|$28-_9$b=&{wGOIV!gMpJ_D#XEKq%eSu#k=jrt`d3I$vW1Q3Xg z0M#Ns8GGX9el^J!XC^y^gVqhi&c$rulVoU=qEc@dFsrccu7hI= zE?EF89Yh%{qkymMg;JkS*F^*KG!-xzS&SD3EFpYkc&nR^FpJbI>@-c>s}xl0N_ zO?7z-t!>h8Aql@jgvM`^%EII)s0C-IXZ4>ik#T6>o#mmW`X7wHR@+jFlYQ9kuWntV z*FvsCYVVwT>O@Th)Cb2uAjKh-$i{$;H=&|0(@jTuC>lj$QBtkk0L}WlZ;~7Sdx5QE z8Ax$G^E48xMGoZ+85l_K`zR_qX3O>42B&eE%drlBX7jV)DgX^xQE+<*(CZQU+Krs3 z4$%8c5Lt+c72Lb^>TLID@K+{v3CXEr`>yF{f1N@6=q=RpS$+WBN{ICXF%Y|gG^7sg z8m))f+_`Q68-OQEr3);UKJI$V&@Ug$d^!GV1w?&lfC2=D`KPQ@eo?-Csd2ka6Q=!??X^jExdv~e5ii5XIPU#^TvgZ{Bg!|d z4DrP%Oty_DFR5ssAQS{y5&y?b5B?3d)Eg?pe3P|G7KczG5RmQhd-8re1Tv!o|4Foz zxSUjB=b5(gbetiH%Ng~aUe>vNG%yG?LW&E4pk7?tqo})`1~T}a+&d)qpngsV zW*=?qV)yRuc-oHm3B>1>)+D#jb#qj_DNj-HvkQU0qJTAJxCFD_SitYwa;| z8=3js=Oq>%BTG$sh_FlEboI~QZC5nZ;{ILnOTc48z~Sm$ufRbzFK4>4In@p83l7=q zA5Q;?e{CQqH%m?emMcH?{B+*KZw)j5I8x2c61GoCUb)ihOEdvbF4}uXD=l+Ia4$mg z-;PEvhQ!UJX&NKADRAZt&?N71x>~+6cQO~lz4V?D{rwX5JCzikZ=7GCaJNw$eJDo? z&Qjc1>IOPt*ie1_hY;dIaxkKWcYL4ILRQ5%$HggNTTm^GxEh|M0ZKuq&rI|sS#H#T zy@1HE4c?_L{9=+nn6^|N%?R_PO>|Y*8bKEMfc6DH%$9x>BuV9|7`{KUkloZ_I(hFo5GS`YC9jfSecjMGi43 z4iet(fcQ5BfxZycW21KpbwepWao%~UW-JvNDc2gi#O{GvGd)gslWvTg1K(>*7 zryKB0HWUb9UR>n+IqV-Jt&-an=uF4XCM`lG#coF8j`}EsMw16R=l@PEy=eY~9#@M0 z`<-$DlkFQI$|!>qmM!>UgDL(tYeC2`X)GkT>mbBoNmbKL?vfB6;bQn`=7GOs%co^D zA-T-6ALBxth=ho|B#b=LnO>pip^X7WosjIkty|_Ja!7S>?tWrK(MP*vch&eKl@aNK z%})?(B6Ia(qRa1geK8c52tiHNaa=V>vvVpevGZk6{~r-QqS{7rV(t+%e|40=ceI)M z7|j884kNQc5j94_DWzej-wFQI_#eHyfK;yQpa?!6k04;DmcijXkIJ1(+ivH4S934Z zJPs|Nmsvk#OGC%SDe%h*2anZ8*PoND(tXL!hU6{#%RVX409A0FKk9 zK?87MV`HCW`<%E)yqteWp(bhi4yTdaBnC4*{IfjaiNXbS19d+Qqv8Kgv7%_wGqK<)#T zd#4-#mtrLC*Kc`@a>bIYc#x1qj5^>8wR>BI$&-d_ZfkKFdqbx5ck!EorDliF3^tUZ zYp2FuqyLWo&`tr`kNS~?WY@;zw#WHzbs_eo0YFd~--8-ew}aC z!gsL`Oq9V!oKP&D{}fUnh3L8l^#wn1%g>F*y$YqYpA8C^OsHuwAI|e(=MJgnu(;nkO!KMDRkkUb<`#FBxW20W zKGRO$4Me>icAzV$B;AWk&l{(B%x0 zN|8{gpQ$S)J2Ml-qUoHiQ?5gC(T_1K$Tv#5Er%I!yyL;`8cZCs!irOij!F2@nOe(M z=+YLxdL%_-Dl=;70S=wMjidXj+kx<39PUobUpUTCReSqiT}O;_X=|$}{jV*x=+$;q z>h%{ixyF}=L-zosYO0?K*3|!^P7(j)CkWX!{KbuW0jc}>{)C7N}w2s5BKXf}Qut41@Ul~yk)iR42a57H3gdsp0(i=ySX?E@}3>=%);PQ$IU zA^gj`1o_&3%k6WcV%MV9X&3PjG%_7*TvgJNk=5}zlIz^tP!NZ-*Q4NoOsN+O@7pBm zqgu`f!I`U)WMp!8#P)*M+7XE-nPR+_TfiBh1uB8BisZG&hRzd`1qI9P>x#YytizCL z2W*2OoXN~rNKoLgrqX&&xWD87ARz za*mfaI35pd+A{)TzswB4`57_RJH)a8x_sUQ_Rj`e-I-dq#H zH2^E6r)N04@Ng=;5#^t_h^(X*g2yWYjx4^_pw+m>L4_5aXqj7Eg zsAv$8^&(?qV)J0$Ht9|A`E-8#b1~A+8Wi=Leb4D^k$gE9Nsl324`!|R@xt_l z@3srwJ&!FzSedgiS3Va%jWxj<+*6H?QqpK9o8};~TEJ}+E74Rr&IxDk>Rk;y6xls$ zS}2;j=`g&V+ps&)JrB9mbd-vbe3HsF!S(xQay<|x!cOaID%BqHcf+t3x;d~$dmT;H zoSrzxHbJz#XXnVYl+L7%+iofLG3%;e-|`^$A@OV0C=m0Yj? ziCd1g!Ybd*OTPQC_le+|4ZqXskz?Zq>g99W?W*13qi6;m9|_#y`mdaz^>alutN0o< zfcY4Xa)(>g*Wd;|Hu#Q*nwACd)#|=<(479X9Z2E>;0a`sxn1$h@p(wIIx1<){+q#r zW)^go&k!d7rGijtWC6&%c(BIlLa|zm^5OxRE>SDR3jUY~!3Rj-*`FGP77Db1EL>?! zax#<5%R#r4NY?o2GG4fyLpk)&%KH1PaW=^hHAl2@H8X_|-~j~3 zI8hkx495YGbw-~RehyT-XsUY8&3}7!mA=UMK2Nw-DjOe|;TXu0C=C#{XBd<3&*&a~ z59Mb^i<0^T%~gDgG7BARL_I^BfUh_jDFcp@?X(-b;&%8|>^iAf+o-EjridjQ(hV9o z?y0T_b=YcM>UnzmAx|j35om)4dpaEjr7CMf&Co(n@4o|@+BwCD{dpLi)#u69<3KpR zswX(+NDw<=Iayyk6iMl;^@NGpFbfT;R|y|a#0Fjc)$ms^a%>iikrtsQ9^?T;WX%Y} zd|UppJmy2WT3>afhj7klK>e8Se_1wm4q0kN+9GvI6V0`68{gx(m}=iJvc+aGl%XR) z<{{A6Q=hEcZNCe0Nj8YWD7JUbp4eE^soUC|-`bvE#oE15$6?HVenA{!OH`bH9O%Ea zsUjl5>t~uz=}d7c#LO_f%jUUkqv1HS?H*H9YAoVQgz1ly@aMd8v=_taahu$KFvY2rW~u3xiTN#V3mq(W)hSaq9cQ6k|D4LR5T{FP;D2=Ba1i`}>H`-evQP7k=#o7?98KrvhGOnJetVc6#4 zfzf{qmBbz+{4sBasC|xBDcz>y3Ym~Py9?;Hm5Z!Z-o{@@N*TOm-O1U-^RwbqH^Z-m1+5}_c;C5ro*S@opES`Bjq-M3! zwDvTvcf!=u)irdHy_9(Ado6a(o@+aCA9-AReOa!Isqm}uGuUgQYCAQ!ddDamN2cOs zVEh%+UYU45Fw?>6du@OW!5K;XV?3S>y{+qTs9~#-dP{EH!rL z7B3E!JRAg?iA>u0HWpod#}YT4k~lgbD_MDO6VY1m3#CLl%XJgZe^_aatG}wx%5Zx2 zp$IC}F-)CG{9qNV1ur1L>BA%q&KrJIjR>g2$PV<^Cz4^=6vk;J?H_f@8J~@q=itwB z;;PMk*W8e?WiB7J&Jz^N%PDmq8@JxSMIV5M6l(n2zC~g&oXO!D;I0-um0e7>-Bc)( zmNLQOiWUpr!WG`#CZ)+ICa$tqsA8T)FY54lGZ~a?x_E0=kOC3YV1&_Bdcc>6Yw}~w zY#^)pjNF{WAvv2$4vgry<27|~S=RY}9bmyRR4mfscf4zNXWbG2mCW=kSq@=G{0lVt zPG0Bz(UHA!V-gX8l)qCfmlTSTibhJ``u_A494X?i;@iZ5s309-&^ zyl)j*bDtXi&+MtfPa85-Kx&2L(L*Z8oHmUkQieiPb;F+&`0!AGZJ+6FS_Y6M^piO6 z*;;zmJ~X}Ln^@5BGl{7-e>3sSjh1{dIZXdK!w(Yrc{~OpvvNr2fKV#<8PWqYj7H~G zB4t`qP33AwaYlTLBoG}Uwv1`C=5x!aKMqr!;EJzUem?Alxh-%`A&R#cliFDgA@J&m zboPt5a`KXF5m56o9tnK>xR@$-``>QkmYVga>r&mBrkV4XJ`ZyQyWaF`u5<022c458 zTq5Y%Y(qOAdvma@k%K_*yb`LdI8@-@p~GOqp=cx#j z!o3w6^YE`kXt|tN4YMEcQIH=ZHvJb$gO%-$yPU(c=7Yw7=TU1eL`+GJli78S1RL+% z=pXd$p?xdKq((f~<@&9c#If@$9ewan@)wJ0g zze`QQlB__HM9zbr1i&DWEbzhQ<8}i$MoVE^XPQ6UGL)R|_AD>Xaeyr*Vn1CX5`a2r3sb2knXkQWE4adz{zpl-pNP_XMoKDFxKsN2nhJBOw-fOWN@Q#^c zi7!|F=;Ve9{f&c!kIq(eB4^w11>DnL5Ad3U&6s0nyYvoCWoxuv*_!}Xo$z<4Y&+X| zR}U+4jLOI_QF{pKcI$q%O_jUlsYJZ2rL;+=SmwYSOw$l(llami{|wk#ass}<{W>~} zHosG`+75(q^%TAsh_SzmBK;ZXK>z|Zdcem6cKJOmcG|QRoQG3?m|qpnW!1}6rktGh zIh1Lr;ya2n3bCW&>*w)ri<1JT4$8?Km_XrbXdWMWQ@W^)R!Bi~rt~e12O0aKsqxW& z6pon&K6^=~Z^#l@oNVv4-TPauj5<_MOhX|Vb`DZz4}4p@UJukg;K2S z9-iJ^&h)()coz1ePJwpNe+h@f;xBd&jbFcx^j*$py-c>DWV>TtNsj(~R zkE~V{ocYluh*!~*2S7HpGhsg>JPSHOLpwefY`QHoO3+{gM{|_`KnSn`5J_^UX%KtA z5@Qyx)x7tgih*{7`o>XnbOYzN<>-I*^zcVfG68lU0r@E3M8!x@Q4-_c8inaSCccIr zHHl$(xrmjKKlcUclY~CB19&I{j=o>iyJjMxZO5uD%qyKT^%+r^!?fQ-h5bVAT<;Vb z{X5O1zKO|2Zfn<(f<9WfG%vl3hC`grJk?$BPEBg1HnwI!_kk*0}J? z>kg{?HP=c(8wOz@>uEVv-DMet;jJZ)Q+B0rtZ$Uj%FsXWYM7k@Y`C)dlk#qcu^&@8 zO9liwaQfcYmn;qbX8NGAPpkl*noZI*Hh2*F(bXutRhuHOdz88Vtitgo=1?u>2e!uF z%#ZXYl`}u*i2GfatL0}zi4$0I{$j@3`)fIQf;C9!ewD0AJ6+i^@b+UigbIB9}4U|-;`dqk90KqbAUZ*7FcG(DB5i~*zw)cib1-4Cfm;J7%16Zqd_C#{Fv!_E6y7z@>&23K&W_5L=uw!|x=jx-YrV&$98-j7g z8&9Nnckj%?Q#BQ;|EG2#+kY9cq@JtjD!VSkHTat zjjhjf@z}d3(r7UGJ@WTeoao@(0%wxWHd6CVq-G}~dsr~iHeo_3pYEKB5sk<`)PfIj zGx|vVn}JP3NES0%v`B8xS0NHWC8Kh(K+5ZW1Q(_wb9utlrPl&l{ql{^C%D z@My9t__-X>hWN9@OlwF;jpC(6uJouMD_4NZt888N@l4LR&-LEnd zKI{E@Y9ERn`i!hGNur;%*rXJuH?IsOC6}KSgvxu3^+u~tud(JS9I^DM-*D@v@;AtS zO%q4_GrLVb`=6ME`{MRz?^W{-U>02r7V~mE$3mw+lT4fS`R1ZIa#o>jQBm-p;1See zBDwvqMl{nz@wKiyr5O6c2gUTZxbE!fHKs?$tt5q~sj~B*I(x);v+K~~(z*R?PdGW8 z#kly~qvIrFJYa7|v&A~PE}$u$pPLOJ0toh{*Bz=6(q>ak|P&MM+qJIYt^-a>=T+U5sq1RT!ALo4yiwB4u6F;1NqX&QJ}+PaAF^@sW6 zcIBls6hX9X@bg)y>7MWLVIj(IZ!fM+WYo@7?#Dk;an&p)YLq}@LO(f7G-lH*H+zdZ zM8t8Q^>q)mXiol$-+?!YpL(ezfmxKM+}UBc*+0c{`%eZK-k1DpDT-{GZ9|9JVO=lU_g#UK&jqdIa1(6zpFd9Kc1p!5+ zW3i9 zoV+X($5;UXDu9Qq}T_58Vq{tdGD(7ycwNhIwPcnX&G zz=q`}D3<~lju#mZ_9mS;>!|=+SauucE$!r$yq{FuVD3N6I(r$F119pU76=V8LSmEUy_}A11J7)S@{&x^gSd{2@AlrO zF1g|(t%TQ(z=dmc*^S|GsaJE+C9Vd07hN_IID+NE?J;K}|Bapu(W}Io&*T>tTYYz3 z*?M$J$EL}XWp~)Jq?`%aAfrnVcHfbhX^CYpQ@QnWJgN1&)OzKB8Bi0Tv9(~1GJog7 z2XZ}oonORE__U4gaQ)ef4|&AglKF5Jf!Q^@?#niorQBjus26m287(2g4Po9>TKYmX z7onzFU^5b;Yp2H#w+2v1K!z!MuF4T!pa6uv!X>e#P8;i~w0ntN2LKr$zI|Ouf;ZPxdD9a+>F#<16<_xJPGvcd^VwSg= z4a$!tCq)`bSv!_w1q>x}=nd6#BI#Sa2pWUfuvT-yP*)Rs*aylXCiB;!0(q@x12L7G zA6hg11jvZ&ZQ+BWov3L@HP(M5Xcv1-Nf>AJ6P>j~&r80(IR8a=H>syG+lk|TX=)ZK zQJ?u)$vY6NH45=9KJ7Ut^LEqTA%CW@vBghbHTRd8^EIn4tMB3$zwtEjSG@@yP?uzl zI7Rqq%}FE@RZYD!7X&!_B&nDf)L4vaJu;vL*IP_Xcep$!;ivUrw{~ILg zo8==S5g`nMK32I#-%S;r8`G++Dev&0L0jBYd^9+lbTnXIGEB9`?i<8_RNZmJ{*!5h z2zduR9vbLNk#(zB=r`{nGlk{dC~b{xESpaqt+jVbo`t)#YtX&&{Phs(12jUa5mFN< zpOwe02eqX$R@}vUHRZIZds0)HB0FYn8up!U1eJ~=H>huys8ez6CU<`PH-7&KX!idT z&>Wv%9Vz4x&doWuTyEgG1sn!*|9FtjeqC6QVW_n&DLtAwYP2Ma0Q9scbvg%LeX)XE zIc?pIHAJ`pijnb0RX!%|<+-fqA!!MPE?NLkkzN^94j=Ek%kXS`l4X7OVRH4Yj1U08 z6ht3l3jo7cUwRB!^d{_sFJZs@b%wPfDXA6rh(2Lx3&JH!#YPEUtbMGq1TbgN99cr{ zwE!&d%+FmYB;EidRiBe^STX@~;Ek4W-{E36a4O3^>gSn6UwbzzJRqFF6o0B-S2575 zyMxy+#&1bwKXY!Dr?-qVtoU2*(BLKJ*IB>97*k}%0Od_N{79?8Yw=d?q%6qAoR0Q4 z8xa*_A*95NH0>FjgG+4g@8lfesqxn?0eS$blNY&B%&(@P8w@GX{RTIW%14@TsrTC0 z?eFexv(?L!5|EdGvhn4<^3sxh1%vzu(Il}~oKkm4j^jD09xk`1Kxz(0K*%u(Mc`)p z*HrGCiygd(g_HbgnKGYAgDwhMDjOw}w7R`NARZt#(nLZbGR-TLaaaEaD@l^6-FWoI;}pGtWp=3}^|FK20cZg&~`0@gZ{nOVYCUcwbi0oKh6qd^sRtu`29mE z^5U)GF$o>8r&;+oyBRCKQ(390ATeJVz&#!|KLq8H&Wjw2k->B?H-qxAV^RkiE%>v$uzstW)O$|AlX$fO_cRn;Eln;W=EFCyZ_Vy@ z14AXQssU@34>fULtJcTRnFf)iwy}e|+kVO{W0+qQRv&XWMSZ1vg6`*k}dn&!7vd6Z;;8Inp%pqorEO!_Ht z1K@s$2xK^#tI`Z8srm5T@|c1(QLM{n5-ztELt;!Mo&f@~k{_Ba(cmGC{{@gVRm_W= ztB69^7(&_1e<;@9-4g$$F`hjr={UENPz=#@xhLBkM{tr&`BeS|=d@FLdk?uL-VUIF zgw1Q15661wEF5=c<1ED=1j>=7wLPNizc>5yI7n2V)RO+uiFawU6y#AxZ{?;h0DWuu z>K=11{+wO4D_ZkC9GzW=a#t>F$xSCjfkWa~?WmZ}IadX4HEV6cL6V?g=`>U}nS-mn zssVyRF6P(k^OCA#o#c1pPu&KCJUj9Tk5S8gxl!Eg`JLMZtxYgCP10QeKjz;+nceNt z*Uco*KU#H;g{JfQg9l+R&O1{g{+Zw)&4N{rU{q;ZX>vXj`r&1@>s}54w))=&lFCG; zMz+R8&1)=hn?jeY#l~`4IakfxtKGFS12<=2I!Xh@AUqLvsNgF!6&SW=t;_1&xXpq9 z_^tXW*X61XlBjU|bVjpj_t4F_|BH~BlAE39JjAtZHdRTz&3#sI6CcO@_)7`C3Bpsz%k~6)lJ;tDhD7LA+Am1}mkBzP3C->SEY%j12a{ z6kSu#x0M=5iZgB^<%UyK*l&Y@+PR9llPoRGWJW*oZQRmm&f1((ZGRvR6=dxRn`PYz z-3Z%28TL3e@=~y@=5U`zNotk&<@(|H9J_5gVHASrSe z%~EO=UQ?X?^U}23s;}f{A~b1G(depx1e&INkXU?GJrpS}d%w86FZlJzL9GSuO`>N8 z^*H_(=bu|I9T;wQv!llxA?da;h?&uvbr9x4dg98B_Zy0QW@i@?TO|h4zKS*c=0ZD# z+iZn5#TaD~f37(q-48!MVajTKLh%}dIh{5$``E917(^X{2UV4I*EVastExr1SpoqB zOSJNvDHRz5pJm;bEaZG9i5T$YO?U^u$} zBl!1WDBLL4c$nB~&TA13_P&}*I30$p_V((#Eke&X8m@j!QG|7COT|rR!mx`_$(Vqc5V+1csgA0$nlO?H3lVTNFOYr*5qsjpMgkLjk1fEB^ILSL?3cUyIK8jIXe)0H2Bf-~OWfUP@yH};gdSA9E z+f>0gMvgr_Z;{lDe`!tbcxmge^3(bDICN;b^=L1(sB&1Y#AjN5;RApn$g~C}PeE8r zyez!&K4LPFV}8HiG>D{D5JMgTWZ8Wh10@0(mG7jqaX_Ww2JjxeST|*p2Ig^8N;3-< z(danYz+F^kbx&W)Pw_$-ij!mCVmaeiy$+^{8LFJDt?+ap zLLWPz1j!A26q3B5`^>}yG>p%ybsYkYVvT|&@go#dj!#Q=&92a;8q+ffh~hFqZ)B5ngrnV~u5B5V( zQV}jz43eBu{xApRR@?Y#o_xMGlJ7joV|Qxvsh?) zp#t~GtLc)zcvH(sEhl*!;&=bVk7W*8He_(t?KHESNi)g_rIxdQAJBVy4MzJ$Uzx?7 zhLx@`*nOV+*BQXetN#u@mH!=l>?P50o3=H8P0#iIpF_+zLI}~#_tpPYH^k*nv&)~K zvjR4VuE=l$4al@4<-Ky#5rQAE!L7v3)agj*Yd&~E{DY?Ao@Sq)3Xx6-P5GDkaal#t ztYdE=5YBJEkZ^(b;q7!1&tUX5_tY@jqWB`3h$=De97Yw*70agntoH}Sb5&CRBb)`p z(e7PQsG7Ph6iLl%#-WMfaQy5tEntEzeOXd$B9y2>A`AW4@rz5G#&!`#L=eU8b5j0k zk;VFO+)RWmI_Kgop+4l!Wi8ae1Fw%mbcz1xefE155v}SVvb>c+w;w&BGfxg|)Udrm zn@Gs6W~x*<%cG4iilM3>$yxY9Kl}F+fh2mnA%4@7;ylj^V$_W6td^w`hqbUlV<2gv z^3bc%MV_ok*}O8$Lk^p=<}(!LBVxD8IviZ7&$T*m$?3z{%6>kcH}L8p*zz_}ra2p} zaV*r46@N68UYmuI)id_-kQ76X^$E7-;(j-aXcAt@k(B&w2i4=$!URD^5NNz_^3SgW z)t3E8H$~a3xWk+_3knvtsak~6O8wM^xgShq_bE%7Y%=ccq7uam0O5}kNs}G6`{sJ# z)v-BrJeKD@Omk|ukIB1g=aH>zzXZJPbPFwY-3el@cBIZBW z#kW+1x|W&U>6Eatrg|>kbP<9e*`$mZ!#pUbH$zm=6DW??uqbo^XY$`KURwW_Mr2r(1OG z+1cn!FvVdBKN>kyC|_I~BGLcm594mP;@BV;34+>A3S07$*{)N*W;Led7mYXnu^@a_ z*%whwI2Vz#($&n!6xW=u-`sg|EwXhGPci;jywb?bp1lgtqn-K>*FlkR`OinAYXX}C zMM1(HEkqoGJNCm*@G4;lX0wONH`{@~3nm*z3JDEKD1rUv_s!P;o*;si`;!mkH}jy5 zlHjhK!c)pR+Wqk$Zq>3CQ^rF)W58d4HB3c?BvzQmR-Ebs{Gs-!?8CQTol%D`iqsO0 z;nb+3JQf{(@+s4?_O{>OUUAB+&8j>!Csf~CR_D`!x0rX27B7V`FD1C*aQ?%L0#62P z998RJ?^Rfq8L;=D2x+UP?8uyvQqk(#k@CZnml0tFYuy%uNahtJrgrwLmrwz9awl!) zhC%hG_bh^qGP?9%-mbKjGpD%<$XxV>+P3tqBk@?YloVr_Y|3k$_RrLA(w8V7s2iSKt{D&!xL$8#yOYs-c|~r)$Zy^Dy6a(DGUk~{Vr5%R z)syo`w~@1MQjx;GzQ`%&u%DxR=J~R~C7QafYqF5Hr$C7TJbeH}Ksz-#l_S6*zmcBL z%WY~XmiCC#D4NYzW24(t2ld)4=vy-1j()*--w4U>)3BN+Oj_^J?bIT)yBF$u#`AND zAnC#C32mrBc}a2W6M5%s-yv$ya(_|j07psD4PWKNQx#+EERe>;WOp7+MDEu><+4}7 zZDN3ZQRQYOicbO5Jgr=chS#cL@SX-duy=(ZIj;74L$)AjN+!R&l8F|JyFqFfl6cx* zq!@Nd8~0FuHhY-`r$MYW7w}zGh>fOlu?qL@lPa=akPC@waVgd zH~Z$~=7x`Z2y!R}A5b4UvzUPYHqms9WcD4unzGe4Uc*qVDLryr&Q@?`6*FCmbzN|Gl3BA)b>6%ydMI9n8%o#Yl+${%(zq*WT>%W&4rY3c zEBLPeU1?WU<~P49?f0+QF}8(!lDrF#ql4Y4F8i_vmvGvM5-$5g@%}2jdCaVuD3FiLmo-pwOeXz(+K8eEaG3X0p^3+xUT{Maw61f#@C;Z*DBVs#k5 zIT;}6_>~`F5s?vWwX^TM>(8xqoX5%_;6YCnH3h5Wb0ZYfN8x3Od0j7+uSyL{Z>&)S z@nH$Aw%z@-9fxDw)AXOuTsTy-z8|5dO;}Rmc^%kNvZD!mt%_B1VfBugvL)I-lFMsO z%+%cMpk54yTgFQ~JTrn)M7Eue76nUVjFzgZEC_e@HqeOKzu$ z&%eF^yn&^B^8jbQ%_cVh`Wl}!f5qSO7oHAybKKxI?6h!nW>yGF6!|qiu#DvLnj7ot zv`ha8wR`x3@yLMLw3dp(6g|u|YC=A5LN?K#ta}&Y^URP6;lQ zcI%EdG!t{(jUt)Y0DmBtj(nV0`ZK3_K+JVX7p+tUV5C6?d~P`+<>pX^7;jG_BI|XF zA1?=%3>l58%L{*QCWPG9QDtrACc$+unTeNg?Ve9^UuS1{0#yJYz%N()Z4P=WLHB`{ zttqrQ)KK05KZNF?G%u9+sX{!08!%nhlu76E3*}3s{H}&z&2HcZGCX(5YS~VS@2*eZ zz8gy;_Y=zr`o(IWqpB!L1lt}0y20X45}$vOoxgn2m8#AiP*u+h31#-*Y|LAHM&loc zd4kMx(CwU^32`*0cH3R>3xZ0LU3bz9#uHBwfaUxon1R0_v_QjHxqlI4K5o<%Wr-rD zAGSM6gsv(rU4T_T@!Wo`O5TUKtafwiU>dOITk6CdW36=GyGmiW>qPPd98Ocz91eSZ z!vza^CotJbo5{{f?gf0DIhdRwB0stDZAsENj=@L<*L6ELthGB>jD zrm^*^(N~-cdqb<10fMN?s*ZdN$9_F!LVY0w(8yw`EJ&h-4&6eAj#b}#y=~_HmihwbAUt6 zQ*Od%z<~R1t8NqF*7xR!0Z(|m-BohPH2x4Zd;k!Wni!VzY4y~R`9PRMId@vC);X5K zuy2LP&m~MP!F%fk_xwh`c_{J#x*2RQhv(>J3*3o{%YBZWKizI?m^tDKaEr(^y?e@9 z?q>}b2`i9q0Uc<*hY;pD@(_6@|NRShwBJjKQesY~m;S4^%Pl6*KVPILLr*Q6t3m_O z9r+t8EeGm3Ezn9a&LSZSt6JKqNiV2T#um+&{-(ZYP|n&sZ#nNEOOh24YSxB(_?N^C z2OSI(uK^gJkUDyswtvOT1$ae>SIP=>kLT5fy?I=t&sE>49gVLa6hp`oPiy}wS?DAd z@MP+rV&7nu_t7{Rtpc{UW1xmJ{w-7snkwzKDb9lTRN&s#+`?n-;SL>ODUG_)ex2o~ zR?ky)JlU!1=K2LnNJ@0fg-jx;QH^G@_2bs|%rjDX>V)Sr1Z!2T43g@}?}KCwn6=4t zzxI(o=<_vBlIXvmvSiF(@lulLA`c3`@5Unyvf)h zdiCCJB^mZc6MsLOXl-Jjs6P|9)X;%~$7O#t!Rl?Gspj z{v?c3MMJ$;{?#5&)0#3?372E=JzN${#jQrx)!OOfNt+9JQ+Gpz8hQ_miY5 zZHE5nJd}HWJAAqxY6*1s&*lT|s<=C=Z8d2~5{ECGEAELNPW-1g1o#@A+B(@XEftFx zR{hTCH}+l*9g0>M>Kc~4Ihok)!+6@n2Gkj46Xq_Pa`ddMa^LNS$Qw&^roOa$3x9`| z@H=RBF8WA+P~f2(9#A6=u^O$I(a-AdU3QHCNUCr`UNP1%5J%NS3+^fPU}tCqU!drZ zR)&F7`wifz#(NZ>lG43OXjrrc5{@jUid*D2X_XfwVh{J%FY2V`^k9)fcbwDi*So z<|=E?JK1Z&#PR3cCrCCo$fBL+7NJA3mRqmx>`a;t`mp$`Ji)5;5H;bCZ>tfnffpZ# zik6VTBAV~(vb)qdWDeu$BA`whX9_n84(K0j%E`Z2WYZzzADC?j3FIDHQbp-5r{HS1 zH0H%g;w>rmXh+Z5i0|jK{iX-D>{YB1&Q=jM?Ozjn!okqQ)7yCPYvzihm0rc5a zcex5|y%e!bR;8UC|3&r1t&S0~5m(&jSNE&=TnV_uKMrKpexVpKWdQw&*&@z+#N zo|oKeM-5x+B>YvT4b>JIlDv-vVakK)&>oJz96oE`l(q-l9DwJ?WdWx}_wAY#iZQr9 zqUJQN1)%oTzxHyNq6h<9!oniK`;<@nec^sZq=gJ$#TwyA`URU_SS2x+d8AlZcK#=V0*${wI13;r&i z4d6|Pl8T7p35lO&_zSte zjz7(%z#LJnpv6DWm^JffcK^W}JM+Z8N42nrs|;T{nAYp^CH91dfeJuJE9OVTe=u73|+%{mqF^A}@w7wfVvyOqs!ROWU~{XCC1A_OhJ)7UHR zqjJbQS*=>!_Y~%ZKM>m_kMc+p0+Qt+674C^<>s{~6YH7xKkLG1p~yixt@}nlE*IB~ zZQJE}i0Mg@K|X74B3V#=ki-0M>ZUrykImFk!K07fdHy-ZP(y!6bMyjH@r zd5HW^T-qZ-rVvLzgc4HKa?bJLID0;Q10g|Cv>v`kc#oYEKHACz2ms2xMIX>L0*23C z>+_mqQYoOnmkjdK1bHT4bizlHxf(HHQq!)K#&YgDJD6MvfGW zdyrbiLuByJAo66eQmR@H2PfcOn)N{8%HFTU5*uv@U%i+#8V&04>|+DVSqz@VK*9P% zK{)9&FVw6mH-#l$Ga@ZqNjLxAu|7;nrR?h49peoY1j$iuS@|}DgK@6McMHsNks0L$~ymZnjWr2tX# zJ$uvR)P6GJtmE1o@n*uBXa60JYQRM|$v8Xd#dkTsGYnaE19qn`7~%a`oinQZn|5`Dj=3{$Lvp!SQut`OMhY~jeC@DAmum;|YR)B=?{J>3%Y4l--h-BayIX(CL0 z9*6(n{p~qDqCp^r2D$#UEMkGUAbCT3$a1H;a>kSz%r|G*dh?taJoSl{meb~a-fJI4 zF-u3UzT9i%wd<@ z)km@dbREJjSCCsdz&I56(x64aoM(B?mTc@%z_IY-x)T&V{vRN?*o=oI+&FbdD4{&b z%5MNm?)IzlcxTf7p*!&dn}va~kq|p(eV@Q&5R#nYTL+!={VFZ+=(sVpx1`V>U9Z!w zhor0m7Vl35@ic)Z&5q@K<;Yg?Ea})Mh*va^{dVE2Ay=iQtNq7Agv|cp$l)+Bs7%B& z0wF~H8x~q%rvlYXnk?TIB|S=^k!L60=$rGAnKZ@q6<7r2I?4o8h@%f#XM17r&_eGIqn@6o}EU$I#v`AwA$EzZfNouWMe zT&O348Q#W0@2aW+pQMsZ|9v+wpzr&_EFUX!R^IS7a8~dn6k}=cfV=b7Ydb_d|2yV! zz((NK-%`Kt(x+6O|8{f0?9$h5XFyxXd<<*1N23OYA~j?2cLDCI#dF-mn^lG*vhDp$ zVx}{2_kROB8B+d3xAWrdcvF2iQdvo%Ve2{0aMAOt(q_CT&ym|IbBuLYlVh87$w z#r}4(6{~m3uxZe0zG(ixQN-x{NRryScFf)sqPesJmT=8YhUMr4z?Z z&7S4g)W{cJB8^kew5lK18=l&N=6S@pu_6d9dy*chjNV>x>r<7lj>}t;gG&#PTsO=g z2;g)(p)&|)G@jNZ*i8&T8j)i@#bEwJVk_;inD{#zr+nnGS^F3(`6030XRj*g)+Trw zJnK@LUKAsbM+aa(oA)Y1@KFg(=@ciu!RRcjtGaIG;E-Ak_JhHps}Z7K$|ulyH|{jO zkhEDmB|tC9zHd|+cbq~+wn|j>`2x4+@NWyY-qH>OPIu*^u0ig!S5QhM07OFDj<#za zITK_jAM#lj)^;}isUwhQBzZb88b{~H{2uQ}f4APbM8V?qJ zR@=AUY|T(qx`Yj$(2I9}dTru$gCS%7Y_fy|veu4vf1BoXP~k>#@~hV%nk$G)oc-`S ztgQM^+8Tlns_}~nb5}~778xpwuTnw zX>NF>Q@I4YsBv9g@+W=gx4(?`3QbQ*xh&%i$|@#3%wx}X@7YdY6uQ=$)+5sT)Y3b+}Pu|1Zv_xOe);=5BSS z21ZPld3#cj)_R%ND&&&cahGx4RG@OWZ+h%tR_T0DUk{@G1m}+A9h+RA4O{a2phJ?-MO%85*|B$KLgBAIlF#$sx<)5K^%6! zZ{xZwpd?wGgWgy2I__JSgeIf;pb`Y&au59KD5n3(zYMo&rYx%0v8RNvLmeyfPrBcg z^<&uqovk0#HjY9n=H64$gi#c{)FAMSWLExuvf_u^+yj;)9>Nj0y-6_EO(nx3p-Pil zOU#6G4LDVVp(JjhmtkVWhFYEL+xqVlahng28PV7u5|A z!uj6&sgj!#CtYlM)wX3jXobOZb2n}jF5i*=O^Jow0=HT{G@(NaI6QQJo}JbPp%2qt zQgdh%5M|#ieVy{>6UY1D<}g;-?i%wp(JoD(n9zLH_%e?eCi3q0;K1L$ghr+?)7d24 zjiZUAM-~*FMsXwv<1kN0(9dLtG{HT0gkEOC8P>J9MC!d|Yt(w0Y}t90;5NK37Mp($ zIpqnstc0w_*~e-pGbU1>{Y?aL0vOJ|&{PC>tc{I0DH->B$boD1i6g0@^l2h)FW#=jrkoiJyGb4asf~a zNb`)^J7kCtP6^^ICa1ByQP!29%KAGwJvTb24W2|HzM7tmCrI1YMQ?R)v|?k#hGX;M zLXL24ZZg`G83Og zx03)>w%z|?C>j1b4UM5~&aHRbn7oNm@syh`8inaBo{>O5qYUR0+dJ#6 zmwydz@FvrRlO;rsZ2bIQQGnsI%pOtG#m( z(?aK+%L0o@TA8TyfLM_Gw-S4{T#m0)-JQ`e)+ah z38Il>-Gmq7AV=!b;pGhEDC<{q9Ryp!SJde<@Klf=gwo+KFpGqIXft5cfEl?_4in`N zi;dS2pkjF5$M5Rh+>^M?B92u(CIWW`edg$RsyvNzV8bZlv#UHm!!7T1{Z?{q*a2@m z{Y2wpns7)p$h%U-@y|krK;he)uWCdH*BGa0jwdram_;aEK*t-WAg-0J-PL=gF~b^< zyh7Vn>W<4jqjT&>T!%q!ppQfL_n|#MA$x|qbZ=1h>JCZ(JP0*p)tf2g$D_dM>UPAKhyGbNc z42gN&deYGUL5c#i-kCaO_~QLEiusvLh@_l#{~CC%k$H6;XDya7yB@zBV$?IG=W%fV zFJc<@&Bfw)T-TKDih6fqOV|jHH{{9ds0H%Ggy=Wv9s3;5%x3m#LJZ~^N5d^g+Po;- zw%drgsaRZfIVGv})%j;Zo;+WDh-ySB;?)prOX|g}Ir$uJ1&-NU!3_?f%OQ@BZ3dI^ zcoIchA7lO;trsib){#>VJ_*2=DhwR>)%AFa6j%&+Q56|A$)IBKMrl^QxI9IYx@ear z?HAWghJ3{bXVTf})p*!S>7qr9{iaiW->7EqlhTB|v2+F!l}8~~0LywdjN%vVc{=q#q zqH4qWbeM}j*7tfJ^P*8)40cF-dzU48+(g)a3)YIS37i#pF8q)9KP|| z*;n`2`F5za@F`QU;Ya07YwXTQCE+#a-MZQBx`Iv}|CbHrUTBsd;z+@(xYge|$PD)1 z1Y$P-+tRn!f!AVQI-F#JGxz+L2Aa6W0rcyu-25dDTHZNxPi?8!SL?$h-7c+@9&=xP zZGG`@GL-O-yS+p}r_RSk{f>|j^4`cwNlZ{x0VS3XB~L97%rI(!b9}r=ep?|y2%;4u z0Gca+`vwDCUjfLE*9j89j$KYe&Jj<>`)fx_$1ES z8h)Ua6ZT>7OPbRknpEj~8i^7hE!IB{>*ukwPt6VGIb5?M;<;k05Wm#;nFi1JHG0BQ z6m6YSnAo59J2)_`<`GxAZ&y@=Qy9RQMILowEmmjTHl`c!!2l{F-Yw~O5iv7RS2RKz z9sTyDx|teJRP%$ZO-1X18|sMo&zSv6!>r3bCp1zCUxyVtran@9ss!d*1&9o%S7uG+ z%J#eh?2iEqztiwpw5Y#y<~q}nA<|4~IXLK24HvWm;ekSJ>L*)s|wnjtQFgry6GNBd};h&tueJ}`o8^)M`r2P*ULslsw~%0Z?<$1ldt$X7B3CxJ4=9rCPq8vVMCt2!y{Sd3#gVJN-2s2+#6JA9FH``38@qdE85xjk^pz0QeS2Vbw}`Xz9M6C? za~@j0zmEBVEiX)i)22Qy;g7s|8=xb*Y|NEK03upiF*XmO;ddNQ11OW3sD6v+fkn`!ZZh>Eh^B7*M0bT3l75df z1p&5)Tda<&187vbT+Oux)@DlJVpOc=c!$q=4SdfMv{QeMtVB>txS%zSck#&f3>@+! zfnqf$*7W?uG;V(F@1kPpaoxBvIm+&G(T+ze_knz8QDI{N*5Xtb4WLMn2#R#6{RyER zNn1G+T6Vq=DXBuWp&j~#@QODX7iN#n4W{Orh99R^7Kxt1q)_5G^79J`#@r3DJz7kX z{{o}*zsyr4>s|llqC?B+9{E75B)!&g%Xy3N@L3^Y1^_A0Wgs@{_&exbAbQ0xnY(tO z;g6IHSMSY5JkC{)z{`?M3ce{6H;NnYfuXigN97LxfQe0&NH|F=F|$6z3a|dHI0^Pf3~EXFV;EQCZ$3U5_qODI zt?-wvbLZo9Xv3Mnk&V6T{P-`lYI0&th}b;524HcPgAh=OZ8qn$>^HvvsKqMn^cvcq z3B(T={t_qfR^t1$Javd2Y^$CQ{g%+6Iui2gbq4rIs4chR$<&u!QR)Hfj-0sn(!yE2 zxGa~b5#`RIyENP7r#XOLc9c}AMLb?e0YNeTNen|~O%0==Cd>{ilZG}>xg>$I^PE;E7m&oeJgJ-TzZ-D=kU06&f1W@txg-|UW%3E|8vYWVkhJM;FV+t@Q^ zLJ|1P^}@l8sT+=FFuB+q_#^@Pvjm0LVr#zKwCCt-zwj@y_V4*;zlQ$=xcC1P;N&WA z>N0f6T{gC?{BbshPq$~zcQx=tv#V+|`vn{t`~!*lUHF=8dhD%5Ir95`jZ|vrR>#k8 zq4?c1D=!$1`C=0eq_3krA_W&4S%4ke2_KhTe8Ev&N-q^pWlheBFMKfNF|u5VPdHSI zDO084hf+pb0!xJYd>>36j3-NE{HvX@0)J5bO>)mmbrAj-`$%7$V@JBnOVGP1yFC@* z_?&p{4f>c{nC59SKK~yF2h~4TH26@rjh)Lnu!RFkadXMRT=RZSsvJg?e)6wSLRxxG*Q&j6I8!5mJn`2T zsYhJ~^y3DW4}=O0&wzkxUO{b!I*E_}vVT$*YxPsdmLNd9nguPGH94<>H}W5ndxs$5 z9Pvju5{A+ltIb1qkLCs~AOWy~i-g8|-lH-t@OtHvcC+P?y>r>dd)wAuveGJT_V^4Q zD#1sEGXLbkSG7HcJds17ZyQ6+g$Akd`D3(jrH!o|ydR_L{i(fj`^A4sFWYMX3NMt! zu1hGJKW!4yUWY#XiT3n>%JK92V^Oxw1MrXN4&)5VidsCHkKVb@3&15uccPy9oINq%4 z$@N7kz;CKInuIWp+}q=Z(v8fxO#pAL3i`&cPSIlz-+^J-BAhtaRU6^iXi>Js{d@=l zOhZL-p7_1icP-^KMr_cfY5o2g-<+TYf8X#1U9K+CIY=r!`4Uot`Qd}NwpBS2N1oQR zz**(msQkHPE_{6Q)p5-0(4)}T_zo?{rHyXl#)hy+#M4!ue7+mm!+-x7(l>UiQ2yh& zkp>ze!{K`q)wSBonv%}T?N0+`Ja&3^b8%fnJ%K)_skvp zI7WiBv-fJ6+d(GnEK;9Ak&xh3vW=HqxS*6*aUW;(O=)Cjrwk^24J zK;WhLP~c73UG?S7;@wS2>jaeAkNleBzgSUbhc|R`0gqo)rBY2!BZa24^%m>9b9`_+ z-&*9J*z({!4`<@G1`Z>=T8`80@Qgn!3$_PN^~m~w%-sEFXjPGyu5$?iyYvyC?Lxpf z)H}0&v#*CN!*Eh?q}uzz)aw>MeQ`1(wOx07CTRgtTt-_J>6C* z4UO(12p7;7L*BI>%V6SHjhjgP?}Wn8@nI0)#4a=u;J`7>q|(0$*VDxJ+=<2i6m>)2 zld%yim&{^X{_}6Wj3x=MR=3w^9e&h(z+dDoO#>aXICQZ@H9AD!&fq@SK_qiB&JYuV?$VaR3#xh?)U zq~?OyZpoX9$vjrms!R@7qg@D&Qvpesq~xJTd5}+xir{)V1He^LB5f>s_!;~f1iHmK zD^2=eeL47mbp#CKqOFM=gOaAESOGKvMR~S_*Rx}Js-fflpG9~zbB4!CVwPSReutbd z)nh2{b9xWpXvrb>YqIs32qGnn2Q_97YHorC-nEiPL@x9@LLNaDQS>Sx3NDygkS_jD zqN~Ez5=x_*zt0vM@5zBJbNoL0?#X1vD72;}I2DIva#LhU;qncs&g5#^w$GxOg?p}V zrSck?bar}h%U=Fe0|_3tfdijk>y^KT{KDJ>-@PhT{v?$;CxQ-JlkfDs!E&ytAe zZ>psmPl3_PDY;Si)70vjM)tIXoS*k5ePs&HR{y}Bv#7icGV|}VCR}S$SmNcWGdbRC zDL${(qs#y4;h_#ldptIp;&EL*BfRRSgcx7QXRfL-NIrZ3n5z1iu#3`0w{SM!09^Pl zq9FqB+zdLy3p7*aIKcZzI;+x#$IN>TZxYfmWknW?tFiL=X9P53rhZbE8IpcZduEWt zMnWl@uSKQxV)p(?Y{EQE!tH3(QB+Z>WBzO9hft@-u?-_v(*?D#OJL0{Zbh;_t{;Jx z!Y&rChZY@7aj0(`oiby=UHn2DntADbx7Rw^q;ahxT=3t}vi{%DQfRzEWiXSwxRVYC ztP7ic9F{+5!qOd;-Qk!5ses|x-Oa)hPFBUMPLX3BR8 z8TyFBFd=$D+84i+Ha(sZXeNo7yrr7ze_xb3i+j9v!Y3lLK39c+TUznEx~{(-Cv5gcM!Aoflr(+z2Hn_m}X@=Ek6Zx>r_U=4gnBmX=5DDmwQD zTc=3Z6%G<4V#vU%n8fF#=C&GL%|ob<`F3B$DAkSGyO&U3J(1UJc+R*4;S~Z3B%-qZ z6qVyJTwE<4aA`l3)bg(yk6GLAQfNrFOi|vGmEG^aBumTwxJKQ9N8w}N_w`BJRbGym z^83}2v-qfxf98R6?5;D=iD4y(W=U*7tj+_p42wQ|8-glM?6K(}`dNhdGAFoP(vdhPy<#CWs_@OmJ1eL#;%<0+V#eY~j+i5Kf=ipDy87|aH|CubHD zGXLUTVJWP)U`mn8pWq9s3AQ$o*&AB@zS$Bd>;tl+b4XQ zTkZ{N1l)5A0+SB#{ZXhZt%{5hP$-^4>I5&~f7{+L4!nVr-Q>^{z=cJNFzbzY{UqeZ z)t{~3#%RYOWoVZXP8FpL%8gf4iSys{20n3eas!?z%iR>n)ejRLmQbfXoM{_ZI@4qN zByojyLuXK7p(Iwbn;BJQs4@+dBl!xfVxjWfozvd8?+*?rQ*Bz#I-%SwJRd%N$|+E{&!_e(IUdTxZ@L2S!c#b+g+3Wsd5= zLBcY4l-Z}ZW^rD;N_`kT=4)x73LXU^ue!bf3~!0BCr_AzYST3uNN1Y2+Oj(=|7sOj zWYHC6w0b?q#?-kdE4b1@s{Q?+U+ugnGB=In3ct&t3HMR1!xnjx2 z?|%2Z3?;f}ACi=`iqbx49TCQV4In8T`{)O7v-&@(&MGR(2He6Eba!`m2+{(AbPCcnfP~WBFtkcbHz=J$ zHw=x^A>Bx~bf5XpTIb@-{mjL;zFBYW{p=5)J?soMWp2?TWA-?A2(ED-oLhAVHjtp? z8g^2H!n(OvVAyuECf@Zjx1kIGIhKF7%B?=wUPg}(ID&31Q)AoX8%zmPI+Sh{=tDs= zIUSw00d)uN9@X|cZ-STp=1!7-RI&8`t&3|UOwlrD{2ClPxn%@5w8dGn@9jA{$6gld;n97Z9{6!jW9j~ zQ`b#&E2pi68PU^-`~8w1UG}e}_B+sB+h_(eE>;ivkBsMR#~p(xaxJQkQz>l-1y||m zjkPTq$>9j&NrcEnH2E~gWBE>fWlpZf>|&kN7d|jBY#4n>z`FmgR`?el%bU9-K63zI zrQxt3pLQ0QS&4NP{)Rbh?2#j?w`x+uV&r$q!5pfr6hc-whe8E9gOW%qnOlU?#d4^+ zXh7dXcXkf>^FOrkc#a>NtKS{v0g|;}so&u2E{Q(}f=r=4v+;L$1HW>vBVgWnlk*&7By&fH|W6lLs0uM+x-bV3urEmtZeYQEH|FE(SLnS z4z>Oar!x05DZBKn(3KNQe;Ms>_rd&}GZ5Y#S}DlyH*F{!8R|JJlwH(jIjyY`@M(pz zUQb$madNgW)dX>#{rxHV&u3e@r(tb!aQjo|eU^~MuV5KJ)OJl8A3>QRazY3y9aCGq->gq-Y@2-My6$Pw&@41 z=t7lLy=!I)p2|8?lhw;m#%AZq&EHTt)di?%YqsUVJ5MAs{4?T3HzR4Hr&Bo9uG{az z+#R;Km}h0fd3S8<5%%p%H-Ge9i#H<@{_>b9g=?0e5{Q+m2vbiNdW)qjy_d``2v&icEVmRyGu97S*CcRzvrhkJ5si0+wHU7YK3dHbKN;FnmM=>unj zu(*j=6Vl&3sWZ70)~D--vM^kWvyQ*a(v6-$OLd$K80|TxdiK`5KyQTLhn0b>y%u1Y zpI0riRlmqO@2R0@jHy_}qj{2M8T)&Y+T?~NE!>EJKSiK?I90zSuv!RFbi5%=(>4|0)NZFV_Dy$umg&UPIkhF zeD@}cM7N>^P|L4RQMn*1Q*4j(gOamZLC<$BUNp;(hz*0M+fKU8j%mXhJpF0OVF7f4 zuV><+<2EL`D~R}g-GJTeo9h4H?lodyI@5^yrkVx%)VTR?#9#k=It>cSX^+&BykvGM z-?Lx)x(a%c!9?RXM3{CiR-!uRjBm3se>S+91#`tAhb4Ud<^~%2)T{Ne#J8EMCfm!g zn|dq*udI!*2kFxGwG-lIYw*_2l?o1m!f!v3ljbZ}SH7t~?fi*ZZyP5iR1jXrzrp&j zdmFoLuRE`nWwbsX_&}|BCE^ro>0UC7&uU=|d4Df^gGz=>$1oPH1}9JIq4H*8!b()= zf_?o0n(o-E)kK%#cf`WpfTSUvn?^Y>^+j8wP?OSq3whrIG^>**fsv;EJiU#lJ#`>n z|BYal8Rx%3zzCv4S7vt~KS@cIJ6DqqY|v)HxW`__d|z_JOiR3*u-UD<`Uh~1Wcpij zFZ?0(=P#O{|8OHW6Nc}+<}`1A7=LQba%pg z^0gV-nOJw%U>9pZ>LaYYTZFo9;&DqVo0jsFie&VBw7PveRXGzyQHCoeBKA(}lJH_b zI82v)-qZ_K+9-pMJi1tR^Qewl8jOehPU5~K9huM50aoq#2$r`PRZX9Y!1J)Em)zo7 zromgEt$*`6WN@pda4ODIP=h4VT1^l#!kIFgqE9w}0c&Hfps;7GAlpJ}tv@OwanIkL z9(#age}=Xgwtjzo>HO}C9?8%b<}mz$qI;z*Zx?+L%U%rnXS>HxNQfI$G>yNfDi+Z| zOAx0`1IyvG`5LGn&A8Dgyf-T>RmlACi0qbpFz8qVx=!vXG5u$F0fkRYSceFpELNHT zC%^!+6C?4gN!v^uGV4pI+cZeirYGh`OIF+h|5z87TjlPih(w;pSU>q1<^za6(Qw$e zm&E!ja?%+g=cbru+jB2wJ%-aV2-yah9W(oxq)19n@}n1)I}drjid=Lu11xarR&Wi> zklSP#+WjIUw)-qQ;P$IfN$$DTtn9%eVB%%|BkM4i zi)hi#8>#~;yZi3{yS4rYYg`FLS&MUTYxvLC+N8aP``FS5P&nDibaF({O*918o=&`e z^1A5PVg#^hERL1%E{uBw-5*|&csFvx^O;}y40AULnmybLe_MQ%cBeDV;^Q={6}h8g zfuIfIWtyv{;cDr}Vcd4xnRKu~)h;d3DqPE;!eb_s3UP`1Z>*!YsHoWoMb8|*eCX+o zV7si{o_IO8qESI9mk-dmLT5tgXXT~oxo`|}PBhkhhH^G_Un0@~P#Uc4r(U#0=4gU3 zRw$}>e3OnD^|2e5*mc~Igg(QoJ2Y{SC;R=DMB}FaX(B9>9cT%YG*l1+wU{qL8X#28 z8OdV}mz~%GhNd1ug@ohhJoVokL@MVs(s&ZV%1MqYv2`&pGA=R*ctUxN&m_z82!IwF zL|P^1^-)PWo)k4~ISW%w+vyLbjws_ZbFbhI0JL=W!HdA|#{ zZE=TS_&I;qt7zxWhkEIf@YpjP#f^0rhxgLltIWL%YO~v`yBOIHm|VqwW~xy9eT4d> z+f^3H0nC0w1_<%wXRC-g z9XV4bXv}>^ahAeq5=BW<{(#;eU{~dNavjz1?N0==53(-Xssvoay1jQ%Y!|Ik-xG7l zPg_lX-?J`!N#hn4HU zZmhT~M_RK}T+|RU2$}_6071`E6PN0B{SjfSTAEU50C}VS!`Ky3MINoOzroJw*%!^+ z*&{N|LQD4sn?|V>Mifk;88xMbKxgQ#U9Mo5tF%rK@JAt)yCig!Lj;4aRxZ;|odicZhr4C%4NQR-xi-PeZ-Rpcv%k zAVhIqR^~D1HQ(@76yi~Beg-aFH@$nrW^{hq4SL>9E{ztl`j6^!_+R_w5D@Wj?w~`m zPKVZT`(HG<|ABTc$L>BNMa-<<#SN*AH_b?=_+bpuq>*#OMK1-ZF^@0IZvEYMsVhrf z!8c&NMMNdv`&T7hVi{Wz$2=S6Scc^hnu0mJI|Nh!o{R)U;1Ib|%_B)nv4f`QYFM?{f1}a0A#z!W&sv_mT|(URi>k0i1^LvOj+NRE{`RE=^;H*~G6J&HDU-E{GJ-{!yE*v%-&?jD}Gpa?SwVY%$VFEA|k&Fmsk1cL8|z1)iN~!S<`lHimX+@ z&$p+03zH0qk2ZmiKY-#W^`3bo=h;Kf45)rxa>ugVe$weNS^%xFtY!7Y{bDfpD*!MN z{g#R9Gz@_$ZEy-ijk*rYF{Q;jADPyui~|h!l^SIiD2-UAo7**;?Y@ zhVQ3I1qEKbJg>c!k6`@g6Dn3RjVxU;vYLBPzaqIUHH{P0Z%!%4#EH4x0AC@Sf>@5*O=t zH30JfBYUat2S0xVf%5RpwWtp|m~Pj-yih6XEUk8%CjTCqj|CM-lCDuzkWSOm1u_( ziqz{N-+2i5ZikS-NaJu(WbniJJOf&PR3Rub>A48#w;PLU$;jzcn5dE$HzygTq3rmF zESpiYpr;t%6T?~dYb7Lu=GmR6J?jfrqmQ_dv40iBzRC!hs&Q~6^g{*lu|}MTK*aY$ z59vtX9kr4f!Ub`Kos2YV2l~E%aTdD48oTNae!7LX{d&>6^n<`WqfBJ~gf_;Wl>f{OnHoX&(^uQ)2=QnW0!i|8ENh5rWEA)CjHnk2-0<{# zOSh{(dJ2pO)!)VLV?~xMRlHND!F?M;V5X0$hE%(Is}d_kQg!S{?0(2_nU6j%5IFOqKpPwUh|@KZvl;kknqmZJDM&^OgIF;{2WXm1g)C%pO$Z;6U&3(OcdhWcDr8*HfDJAKaTT7&HOCP zKW$nIG-^2Z4=lADO^h1^s(rqE%%r)-EKVnhJ>$;>Yrs$)JMU8Hk5g?=u;>J-<7NGj z6&Wu-8o!He8Dhkg1`ZEUL6l>nCTaq)T8DOaHbiEJU03TrO=BEQvTmh`oUc>tLfRJX z>(ZG$+^MYK??mfeZWk8G0ATmeP>3`&7w!>x1*SSD9SUqp^k{JgWwt+AY3?z7JfNoK zKI1S`)*=d#Z=sW1Yk~+Xqs>=`=i=Ct9WAZ-;-pxLwZ~R`~bQ+U&LGgVY3G& zU;Hx9d$aZ;9c)tXQh>o~+))VfHYTju^0^>oiuy2Bu0V^PW)+Q#BGOF&;+djfB*Z%> z3g~v`p94rOqzte)bi@k_4OG$Z1bmc<7}?QYvhXgdbPF&gUw0Wj@B>q*mvo?g$R^7F z2rYV5%Y8LcOtj<|PLC>R-<@bq7uoUU+M=C0*~P#zv-(vRZfX^;uvLso>hr(UoMkGh z!)EI_Xkp8;#$|qaDb0l5UKY`n0)m)TM070a7Hv9Rz_+&SgwZ^cT8}OP^2NC7Wnf{D`q#)hYuwFET-K z5~D~!m1dO1O4!#8F>bb*SF|4od`0q^0dyM#67ps^Pdt=3_&Re$lE_ru^Bcwxi)Gp; zy!1NT7r-}>3aT{|LP=0x4+95)5l5_1BlARpeSuINc=jHZ@e7217e}*xD=Mb~kLX^k zCyxdrEwm%7KQy`bCF|8E3!qx>iFYgYZjPnxqdtG6Jit@M%r@pNTACZqh<5|GB{3x2 zq)kZJW~&|=uVE6Z&mGys8Cx?Qyz`zpcI0^6OfL-1!~}pOU%%WH#Vj~ym!9AGU73d zHAj{_{Mr?7xkvyX=i=02>^HEv>GOj~%^rX5t#LV+K4jF{#pafF27-5ZUM7?AcXRX& zU*AV3SW4U|uTabXsTrioZcv2#cyk%;$sdagc{BONWzSl5S=3SyN!Nm<8b6Hl2h?0! zy9%v7w(aIPgSCLxO-GLUct_5WObSD&N=8mmML6)mne0YxKlgK6Qw>|fl>G$0sJA-bOp3JX7*&#{O>ns z=GsHYT6qO5=nOST)6Y>{SVijb7>=-U)={gvO7&H)fwKB_d19ip^tILY-F1wA#OuyKQDrpz1RgDNE;~|Z7e>R|1(9unAxT(UN$FD@x zSi2u`p?^T`8^$1=_9`V?JXRu+x4g*uG8*zEMiZ{EuO`rLn)cwjWk z6Pv}Gsa4^I5-e_~TOF${DmG?OYai~=Q+i4!)zgFXMSdjT+zT>etI!2}4+k)GYDwAI zP4J`qb-oNnPNQb*&CQB(=o2NDual&ZNTZ4?3eadDjO1pf_Br&o*peU+8vAB}@1B>D zyyph^B00d5=XYNE8VhyR&EgZPX>&#%LldkLOUMR z?x-qk&jRjHkMmKdfa3I~^&ODMI+b+Z%jpdwZNl~6*P5%XZ6>d)c8i)lf`^st*8=PY zV5=?);s6GmHkhPAp0#Q&$w1$H#!Xdc3zGEce*(zdnRNg#FYziL%33gs62hiH>+unY zuy9L%ZE+(dvb0y0*}482J5DEUvFbi{3#9`DTKtB;?ioHRDgpm(@!9yX_d14MC{fk& z0Eir>_-TI<`tg;!XyBs@I_bC3k%yFTH4D6O_Wh$8=L!MPEFuNm&X#8}V{u7q5+(Sc z1(*tD_6vWFQV$R@@q4-gdKWSEIgb>%xI4ISm3bsI0y}p+Uns5pdDzE zmEPC}o7a!cvu;RG+Nfc0I!g)6w|27~l* zvN-l@&FZ&GM69R$PqoJgXMwwZO)xi_z}s#p>CbPD8rqTGd{B82Fv{>r+bMa9s*KOS z+%2lZhEJrS3gY4ezZ~Ma*wnWUKr&y*Eo%Y1#uKFd9>54R8gRVvc+R$WY3LK|G#;;Z zYhFq^-ft^jC0M;Kaxn5O6A>009A^szAm@#b4Ba&pNAWgH#p8`-@P-(Ng{#=Hc*Ojg z_KU3zB-*l0<#RU{uyG?1-KIvPdo1UyLS&=Y0ITDs992`wkM?`Wy3ECra<8U`FJj}QEMa$&^U^9tGx9i?15TO8r7 zWX#~kpNdsOJg7;6z6Qr4)pQ~f70!rdkP$Z&H1hq~-*}#E%$ygVc2;)>jG5PNyc2 zqrHO(yq=y<{iUeALyHym>N6-1t>#5p^kGq#+4I+N@SJXj89Rpo38@PRwt9vL|M7`7 z9GTy&@w?n_JMOWvWf10StGZG9R8(tQtu=LO(h^|KuKH`B`h8H}h_2#%%fMEy#S7b_ z0p-rvO8H#asNkDcg=q}`EAj`B*n)G@kWHy)9ZB<|{%+i`zXi}` z_9{X5SJ~c=XiP?Hyb(kb_mwAx-=YDb`nSmyKQUf0zFj#L&b@yKD!Fp~?5?x=^6Vwd zn(ggBw#Ki%kpX3BVk&UTwYC^g#f;R(_CL#=8ckOXg>4!E)PVPXFAFd8t%WNPiy@|@Vce6N`B-OH4HP$=$({=$t#SsDh7{3cL1E-TdZLg`+1+dS1>-3X=GE$D1GTZDIW>TVY8PTkz*+;XofuyigN3j<}Kk z$oHkbIGaGjktwf$jEEqdb_dBSPpRd{Umy4$z0Ls^zZAgp03B`pIc&doK1)x(#GM^E z9;OPR$Af??@ca`bk?UB|M1T&8=yYG?jw&?+Uq3^{D=6QTNzo3`)Y9dCmfvg8G(gitd9g&Tpc;V0^3i**S=a+Ym{oN3@3Gbu zow)!aip6vRXvdULB5CL-Mm)N6y5(>R_ee3tP{!BE1M(ju1%2&TV`u?UQp!iAb<5au zX2(43ki27LL5B?6IHYIZ)~s}7jpKw4RI=uG-R_NKN*}20Sml+TO5EAh2dp2778H#v z*T%F(-8$J(N+8@~gsc7;OY=g@4xy? z@xA>1WA{~ha-`7c6N?}?3&=Kj1xSa~7U{vl&A*p=c-v$-s18n06!;b+mv`d~_|lYa zH_!F~;`^|2gY6Dt0|81|7k7$d<8A*KDO*`39ZUdTI~>f1Bt4)vQ-XS)a`lEVf3 z7(@b})()dkdV7204V@6QHMzP9HPcuCvf0lF&cX*I!#5&m2p=dWT>(AG76VtOYjfB5 zZp-Ysab#Ed;z8@8y6jjJ8C%fb%No#VziVpOr*U%4frG>+!0DTUG^xA4i7D0!qMy=! zaU&Vmbt2wgykp?1h5#}R_!j8i`x&>B>Z_#i!K`uiZD7dq-NkO( zZf?-3T8@N)`+@0+jnqSW$@czr@JUjJy-2$9Auxn%Ui7CzoF@YH+FFB`Hw6wu>So{W zqEsXdlTLmJLCFK7Njo>0u&YA3lYo(kCm0CFedkcF^M@bVy+95hFF_uOuTS{-3lX>g zkBcC0oAZq2?DKMSDG<$Hu^h zOCrh^-)+-}xPb=g_=F?RW#|5J2Nfxs5bnM5+Sv;=53$M4Ly4Eo(|FBvDUt@pqJ|@B zg|gYis-azLsbRpBV;-kv2xS}t!@mjvDe+#t;KC0LfB zpEZ&8CZ)09=-7PNFJQ@$j5l*{o{m&}UyN-jWW8R_biIyWr)HK2K48;MGXyOHpCG64 zJFhKgsleB1sGmd|I~TPRuwN{KCYniD2D4f)lRg*!o3yAs69bC>XrxXm0^e#<;Ng#S z{~&q2GfwmK6@eW*1N6gw9<~tX;fE1T-yG-I-9a$I;hp`gSPrIIZmdLPj!xa;5jfhf zv-+v)$zA?>El6|0yb~ieelp$rNNU?TkN#e2o)k?_AgD81x)=pA0FbMUd2ZS@9`G*6 zqd)M!7@f1zP|O^J{+M!$;u}5!k_{7XVM&Jy3j1T}C$nFxHa;#_nNVhu0w8>>7r|9a zc}eXR74|A?pR1C_6afOR9PKxGe-hKvt&aGlbC3VY>fLol0D5F8c=yEriILkjR**mv zGgFP+2R&h>$U_ul0IZflv!-*H-uKWp9kG|TsAw-(j@p{wx^X5a( zp1IkCDaEzZae}~hQzrIbHmhExTg;oG#RfaIt+0Qa=;-JOvH~0mWMK;+P-hpsL-K+8 zrHv2DMqu&hZwaq@_pVB5Oq^}-<)e1$;f6_%-5fkSpG|-jZUD5KXa}nZmIBxvtsMb_ z<>Ay;?~g_l5)mBvKWckPnlsbM=NI#bz@uf zHQ3GROl%EDX_I4|nU}j40~F9MiCm574At^5w?}}+iqrI(3ak-ySx#Y-Yv#8^D&gc{1_-U9qqe>-%zB$i_22eDF>%=?<{EzMu z!w(e>NgOECtM1H}ldB^_a$aH5o(l9?D+cnyghpq}LaR+evEhK^cE~}^OE3gI4wJGyq7Cyv ze^%re$7i$(3(3>!2ul;KHUm#$f|#IFf3}3 zdP40SoS)XcP6ulbPr6HGgaaR$^hyG}e&u0S{`E5mx?dHc5zMI`HLziKdh4ruIiEG$ z2~1lk=}?g?9<|5;ECShTSwrl+KhiQpLPKV^%ujoQeS$tRrDcBzZACzROBZj`azt7d?z79`#leS9^QK zYt7@dQ@96?4#$?P=$@jN{)s;i2+Ye4#bb|7M=1ly!Q>~feimeaeA9Sr&>q8-YH{)8 z27xxsG|nL$`UOe}l2)oT$jVD>{-m*bX59^VA#UgT5exC*bwwfs@iW5LM4vga?0j zB2tY1VJ|9ZKCTkR1&Ns{*Bf;A1@I`Eg}f%TJs{KnVK*Ue*y*1f^GCkX0GW%r7+(aO zBq#J3(};O5*x57vNg4B?tReJ`P7l-^5gsg{#VRbAJgy)I((II%0jftHu3nF`d+$e;{}KafXXhXZ+%uR+LRtRd<3qp}<)Leog2 z#B9W@Nw2`Jf;MlMk-0;4OS`0RnZ}p2IZ#}H0_@vh^vB6V)tBC`Mrhdd*{>)poRIU7 z0`dq20|vOz-?4uC`rZPykx$o08b=xl{66ATfxbXfw z`X)G!*dcLU&+nte{V0k4zl}&*yLOb5@7<(}Io47xFUfPw2nEDOkzVjId_U;F%a2lA8_-Sxep zI(9ngR`VUtWR0&nU9h3#`!+kayTx+Q+Sr(@uXpm5Yb6zvggaqCFQ3fP%|oLShGDbP z=G8QF7z{>T%t*1*MwS@r7_iC6myKL}?s|ECSRvLk&cBH-V*Mk*k!QylqjZ!XNgFud zan^&G^4+T!TlhmpOC%xo8$6Kc1`XO9X96E6gyf!|`8VQF>VeF_f6d*u-W{s3=(MHI za1&XSBaM6J@PN2+Ef4c{F}z7G#0czcJa9mALXtt!>(fILLFxjqa2xhf{6rSO=E7&R zj!cu_b7Q+ub5<}o2za=NO(vmI=YdusKyP7gh%N@sa zX2!)i?6}NTTji711JVJ!3~j1yVl!AyHXf%L7#fb3Xs0G6SN%ulib<=|7AZeEJ+n>D zKHgfW3e^zLXw~WhTbf(z8;-JKa$eV006iIx-Q_dDF6^!;+QA$i9`R4j^ZP3#k?(Ac zN_Y@UOrhUwU;$9DNtp(J>gLXtK~%yyHejBm@DMO^_7E5hF8JC#14R1z=Qb(2inFUi z3t*_Fx;z>Mu#8(6B{{#Lm!;f#;_T9Aw7IykB9RV*njzgwAM&4@<4t0S)#i& zG`8|rM++T9Y=mS~^AvaD0gR^px>o|*Qo*z!!F1LUft|Q(9MB)A1HfyqPnCF@sg+l& zvcy@QnH`F;gXS0g5OrA?&68bUOkhRI{1=D|=6qy)I>(iEogUzhy;|g^BXusSQ%*@- zC2h%7HXC&^4jR&zD6p9%OT5x=wQuPdhYc*(btaQR#~}-V0cNIwrTOh(QJu3k&OwAj>UzpyGk{+6n?p&2gh4P~RCoTsPXCdziWE6GA_4c>Kj}#b0 zJCZ!}?@J!?BPoUK)BIkZZamhqKmGBYm_A%?ar=u$d?I?on~eE#J1Awi-4h*+MJR|8 z&(JT3C=#8esJBZmvdM+HVjgA0X#2C3OTrz3617AA0M-;CMy5+)LuS{^1M&MP`WTjl}iZ8VGQd29zqoi2V6>ZN8GA-qY^Q zoQWBVAhjc57EmUn$So4HtH3C6IBb!e-+C3BcA%iNP7p5gLkX9fb}4@X5QhXbi1~_U z`d1<@q*(OD8r&N5G^ql)KhUeo|wQPkl(xZ?Jiz~nc00OuL2-&Ba^xYTy z;iCnRijml|><0~pUr;LoeZKk7jrAm)N^sq~>3 z>>rU<7Rpw^m<0)BSV;APtJ-^^3Ik@WxsvR{5wjUfoctgQxHas z=Bz}R814fsIHLeI;r8gI?Fm@k5v}4rG0wm| zUjIJBO0BX#28If=7!e;-fM^xClGg42DCV39wruadC0BV>(+CBPZJRO0gF{1KEk=>> z5?XQ$?2z&;LMrpSz=!C@kLz#{vaMG6d#+*A;*BN#u3LBq3B~1rU#m(2tgV z3wB9lQG1;yxEE!5vnL5Tz0~F)#u7Nf@g%<)OIbFy%ttg`T6ZmXG-sHN7UDOal!c7l z^A@<=W~@}}Bhmu$-IyRO|Rd4=rPIY zNLhj&v}%m(nHzZj)$hDNmFsq=*NB_ns9iEz8uyc8z7lXktI06{tN{tYV2Bd87zzb@8c6V;4osq13uf8Y z>EXnqi&d&;I~G6CFh1ql+}RnHVa^A^UHeT5`fNTM=XwF?)YwQ+sfV@1Zo`-i1{GJ2^hMBViu7%{xUn&X6 z`S?+S-)x3*UN?Sz5(B7Z}m-dQT& z2>&zzE+1imN3N=x!oen{6J#V~kH}Fm9qx_FMTtMG#NJhesau`CYhutaN_XO*^4MSg zrQR*|_8WyC#Vjsy4xmx-%{QdTG*oG(2YTIVR@Po9yAt8%)jx`Wc*%x$(ioeIMol|y zeSIQzx%>ux6myJX*v=7gAw ziw)&dTvCG82fu_9CpIU*ga5mF66y-q3#Tc;qk-X8SupzF?-!r!7w3{(!ufrn0KhQ@hqnLYIfA*K7=#GCy&D_^+6wq~-y`@{w=f>!S45tmm%uBQh&ISVckz$elm@*Eg;z#t$o}pnP z(IGoS-5Tu|>~|T%5L*s|V%+pE)TdKj12Gx;uUReLf~Mx(1)`)+Iwjd)4%Pp8rNF4|AOaC>~AC;gxVbB{LGb zcY^{T1-)1PkoXT-daL{`F%b73z9qo(y!ovVy!BIQ4Wy1OX}0V8fKzmr!3fe+xFT&x z|4g+8Z@DBfIeZIur<<`<9Ewx$(SZEmJ5N+@f<*+1x|UWu8NDr2z%jwrRzc*JO7o%g zdCR0mnlKcVpfvjo%M&rhZA=`x-*^lMQu>0H#Fo)mII#-3+S4= zx`NGCu=dZeUi4M>^&STLqT`&OP|x^nqF_htr(=gTxDY6*TVwm`a5w+en%gcp+kBP7 zw_{qZW5D@DEbvU3!0rnX%h=#xLX2g>9#{Oh`47!}Ea{{HyU7?!sCNNh{sSm+`v)d! z#xtfJ-h$L_?WyF0{|{is<5&Q?CJ=8%L6re4`2%(GG%L!Qm=1rP?C`w;S9*g*B6k9s zOXkOFZ6br@Z;s74D7X*U1L_w$YO2y?FLH|mEdvsXLG2|T?RI5uO<&I&tUY4OWIXvC znBl**xPJ#xOhEIjK**CDpR1K!FLrrhSD#Ze80bV~+zoaaPE<2&S?@Cb?KV~!64+xt zyHIw^|9t23y*_0i=A}oC5a7On3_ccF|6Bp3gRfdyJYrG!r^E9<2qa1Z9DRbw#62qt zje+-#q-d9kxsQD&2nK#XT(8t88)_B;eL#o-6QOnFMdy(s4ui4O$4`eyX?Qp;7`{+J zNas-dapThRanqV3SGBft#zvA1F4ZieM!4zEh4F^bi1MBDfh3dY%qhQO_1@ z`7aglcf+aSLFP@OjeLG#KI(5@=w%@`~5MAbut?Ae@LJgz{ZD`YNQK&O#N^-82tiD9{8lIMcwfxDYtggPBSjDCSeoUT{As zJ~RSM_Zt|n6i0#sSMQ7k`{PaI6iF|JO60JEjl$d%^Ub;X-ASBJ<_+=$zji3QeaEZ4 zF9tr-$zyV&om-d3{*)#%Ds>E1gw@z183S49V@K}ze9{D<1aE29F*bYoA{DLZvn}gP zWdY3%T99vF>E#?zhUoE7=*o+Usw1!u4~av3F26`%M$X+SFn)=SiQ(raFMD_Ac3ikg z3*c8t;TDDha?kTKA$1znC$WN5aE!*<{S!kZv3Kx0Rn2)pz|3|74Mo*m6#(r zpOSHKo~B#s@)JDvnrHm3IMt!Lw(+9iIJ5{8LjJ(20!1aR{Z2q=&wE>=5-Jk>rh*l! z)cDS)&1)Feq4v@(hPn$h?KU-kW8U2GK^fmJxo`%?qFgRRIk>bvxZ!(!bc>#deQQ3d z@0X@&A|Td+!ZA8__x3`Z`*t++6@VQo2`E&H-@UZiGRjn25^eRDYdAdX?Pm&>p{`slGRK*&_bk+`b`h8J4uWZChRaPXB+-F zSERMCRJMGrR3mVqZ2y;>xHtvv-4ScIZEl3_CO9)rebY2cD4+;#Vgq4hn0n*)Q8B1A zW+fAL2Cx>kqt&Z6SaWw}c#@U^tSu}o6lGt`8aa`d%r-fhVS1Y%%U3)7y&8NF^?N{s ztGJF!TtuS_Ad)0kQq;py$R0Ql<45cta6y42;+}DW_z%?i?d3;e!6arodk$rAv!ZFx zg0m7`{>Ws?;wEhYC7m7TVcjug{5>-dcW`CoFLqTe1D#jAyWh_=_kt70z(_%8)8EC; zezE3~aYE8VR60vpo@}EoEyqN_@OSnk{8VUTv(@AL@S<3E*JfTt8#-e29rR!%DEgo| zW1iG|{pR6$7F%n!%^IkCoHP-LzuvWE$TGN$jNSGCkmCG;U(xepgKD0G#2FpFkdewc zph-==mplCI9K7<14rV`rSX+^9AE&rW~S;8Ch#PEsp zLe^=EkcH?Rqn)@)VvaP&MXfzcPFs|_WIm){rlpZ^OYB+j`%i}bsKV}xEVY%p#|B_P zK#O9Bh1E!K$AZa<<5Yv}<(?K(kQW88NZ-W32Mv%mi0in$nE?dNrDgbF8i6FRdpwc-a3AAih{# z(9#@l2oBh$Yp0omb4g$J z!;!`5gfN8ilQqSYfa6= ziWTCjsuIamP-m)fsLl;dnHun^GppUJ8AGrrv9k*dlt({L6hpb{)D^`lWs)(ii(IL3cGzfNqUK zhfN3_0eLnzSeD!ILbi>cVa9hJ=Tr7It~}^GTvtQJ&8T`+#`~s$cUHo_ zm$sH&#vXrkPzn&AB(WFomyqnkxoWSVr$e(91O(XT6pSlz1}zK{wuQ>;&CB3E+R#9P zE<{tuK}mF|1z1LV!N30^hV)X^a_X@LEpO;$S&Q3lD?)>H>WI+dIwGzkC!G%`0=}<- zT8M9FVbDOCW#jn*mql*&ZF0Xd*Ua}tp#Q!u5hFn4j-sxk09}L0cnYLuCQgg27+BB5 zta^dLicbI5;#GL%gN>>H^l99ZCJM|YS22>nKeLrSED;!cGK~6#wEA!V6vTng5QGFu z;7;^h89Nt&=GDFdK%~GOm;zA#Q>r}H(78|BP?*TL+pR^h$rh#D`nt06$ zhHpO1hP;0V?`wdHEHQogri=SOT%BcC)Lp>t{}XgecPNs|&>%H{bR(T3DBUSNgG#4_ zq%=x*2m(Xu4I(8eDc#+5#^*fe&G`bX#aer2_P*kGd4hV5{3XXJn?(|K3qNGP1Ucqr zTKmhkd`@H4w@E}Wy4Avq^?J*(!D4&Ku%;++dP->t1H5JJ^zh|NF~ zPc8aqARmAz;1jRDLYYy~yWZ$TG9)c(F6O-rVHY}67|B9UQmMB>94S=fkVWF^^pNnz1aI&H;gZ%p4|5* zId@jki?(YRBy!k0@cD8i$pBAuckofDy)~!;< z0YY*=Cz0|s}^bjcjy;dC{Ct;lt1JXBOanX#+V>(7&?Mwk96jKW!sqv4mk%G zSIHY!rtp_tPr1M141aIEIT~;diD#CvptG&u`Kr{lX()nm{4`&i9=f%sbU^~`e*O1f zqS#LKW9|r=hYRnBXa#yg$5fZzxqbNj4F`A4hZCMDXxnIHCy!}wG?QA**K>OItkEOv6*uv(Xji=F4Oh$10dj_!k>DFbiAq^{4^SZ0JQGQKu~p~UuC z8&nZ&1(Zoe&W6s1 z0q=s}^f0LgQsb&`<|VTUWg7*c#p+`bBCowvnmk8RpXn}}jXsjm*_u_X*zcvzcKtiV zYjh&1dUZ(9<^R;AR*$kJBZEfB^S8o0&NIKm{MU^`e;V~ydC{uoVKk!pUBI!4efz3_ zr;t|Z>%lDkvC*XmN#sO7`4>tpjV$%r*j8OuHsaNluYa`$FQ%4SqUGTVPPT(GbP}EB z-h)KgG#{rd?*!+ya05qv2dt(TLL;8~I{#@DM!r5+?DV-$4q0uIpet-WxO|IQ>70GD z99ztxKOfN9v@Inmae_Pt_W3Zqa<}zt-%s;HCe!U}10ONQ_80YkH>v*mnI$ux6igB- zTm)w!O6q#2?h4j6WA3+_vZo|-m3TX{-0ksyeNf(cHMAWnug>%*wU-KR7hnwpA$oJAAd9lAJYeN37AgEeM%~ZNsc77} zOu^oxnrn^4cofuwTfd>1sXF2}b$igdyiIPlJRI8&(v9O*qLXj-ruDZE(1uFc zU864$(kD9dAW>^~DSfAEq6#L6pOEFA9}*9VHKhy_yt%{?PDMVB#VSK#i@n=Z-k#tW ziT4IeexTIrG8yq&eZV|C^WRlx05%)|wMCX3hib-PdjPtKs>P7f?c_<^17+(1ZmlMl z>^bC}h2T4q^;O|MMN23t9#MJ*_%F~dmeYPPgk7Wz5-W_}?0&YW7P`gwVBMLAC9HN7 z0AD=xurbq;fq71-GNe+latkEh9nA+6%r)aB=@Hr0+7p`x46g2_W>!)b6qKBSmT_33 z#eX87ris%%m#f^3Jq)#c*^p2QnW6wRIwgezOZr+0l;jmk#6V!Z8>{T z)P51lmR%&c<9j7#)-7`ONNxpb47|gOJhb}4oBV6Q3-a2ZXBAiCr*!s^um}fZbRaQH z&rG7~xZZX6b{fO9G4E@9c7Q7h`m0RcH0R ze(c{df**bSGAmi~%Km{M6{F($ER(1jKzS~B9o4p$iR0(l;`YlC@xG5rFR zB*IC(?Cr)W4m#Ue-_KAB3DaF$LFNtw-|}1m zhUdyJ4Rc?}n~;?g0?gW|4B;S3Ufo<=J5T`b0YU~~$eWbKC-7&~%Vz_|KWl#E0a@v$ zk@EM6Off;9L(4D!a0<@;z5>!aiFd%?Ku&C8_`2=QLu9&VgwbQrr-`2${y?-d_++2R z{eW&j>jC`2ABb(%%TRokYFsNQE<@##AU7phVba}e4bKRu$4ME$UsSgtg|i5TmCY8D ztE|pg-d}Jc2COa4CIBLmmT=n~DSafUWJ8=8SKx=OUfv2QC1@844n^M)$ zq|FMg?;A8J2;RXZ0qBOrGnaMY8)6!00_o>P|M#Od)zS5AUizPc?%36GRFgCZDnu>! zpSB=!C(<6A+kK%xF>K)=iQ5>BR4z*3oBS&O9rk%e*0ZJ+Jmne_BS8ZdsbX+4th4uE zMvXF?+sC_+ThHeE(^#f}YGv*}az!p9Y^|?CI_vYiMCk-C$Wc3zkqqCz_u?sUTLnbl z_R4Vky(Zv&=?W?atp3tVJr{zfMOf0lz%e4Ru8j!NGesDAgW|ixJGKR&EkaZfTp4#J zdy7QIi&Ob%+Xn7$!pTTiLkI`WL!;$Ilbbdl=QvgO0PW(u37po4^y&<2-@K+hFi25y zZiCHG9}*}2Vx4OrE-*S{T8hEXykwm&i;GQwSR%4b-Gp(`dSHrXEJL7L1b@*gm_DUc zNxxQFl^wH4b)RDYjAUd_T-9%jH>eiT>Br5jg9vPMHhser2=tVQ6E;@{7-9xJPM`R zESD_`PmT-XrMCnG1?QYqr~j%Iq^h#6vNQgO2!Ok-mZu&5skPc5wr`0w7 zob+V~CPMPQrWfx4fC1V;QE9BdGXP3BTsImJK+>IGH{%?~>TF@H!Civ+M+ zSy`cRQ!%#J{Q_`(+3R-P@kUalJu_J4GHii?1C%-Bny}Bn=L4E3$*hHH6u0W87%w#q zZ(wFD6;aCry(X|1P?$#&mo$T=Y;7HNDsMTirx8{A_p}ELaI(RmMxdKKFlmOAkZx}E zWaXqc%#Nlt!-xiW02ALJLE2EKv_SQYqtZeJoFF%>4R4bPk#u0eKClrSNEau2BOrpJ zo)HF!FnL`+&dIEayzD;S%)ieMv>fnx3sdoV9#rk~Gj2UkQrimcml!~~w zc=jq`a}O{|L4xM$f2nLJiOpPhA=4YjItjenNN zl=vi9_Q2;BC<5GW6&LY%opXHigW6M(kxltiz=QFUXwDu;()Whc>de}wM}EGK@jW29~W!!rS7p;908;e@05Po zc7T4d&=D#t)6t{prFnPx_9fQBtGGt8zj6;WXgNCq1lOp^4bSu`^^5ibBOyIRx0cWq z6wRVQfQ;|AzF1POh^m|`)BA##L7@JH^(|jx(00(iGj~uMPQCKx+t~4f0MRi{?o8~* zmYbi#UJG7z$D7@^2lce8R^KXyn0hp|_%1Nohi-)2Ey#R*>mM=-=NpX;RMavklw21F)A%qypI*7 z3zPIMUwo2k)i_8C7FX2PXu(D*JM;S?j-hChpTuz9zWh$O{epC_syz-!<~v?O>>O!9 zltM#~OHKL|K@pN6)Jj#|G%EFmY7W3B{_iEA={OPb@?iyi;145Mo-*qeYZ&ehOXwSL zppZQ9-h{LF5x|v3ZLKi#;|gsAkH(g@OjAPgV-Mq%M>&x=boH@I$El+4c#3??;L5a7KnhzOIt^F&m6C-;JO4XUs0nJYW-Q0>gR8rzav1N~Q+321lhCZa$>E?H%;@`ZgV%3b5QF#%?kR$xO z3>Q203u159^J?0ntLiL+=_O}{jzZ@kYM$%ear;l>RX7S-{wvXXq=PuvC?LV9z@`g!Y1$C(f_V` z!alUC`J>OjH9CwteEfW#6>K5_@pzNO<)HuSVTNKfR{svg)O#BpOv+=YEp!`H`dH(W z4a@fa-2&gNY#WZznB)7SRV!4cW3uMQv{{QuZ-N%7Vx@_|I_SLZ&$O3F!W@#nfB(*6 zLIdkAUstIhu>}$~jAYu_J?XHQp;JmhF^nUX<`QbBG14;sg5ifJ0I*WgG+%lhlv;%6 zvp0MB#)lbmDOxN%fa9)YQ4CPf(fTi5_#sK0Hr~TO2V-tRyey0K^_i~i)1e=hMRliM zY@qgsAW%ajIRW((U5D?PRJ@5MvI)cl*lqMDy10vg37v{tS~8cB7!!+*!`l-_QZCGY zi3r!@u^1RyumKX-1l1 zirBH(Wc?Bji+4IekZ_qXQGicCH=t%#eF!=%nc2%`qoeV}gNFK=Ah{A+7QO&-u10N_ zl%F(!eS1=9$NEUM0YPx?e{f!q&IYEWasm5Ea-*#MUsH~0&z4$5JfDr|)Yeu5G7&;= z`&LL9|Fx}Sq?V#6oEZHeba~ur7q*Z#MI|D=EVWq8EF(dqxS#tUVV&p1&Ly}e1OLR{1q92lZ42-jYssV31Fyk+hSOw9Ofi%W(OVX90GvfN zsT;j9#j1a;K&RNkkQ?ep`a7QfyeQx{wkdWFuf_VRiQdXJj#av2;B#y+89pDV_Le)ER^|;W$oKj<@)_ zozHs4w{GM|@7%rvz3D)rjxpGd!Krpw;H6R&_2y?xed55}A9y8;)RERJZ?6Re5D{2XR9gh9uh5qCU9#obGj16V)0O2c7=W5jlAXa{pZsX*JosiH7 z>isI!FN?$aI|ad&i=rZA1i1QR#;R#aqoncjaf@FjBV>Z|{&XKAcxku+$*FD}tH9^g z5lDWN(57TePTFvP;+7mTZk~|szrvGb2QoNu&=Y+J5?P^K?O`$E3y{3*NMlVjX^-=` zKp&0VXG4j(8^)}mK*Tz_SlK0ML-#|{>kb@9s3+-7??+k452H$eUQtU`HGcvpY<$v+ zb|pQ;|8&QN#SB;@RVTND__#50!R)SbmqSw%2?Z8%m#q<+N+@v?wJF+itov@*H0MN5 z#JN&ylL{&k0UK}HYuJ0;~(|}tsEiZv}_5SKGOEau1~ca|M z78m+yB~A5`aD6xxpYhf(aaXZ2OJo2_*jhuyzAJ<%8H}9}YJMSZcaixUenTWSE?W|~ z@hc(f``vT$2q}8KqNprup@ijY3W)OgdTF_^OV>L-BD93-B5*k@_&d~nAfV@|6X+)^ zW6g_1BrI6KoV8-NmXZg`)`vfPgnU@VZ&>;nH0q^u%4_r8eRkmPFPSMM1k$Mcp3uNj zX>*2Q_*TUAPHt145;skaY~Z_Lk9-g9@P5`^(CXW__?wqL!2S4!J3z;pBXwQzx>C! zR7>A5S5bkN8$q^WVv>Spp^*-}fc_}SyCy;)k@VW(hxqtMM6W<^K%`(!uyXZp?vZ{K zvI2Z+5mLC7APb4CNI3=A?YT23h^7o*wjR#3=WL{0?SuJ#)RiKDfA{i*cCox67^WP{ zk9?aaXYBdhXdv*V=Pzy=_z(IgnhPHMXK31W{^jBL(;$E7W3RXB*)+@fLI!46V+UupX z6=rpIv7TbPfypod=?0<7b@81CUcS$KoH!QzcB$e5LP>J}$e!1nxXlMTzRTqIYy`Q= zG_U&mE}t6G!ziZkm!Yh$-=$3lurFU2V@VhE>*lGJznEx=OM|Nx)_y&H1}Erhl?w18 zSA*6#4heMa{r94H^ENOE^#Yf@%7DeiiLJsta{b0=_4bi4kw%e1^vBFt0KZ(+dV}5i zbAm`XjXOQaiD8{?O;{cYcB<{WGRX3h0_f?Mt(uB>_GAz(!pRWV&)!xt`c-?KOo5$# z$reh(v}A}7m?>J<#J1Lee;aeZTb)cn#vnt8SsCB-94^p0j zerW5L?6R+9-e={zltr(4{A5vm-1ZaO9(PH z$#lT(TXW_~csh8yw(Rlv&Cl>^`o~OH;#D1YEvRQxbLw3A>FMdC!7V*f7nuAtmf(YC zsWnhHfjmi|Jjp@R*6sO%XtvUnRlL;Ml;}4B$$v+C^1X;sHs7B z88%9B8IPWrI+b$=Q3SEb6vuT(%aQ1@kdVI14LDl;XxS{9?4p3w%8df}+253KVkKcA zA#3g3zBmh=Kl5oolCu7h{P6mmG*a(PMdTi35`qL$_W}1o%YEsKq5xha-D60`oCY%(sQKJTND~|^ z$|;?m09k)KsAEc`Nul8y&~97<67?M7-8K@b0sH~g9c!}*s+XHtSwxj;pS{T6tfjf$ znf0Mkge~u^n7IB^v8o@hZqqdOsrM8Rc$Ufc@LWTOqlk$nsjY+C)BEs~?cNj~yz`c7 zvm5P-)QnJjXfV%3)VcjZO2+}X)l~@o(Qme@7{~MwQ5)SK-o!U=+WB=Vk*9d@<}!K? zjk=wqw$$`qepIc#H9hA$SK7u-^r*s-a+eaWwD-cSi94X89eEjfDYLQtM%p7MPyFn9 z;eK9K^4Q|-y=&{Ph{Qx`mQeq)c<_|r2Fi})pm$(7US{v^?!4pAGNbP-S&-^Qzy?Zn z>7S`gF~FcHaDv8UU7IfdX-k-jwQvSEmq9Yu{z6AbP(a`bQA;5x8SidIIy3-u4>22;`SLhq1IlVR&$Eo$|+bd?at+EUnISk9TMVdM!f zCjWT_5CumcyQ&)Jab zSJW)Tpp>c$uheP9S4yf>jUOuIOelA7LyeL201LOvOFmFWO_&fB9K8NJsq#OI%W!nM z5D)j0)yRq$1y{6v2Dy@7)j91w`i$vp!*@{WiOFdQkr8Uo!}TiyQ>z)v{{d<873qiZKICfXyB-pt27 zQgHaMIp2A1L~g~6>S@`j%WVr0{@TdT#I#1;w+QK<>8;vDQ}kuJ+G?hz(W3=~N9fQOXfKMNoYxSh^ykl!_;u#Vvx!ea84wdb-HhSR zmr1q+EK|JB9C3Md-N7RSB1$wOW;h7B4y3?ET3b9)bf;lXbv!>yj7uK&7Lk$QL77}Y zyc3y`f0;?~b#_*=Nqt7r`Au@7ug76=mEm zDK@9i7ow%rTFV|Q)3uF38%O3LVU2j&D{^PNkl zvJMCBdW+J_m%SNYK6xi>{-kqDiOH`AW4Nn&?!20V zPcSh5$sB6e6It=I8Tjycv~uZ>FPyR7O}T;%fejCR4`0Mj3P%$k;PTthNc|*3pn^fE z2tp?V6Y`+MQBXl>pSYdPh^x~;st+M7(u)+%!GxE;&55g_deS0Z&C45=Tw%-g<+&}k zyD8Wa{RHeDjj9mU&?UP5lB*}bsFB-1PP77$0$y%Xo9sdWYDSg++5I=qSMjQy7_1=U z1lWLxvO;VUr^`nrof%-Ek@VXlL>XSsVv^WLo3;ul|Hz8FQ5GYTX96&#yU$RGayn>) zpkQ6{1H%`*NfUj4@sZShY(a5Cg@#ybF_#yDYVoY&TUU-%^4Z}ZGw6p{}9Y-Tc zBV5>QqWL@WiSP+W3Q*$yjEgZ|wR`4*g!P$)ze|g(a6qYv?fScfAiY}J{pA2OHjN=5 zc4N&9^punRK;A1eTDuAw!s*V&v5S7cCZJIrbFBWN%r0O_F&&;0+Cku>EK|*ljHRfV z{Z`SKI#{nL<^L*;v3y~~WYHDcLhY!D3v1GOFL(w+jLYf!hc-}H|7|HcO=_khb#EID z^Q`~)%vVzsF#ypiQd%=xYjL{tsHtykep4iom)AQhQBoebxc#Gy?Hqd&vX-!i&64(% zh=IoGqH8U8@*}VLnn%$%RGvU_Ualr$gSnCX@4V1e51*uNCw^NFR)#gET+yI4Vancg z{7b^HB%NKZOGL~3dat!$HbJdQ#30$*CoA}%{QxuQOSAm)>kY){7{i{CTeOuA*nduX zIgMFgZPdIz+pPdU4*dbr_Rac<+lnWp-3KXL&yR-y(!n=x#vHgkb>FaH?)U!$AH7fo z;?Fexi+}uqnXRt(1knS@=Nlv4w?`j4>Rp$+NbDCTGM6qXry($BkBJJ;{kH4M>yxpe zCvMJ#@b@g(eOPEhS=S&&35}Qs!5sPyAK{GLs;p*CPP8ZyBoA}|$#hC5RQ;Re7yAVi z0peYv_tTZbJpp+mmH<-sC$fzog{w8jMk3VQ+8{mUx9pc_HSbU-@g&bi*U#W_S!eFK+EtyHJ3-Y#eM}MWpJ$ielI)tSS!Y0~f*+_jUde$AsRoWn4sf~_C zJmnHq@1xNK)230!!czs-k#rGDCSwhOkUx*PI!`yp=UN_f=2S%)=p{wHP$geok$Sbn zw`4oa0pfGS6@>0mmP+qZ4I|_5cL>H1k+2lU=n!@`J_mpzM#6c9S5(L3F_J*4#g+yJ zIezbbXb2|GZIJidVRY&Lz3H+sP{rfTq4qP`XD_^IVds~0>qk>IkXfkruR(3`?dK@m zi|(-B4Ta|nC7>NpJ&Z%hQ~EwIG)2mlZ;eF%C-|TbPCu9_>@;K_$0wPC`#_My` zyjT^2zUA+x6MrB$G}0irsj4ht|O_>A8jb;{)rxNs_yH zq#pf+*bNJOZ6NDk;WJ=zDELg!ceCgtRY>033fK)|8y$hkMTkP@DNXP^M$LYu0M3|H zLm)NNqLlsSXi*=bnyTvP!md{A^o4m0Hvh}vQQ^*EB-Op* zOqW{S@`WVhrE1JC2L>mDz?HD=i=o|1xBb-MdZ@x5dMaC8Yi=T5s54G2Ca2;~!;wtR zK~uqp4ujLKLG+Wwa_T>?4N}qMTBdtNBzj%hEF`evG!nW{8jzZ|RWEHt=UQKE-boqFt1 zfm%k5&>1JLYZ;O$_5%yUEHP$N-2OwE3_jO3sV-k2;r2TvGEg>VrWG&+W-g^q{554%T*?-ldmIL#fy`@1GlWY0!b(7ank+YI_1>~ZJ(mdA;{w~kQ|Pub zS&~Sq0Rc(dSujXl7%Lae4G^+DiAD!~L_UH)bo%QJu=jzp6uQHcVQ^}IdJS{|{qrh5 z^m(ZP)_3La;9*v~g?jq}km{lkQt9V1VbNZ_N*wt?{iIGY!-S^FSR@${(l#>Gre6&5 zYUF^r#8fXfzw---*N%%6$L&AnhL1ZqAhE{c;zxh>Bj_KhYQO`U!(;$fs;4GvA3pqr z{uQcOe21VzM?6?a?!X?-%VC)+mLaiW@FD^6b*hmpSQEW`t98`8<^d?cmuMM9p^{BFV*>T+_3O_ z-C{Qq9#9N&;@o|BhWF{U1)z*8SEu7qcn=X9ZzfYO7bJp%XP3n{?Fugr13ymb1Bi%S z-L9;li1Ykubx^`v=6bHxO!*d<`N!Lr6?u8)aLQ4S_J)-ROt`z0Ov zHRY>nhB)}G3GM}WQQV9G4x8dHR0cJp*+Zwt+5!wA4-X?7M*mbatM$F!?}QnD*)p)B zZTNsqcBZ=}!7e_6ROpK`yGB?f2PnBQR4}T&ST5F!mK3Fl5uPqMy@X#W1EuRH+hx}( zB_29Ko_wSC9{kZq^)^A*Cjtv@F{id6q+;=Ri`Hr%TW%-lciX4=EC%E7 zo^!&JX4Xhef+F<$-IW6Xz`JH?IXr&^_{5$3n3o#ePOLiobmB}O^5;_krYVhqC6C-< zM!VcF;cIl$E}Nvx37Tv9p9b_gRUk_lV|!t`2AI&o-G0dZAJvp&&@P9}Wn>ETYP`?C z_#8JAi&$v3p!b&0c|T7#?=HSJiX{Gz-eU%5`V+U%+_VRam>ZESz`%gRTVkM3NE@o& z8#Mc{FiHCm=iq%Vogz*QeW-ir^dNS!o~XMO#E;_S#dH+EcoT~I<%n{27Zn|s9?_!- zH2^oQ%W(>hHg2|Un#NCq!-p7fg+_)tCxF5wQ-e^LZX2n&3%3-LkpMseO_};GdWb9h zVmIm>Tpyr(`%E4=Y7slutRq!KXY5NH#3kDOz9}=pMD%goUr!Rl`PhIK0h7Kpie$_#VJ;S3d zAdzo*(88(b$<5 z`F_ze4OT4yV_2+oXc+5VgjY9b40@h!IqjxHOcria+rtgU47UcRQfht2*39_3wpu-} za-N9jo7S~T!b8PVusy`Osy}&yFR<+1_YuVF@jMh$Q;(>tm+Bx<-A66@?^QWpT9I&7 z5TZF$Ha&Jae)Nf9mLdkDFir5xEo^jJT0;w#(Vwi$?H2nsN%_i?)5M_5brU;h^*}M- zd2rK<09*ruC?Q|OLw*at;6<_XeybD^&hYM|+f4Mt#_`vt9kW5lvByIb+rxQn1ufKY z!&d}I2H=lM(q~8JCLx&}ov6P(d>jOeWgILUj^{l|L(S2A3>#r)9yK-fz^M;zgz2M$ zVg>aWM@s7bKIQJUuX$Bm2TZ{~;l!SKCRF;!3wn~Y>ut;XnQY9`md}vVOmO}BHyHrT z8m4YCk*^RPlj1pP?mNAXwU<||??jT&H z6ClF{Helf<4WZs|v4;(dCu>6PL69#9UUv3g)7NZQVC5*NCvHFHy;h2-Z-*vAkm6 zdu7cCSo%cfjlJOFg=tdpnK(FcqS4yzYQtWZol!lMH~cQY{} zF#$NT-jICY4T#)$6$3-o_vdm?dAyjDWv?F?!y$f)~jqW_Ya^~w^wH$-gxBi zVaWKO!|i`k!=0vUQyT9!xdoY~=*+s>XSr>NO7sdpfk+dfO@;gTl1@8b?bfq(f!XRH0_v4|M^g7{lO)HZ2?Rna+bP2ptQ#YGll2fYXPnObJxGV2b)gTzW!kDY}TaKDZ!a{V#}U;3zlTGpt6E z*d&3_^qn-|r5w$6Fv#&n0CeWocHdTMzXTos(i|p~Ctpjx81=jK3T*YoNM4%=_PkmZPK?<_%~Qk| zQ3-G;^!fn&?9_x;>KhvyY)0ma;$~vxMI=^nXBbhYS*Q^sz%~*aeDEK})tt?Z{v~Qj zwbk||VDjma!pZa}owsnlTsjoY>W4=W>KXJjF}5AgZsbXNCGa)Xh|Zi{de+RJ8&I&R zquoW3kG3B5az{F4$y0LchR+mVcub$Dn2^TARMyrNpT$o8JuK0IiG49pC@Kl*xU9^) z=zRq-y81LXmW=_AZ7)>C!yC6mq_=BK^E&{B7zG7(wAcjwwQ+cZxFZp4(Kk@pgc_kl zQ1n;Z8=o|Ml9a?EpF*T^mzy-~ZbPOv1!u+W$@h_#rK_2(_}`}Qs+RRN=LI9#0>qCz zPcnupJ2?s+maNc(rFIPz2UPJcv2cyESNvjyN!5@A7hP`Z*IQ)1*iJmmKNI`n(5%Qr zO1d)hR=r~`f4S;zM0awCdE{8V=Wyrx>=4OmpJf|xd>RPFlEVU$t zIr3^GXmsu@mp#rt52CbGkE7n0bAX6v4GI4c7E5O=?gl4I6EEaWP<_ipgv3G#fTX~^ z4bYZ^4_LKGH&_OHE9HTn{y4_<1*l^1=&{dm(VA`kqxCuurJ~y}6hFY7IznIe1ivH# z9w$1;!PQHt^dp8hYFsD06RxQY$QCtTr06MC_4bW6R6F7BfN+$H*qjN5@vt8(K6pKi z_XQ-IM!t@0B85JDr~cncOKnZqFD=ceqy(23&~w0G+A3=CZCD{{Q)Z`t>|j);lOL(% zT;mNy<-5~{n)g3_sHxsE(@ULY+xdhAcTv|ArKC7sZ6Otr#169IR%B=Iqel~NgJC$u zgtrQ!V8j0BFF^P~jp9&{Ifr1MZ50%iKStSqSvU)x}oVZJ%jFZq|9uH z2z?vVMZ|H_M%&-7>z3{qe%44^lHIySwzQh;)|>N!R#(xvysJ}o>B@lK%A_Ya#QN^m ziXj`H{MQsNOEPpd6oZ!ebT_PHX)OP>#%4E03Rd?YT?-T&R#_~lX#f0#$Tq-z7j)Q5 z?X13+$W!%gbPiKU2D_5?d-}cE2{;2-p73&?^`B3FNJ?U4dAP`IAC9pPJTaqLHE*Zi ze=4)}tMc>el^U%!gFJD6jl_V2WJx&qe4{}u8?y%* zYye*8VjLqDcHu>-UPBDO`~vbZ=2hAw%7VB4z|4bTHv?nta<;{|@vx8}2xHw<@P3s|L{cCtRjCtfGvOgf&Bt30Z4oyO->^< zTw_>!t4Xq{iOKyn3XGcf&f~6uf#kFe)Wbl?Vzv9SO%ZJc*>!#eNpLjw>u>0$L?2k6 zZsfw>%tu8>i+tRA{P8g{UZxT^%452CF@J2vJAf_(`;*ZdWqq(ZJdKXo1YL1#tfaei ziV8K_cE6**}K88Di;98UP}R(Y@?n=Ho-Wa^pq8pCCILlHB0O@Qz2@R@p!mJGA& z;@-14`3-8&PSC{&hfl|`w7cfLw5nS9=LQPpvh8{nm(Cl7y>9-TQuRw)tF5fnzQB{j zxqXFC;yVz}M{}ErN=%8`M{>TH;){vDmzmkDD0V3EpGzGJgwu)V7h+t_IL5=n!@aBR zD&MAAkLXeMOy;8SgH`ffl>2g@af|ua^S{1!g!@?k+B5$sNae{==lDbh+>3*lkIj1U z-EmIq{bkPmC2<9AE3uUJ;XkMzWk{?XCQzY=F_@PK8@nX-zgY{J-7U_C+}~n&tCe*^ zVffC0c4iwW*G&}ie~*D?1tihvmLgD%`wm2(qi`v~VLgMZT1rMgGa=FPdmY zCtQGnMigd-xdL6V|B!u`hMK`n$>5Amox&dpDxHt zilqnoEjts-%9!CY^oQ(qq7o)DUFe7s>+J@$8cD$T}f>I<}?57~>r4L9BoLDPgP zJm)6ze_ANe`Kr1YM^(d1wq2fS=j{l6o+6`u-qXrkL-u9JJ!TG3IN7KB0>KSXxG|t@s%Y?Fy2IVmPYzeM#!I4# zPI&oWDr1#$`4BCVZJIzY0Ulgd$SgpNd1(D-#3?KM*r^-4RQ>Q-iOGr5fieruMdw2< z6=*P2AE~A{3^rnY{UCSAF*|-k;29^9X9_p~qSw8OJhVq|a=ko;#bteQY_y%6%AY`w zK>%RKg5FP_{{Z{Cc2V2^vSL{vBlp&=8x>GB5{uwvo<#u!l22O}vxhGj{*WpL`sf6R903HjrX z#s7mQfba|=Yvi|N9UP(@^SNbScg7-;7j-O>#bL0CN^=fHjZd55+L2rh&QV(51(5H) z1}G9ZWe@dfBr{FJ)IO^k;{WCgzOvSD(tQs@@lHimjTok5NG9}eTtX%_UVkmKH{X1i zriPHcj4!V&^|fcNCN4L{s1fSS_PzbQ{Fw%=1}2lKswq4#m!4PV?~hNY1cZH&_U;*F-D7h<2*ZZ;X7Y>~j@J>>^sPUB5JKqDDTT&b^@&mAIv7GWSKtS}%Q9)!J#$vU=D&X#90$s;)5g z&z$|o>RAr^!rwkh9`77KlaWXMQfsswjQGNw)%5(l7qbC(ui6~+?Ih)yF^1S@LgTQY z)UEW5q=Guy>1P^$st1-lQRc7>t>l~P%gyWRCk%DD<&L6DRNdG>o=`*Yhr+uhy0=X1{cWD5xhClI6q5g>g`EI$gO(vJ(gbre^BmS6y8Il~7=5p7J8 zum(wG{B+`qpx`0$K5Dm}et-P${@Bo`w!?6j+M@LB+a6W+*KqTl^uH~AiKk3}jmpdL7hgLd z+UqYf#CO6ON+gQ$WWu>;PE0z2+A*$Ee4(?khXFX;1(zR8hlepToLPH~1OTw~(rOZ& z-#)FZdS+8S6od8?*ih}cPCaOU004uU=+DQ+FMlsi3}IiHosC{G@2eDzeGi)Lwb~$r z5L=_A$FbX`R4D4`QU_DN?4PlG-K#wrT#m@-vA-5hioLCm2$96wzu60+dtEa&^VqR+ zc{o1|&wb9OC4`SgNS;)bNhz*QpQGZm&zs)jy&!Av-nY)*12p~8Kp_%Zblf~|>Gh`f zv1R265JT2uc9uBii8_Bx#@z$y?%iJ=+Mi%WN$f4rzWHAG{*N*|)3Dl<=F;;DGkqEe zR>^+YjD0@#`VVz;(P;#-b0q1%@EEb_xH|_jJ`jd>1ABQYjFe7^69E7-*F7vXUZxHR2fkQqB|q_Diiu>#SLPOX(<8m3XzIs<4{m_WZ0iesIt zRaDYHVgOaY6AU;pBj7(ck4um^|I@O7MpD!-P=mVZ_=0odJBh!q+4aFT)8l};Y-dyx zdjeCjIiw{qEM!6aJ(w2|wz_s7Uyuc!t8FnV#;g;5#8}4@{!YhkGeI0Q%s#!+ny04k z4CSKXHMC?8M-+n0c82EBlKJF3{KD{LsInBg0yOT7VZmsXpA~YZH#}=a>L0%%CbD z4%-;l2Cr*PqEF2-ckVLSN)B8P^1mm~cQVyz#(1k~$2|f|{al2Y9h#5p5 zS^#|+F8EB)JS-T0QEOV{7ncL{#l^!nx8E55m!6P6l6JS4yY(XZ~e5y9gKiN$QcIX^~(~}=1t24 zn~^5z#XIfHQAomfc2n;IP?d#EF*kADOq-58=P-^L8dV_OT4r$7N1|J z&ofm$Ra%CD=i12l1&rDQPww0AYoG3()CHKyKPn%=H_jJei4-zl12JD!(BsGE`ztyh z=`FyK$uxn$a`*QWM&=&x`Gk;JF^;U!^vTa_54$4A$Xxvko(ojsJCzR2wOuT!V`byD zBkK&&BBgkKtA{pnVqe0y>&%z`CBurb$g*hu^GpDdptT01L*l7Hx((UJa6I4puerqh z7ExX}Mc;(v2a8+-j$|Lu6Uond(ic}+PdE=&zNohYsedrP03Luapatj#aYSpygVYN! zNrQo6?SL4WEU)miRCC99{DC^zN1peu`#AJR6Qo|Wb+PGdCy3K?yH7xtoI@|#^5sn6TY&H ze2h#9`~`8G$tshh(4in*g_h8#g*TR~!tsjHXQaE8=QS7!d~6)X1!avgGWcA?x{*gO zwAU4^H!NYbBZFB~U&o5a(@|bwJAA+6AteV3pxL4RlG|@u4xFNKTZf12N~@*SrcGkM z708{L9XPEpaC;XTED4Sv8Hw`R9dCVcSP2({*cb~4h5?ND8|j%=xPyu2bb^)_6OHCp zwxF;iwMcTou(7%{ljP=?l`!UXB&aL!Wt8)T-ho6X?iOIrNKZG_v`YnjF8dDjIMcVO|k`Ucc3?kFsjG zJpRcPHcGTu`7WWmF8*`Cl_D7(*~u?G5)Ee>YJ({pGUaJhCzb>D>2+V`PL%4=8sdRiW@{b06iX>A#eE=b!Eo@QA~ zkYmU|2kP{vWAQ=N3FyIBQ&p{R*q=A|iZ>XnN{TcB7g>4fj)Z~9hKqFKF|GE`zde6a zTH%vA(AQUaZ=y8#=rQM5O>NGq<~7>d~G2QET%U8VDuCAY>VPP(?> zDAWjxC|c1zT6nI2-?5|!GBaOKMI50fg60mT4_*JJ7IN4FPnM5?vTMU%6ytjwBM&F$ z-5nKjC0l_k=IRK%{06N7J9k;Y57 zMyTV23qBL8;n&Ionk7nSRPHn%XOXr)YPlm5m*8&>t%zrUf-Hnp34!Y<+mj9#eMsmf z#dvV|)l`qNeJR8v*K?CFbdMIg78Hu&q2>p&nqd(hrVi!t8Ndan!Dah|%=6fj!vD6| z*2`rWd2ik2qnv2@#y^1dipnFb*-3hgow54Mg71kJb!Zz04j&Mx1%*Ue$XhjnnDKr5 z%#ZOz3MNe)dL>i64jE*dNd$C>!(joBw_ba^m`2UZZ=v8DP#275X>D?@N~T1*8c@bu?m~9QIps z*tMbEY`-=T)K7)A-p#7_)^kX$%}m@@=HtTD94;jrlV5e(1fwGynu3UB*Wz+>ZKw%N|h} zl%GV z@2~w5rT^XN%KUPJzCS7!uB-{v9Os z_Ya=1+z7H&;Yn%jLmoiX&ww;Pi{Jq%+Uc*6V+ObFFW(JGDS0FRvd*OX=Q_k;YC{j8 z<-dN*v0I^I?QU9{tm1Y;C8O z6jiNvrLo_AwFpuUYnL0Z?l5e}&;|?*k@OHd5!fvH?^eeNQcSp&2B^F)H2`hTUz(OT zo-qh5N$$5Pz>o5;bQo9wCD~4>$`_du9jKs-L-Y$QQW<2>-5Vaf*#xS8BqC6CPrslWX%IBbF8AGP zyQvw+XnK{ayGAmnkRMPM>{bCS)6@I4@IqG2cDjx2)3;STeIDvMQoBXc(885YpXR{m zZnvNF1LjT?R9mI$xz>TSO0-r(D0?_{&B}Ugd<=aHc6138oV*_ILkIP1Vq#+jHrAz| zo{nt#`iL@`4TYUt+ynFhG3eQdSlE@o=kbb(5 zMsiT@S15A9^Ry&i0LS0+wXYo39$ti-2nXG`n_-bN-S0BF*DE6+Vr2K2rx(`*H(88` z742uU$RDLgZO>f=4GHfavSUgJ^L}0s`yDx5Xe~Fm&g&zWNnwS2ZKs&mE~R_X^7)4i zzN1L;dKTbW*~J;l?Np--(~R}b(5EN zSFYU&fZi=VqX(~L{B-slNGPuQS`d?Z&_`T1ou@-88qYP*NA9s#@o~TUcVa8Gos?w99Ru z3;;3hT(O-<6a?!Z385T^V&2YAixZnxq7`9&$eXB;{1 zQMNHc6&JctTvF0`AYhlN<4L7jEn1e7N>BSfPv>gqu5Tm*(-7chz$b~56vf^Psw{?I zkdDu>~?rt8K&L&-~E;0X7NLFD4f}G#aIREac+;FN5zE_rPwON6XEwvtNg>?{OP#x+1f_weGJJ^n0(i z8mIGa=cts2Jl(IE4XUWc{8tTF@u2v?GAlVn<+0r<$i&o7c!MW(gV^;!nxainm^ff} zSC@+L-WL{~zUjnXeH7BqM3_S!w&Z+VDKXxl5#kwo}IWtS}`)tPyzXYXX_LK}%eDRwdm$p0VXe`0i4 z#)~jjbojTScq;4xkV=8KSo)WimvSgF{a&!;X9P^a3gC3kNK8P3r58SMjQ;aSqzwf1cm(kh9cxpM53(P)GePYK7D36NP1lYoTMKb-l6jYjWij zFa`1GtAtt0ds5eVfZyc&db>s#pje<$`SD{ML=>>b2eXOd=G^Fb!-NKBdV@-N_I-e zj}|7r;S8}XZn;+(*GeM0gHP5<@sBQDs_r%W^JeR+OcEjt*=(NDLoyO|Px%IOlu|ZL zRDw4akOS1!kkrm6Gr#tT0qCdn%-82N+>3A;a8V2&$xp6-cR3BKy!pT9 zE13-S8Yo;F*K`i%JzutEV{-KslT%nPJcqFvQW+dLz8>Nb=ou2ddGVL*_<M68MEB# zPlMMhpkv0RGlqVcQ>p=B5wWD}z=+mzP5^tyE_1*0>OL>xt;&3V(7fhn74xzTLMFT- zadMf7aT71s;3hrf7=yDO7B}GZt0@zeyqW;su2H(#>HEjmg2m?+*&gm%zq>nv2!&{L zQ1izz4hKm|@0ptg8H5ERJq}m7lx&FG1c_t!|3Gid5k6CU2f0SDJyb=cMF)rZ1r?;W zWXu&v9RZu%2l*A3m34+Z-eLIH*r#-Qt(+XV3=Cc$FyYgH@U|6{2YRmvP6FgI9}+`Qjii1!~f( zebgmLds+@4_G|#2VGxGEsZ)NBkgh*F7fJr{=i-bg-r~Cj>OeHc*$^Q|+>Trj_6SHK zdOzU|h^&{oidKcJf2{1BCg)@-XUxP1O&;Mpl@!&~J`esZ)7To-wI@X-(w9La{m=(X zLAP*A|GBIB&-Zojw+XMoyJ_-56VdO%bbnrz&VzB2ocp?dFZAS2@R{X<#~C=Mct~+| z%kUpC?in>V0(n)xIJ|#{hcII9WLy5MyjgFwXOlc0XTr&iGSK&R^c$ypriqD7P_uyQ z#^`7hZn#)ViotAF1cf}8HQ9J>Ct{BJoF74KhIJQr<|%dB%U&ebob2cc04PO2Sce5C zLqC@CCC(UD{n!$3Wep7H+n^NDB+jSw7X@LL@|gU_{qn}xP$Nr_e~!ZW*-LDC4tIk} z)6tcn*~^&5xPqSxQ6AiSIcp(%!S(k}_aNE4)Q@59dXo!38B;d3xl-_UOK zJ`dYp$adANIiDCryPX{z>m{0S{u_H~Fgc0d=x>)6q`+vh(~RsITlVO&&h|(+%g5@; zp4$B$ye0+S3xP@|c^&65Nz2iNVhMwnqazsakrL!@3sPDA8~&2+C88 zo+S8nl7ep&cJLsbvW&5-u5BH|OfwxxR|aR&F90I|@6c{NQv^m8nGEHFBVdb5z5He! z=U$rv%Md5BTqWvj!!8O+g&d1aY0k65G)8+fV-emh|2)E8b7$t+PLzjJv1meFZeG-c zi8H_(u>aEb-W+0xb&`xN;48ygER)fOs*zIHeZO7VIBH>ft_#uLg#L9|?fMz?ykfMU z#rcvl+rIW&hXeL`7{OuT$KyJ^_fCzw;Uc)Ob#nh{?Vg+%?h3eM3u-m8Y2n7 ztamWbfORG@-0)d4iC*3q0PuHq}7qD3_t%JFY|6Zajrbu*w<1o=>4Gil9vJ z>4!Um^YwET3Pvy=v?YfVDTAjn&Jl&KN|LO0HmSq}^kNx$wNWEV{QV{&M zPwdbia>i~Y=~{OrLQhJ~>(PeesrLSx<$!_$DzxW*snx$i0ySGmr-s{epTl;=^W$#f zC_>Y46$AtBq{zkKXc3%!{$N&4dr(gGIH5rZWLiRz9QRL=N9|xY~ z@B)v)Yn7OKHeGgrq(US8c_J5@2?>Aci``cc=d!G0(bRFs(fTV$TR-g5se`CmVLn4L zg_EJrMjF6QQSb7yI!n`)8~;b;HBYsLGNe^Llj5$*qd3!{nBK@?P+@a~CTW=T&Pq4V zZ%Q*@OaJGBit$0JM~W?~(g=%1_*)-~+zx;jBnJ|0=76P#a^O%2L!EhFCF)WN4F6&x zmGh!F^Zl626I@&RHWl$HA_DcJvDa5}PQo(7bJRtqI%p*HDB8g(_?avN?MUZojU!VX zcp7!fg7Or6HXuqQuz3fLFZXZK^kjm65$AZ0D@wq8pxlQ(hUk~Wpn`)hN@s{=ux9E8 z1|loG_0_nr({1Oef3-Thj+Z*D4_bNwgWyCapVvM7{#Al0C-QL_R0AJ}>;N{EcjR76 zbKDcs7*m-{fA)F*a1Ws@ad=%iT@OaE?=JD%9qr9cS@GH?|lX!NoGcUgACu&+`c(J6p1iMZ?%gr|+Mcx3of@Rofq4Ti_YY6lR&&K7GIE zwdZJL`12LXj-^y}5jBw7>#{$v8(5g?na=QBrVLH<_a7KCB;(Cswo0xr$X1_=e4|Y> z$SJQ|^X=Z;ZZAtH`r)|+J(beNc(w9%&6P-!4-Rj;X>gD95ey`jinA?ecZKw1WtO4C zj|LZviFi?NarlrT-Zhegvm~w@CZFlV!FcO?#hApyTaO(4Ux^g9718GnkKDBHefIi~ z68LDr;dcL33JdX9m-U;n=T3GaQVI%@-+x(m+S?%|E(QMY@k$SR1JZOn|6ZirNoMKa zCkeTc*Esk=S(tPozbJy-wAqmtK|osS;Z*+i#e?#@_~%0FV0H}n&`0iUloWlTazYoJ zj&K~a&NfY3Pcf?JhG>fJw!*+*=1xZYcTO>h z@PyrMK$;#(aj*@lb?I0j^Ju5viQqJVKwpnSK8qViWNRU`xouV?b^QnHj*Vcr6O4d5 zswvjn|DGp<$OeBkW)PbgHL*X!;@|=C^hx#Qm4s!;W!tJO*PguI?FP@nRv+FQnqVS6 zoaq^G_E^6Fv7DvoKwV-)K@!$mXi`$oCBIG=1PQ|NQ3q6vtmrm0h=qH!ZYDSAN~%@A z++Y6L>F`dWi@th}jsM~Au(f4QFU!l1X19mC;<)w7|K#q~9ybqCO4^%9W6|^J)1DS? zMUN68#^LRJ7lVmkl8w1Zi0OjfGQP{=vz!F|mA7L{G1{%A_`k7U@F`9Z(8 zP*8-eyu8b3EcQjSI(!rf65+A3Zx}pdNas+VL%qk~MT;aEepXYzYUQ;7icqLFxfn8i zhxX?oGQE$nQb_U2V8KXq3q_qV!CzscIpQ7OO!Y6DH!REpOIbFZBmUFR57W}Sm5!>8 zjxLWIXf5K~!3aHln5(vU$iD|-$dstBGT+-%>&>8Q8Y|>q?bdq$-zIU`h#oesci9M;Iz9#!Q3ULkDGrgg~*id~9DP8kf{ea5aiZ}Wd zVY2VpJujUMs@^f{n}5>3y;IvuK10@+O22k`F}REEK5HQ}g{+9!w#qXE-j@)8jN#2|8vm!Eiio_GIE$rkk})Nw4g0=Tbj z3gYsV%f8`VVk-b%TWM+f23~EZU zq)xe#QqOGHT0B-g&EX>oq}`$GYiyoMLu>smDRq0ecMo{8xt zR}S+9gyUF(Xa6Eers74+p66gq@q@PM;ln3Bc9MDp+K;SOPO;n0XEuU5IN0sl=$fu1 zTYITm!=1gof8W5EbjI#m%-#sn<=Vk@#QhXQ#dtM^(MMF$-)Z6SWl+*wePt+RB}r-G zl9i!K;f2TVmrh{1j$@so!FgW1n9a~gQ^Tuhp}}%c^h5Lv5F6rJS?wkKAt8ge!9vMf zVAa|}u@$&Ti_I+N1ky*%CsHAqsJbFqy4(W~+Bsqx!<{ zG;VLRRWRJM-3O%+^-d||tOti{?Xk8xg8(p~tF#!hUuON4T2(JF^!Fe^! z!An$fvEV!G^o5?Uz}LPvcs}m}&t93XoxgEf{aRCrG!eJ;K3vwO2nfgFPAJ}IH4pnS z8+3h1iax^hTJAjV_%>!H;xN5l7(cO?B|1NhZ2YxG9Z;kRcZyZ1WTe{LFE9J-i43~N z2i+IvdGX{0Uztd>ns5Dgv5Wh^p5Z_Dm=g@0+(3_z9mE=k>~0O_kskB z@1bC*)ok;!9KA?Up!B=3zP6&KX0nQ;`zlMjGh_Zr?smKy%WX0|c&5(IgX@r#Wr;mt?r2BJZMHFp_|LhOF29 zS3}1-?~&Z6tM>*G%(0%ka7DqZEz!F84`Q^!X@YNN6dE!!$OntJHx$-{rO)Z^j6z^X zUtfdEQlOrI4FTDvYNj)SQHHh>mla?HuoJvJmWdF8|E98xx%HND+Nrog{Aa67(@UJR z!E#V?mI09;S?F7fp%lnyk3rP+PTc(A- zH3rZy^hcx$Pv8_={ z$Z(G8G(VPMxcs;bU7L)E7HAs6HK7(Gl_3NehIWJBUh}@8n|nTw0pP}lNjVM#T;;Ua zyxh}FF`o3Y==2u!#l5hz#A;IdaMm`()}{j+GNl_~qZ%4M%o=ltZ2NgX!Vk^UD?Dm^ zvW0~s^X;Er0TvG}EN;Jvs%ET^0 z-5}=Q<9%n|zrSTl$-8LC2nm=>7pk&w`gVQzXuWmqJI&6m+TR{Q6V!a%DzX&I1tI2{ zG*-591w+LETS7$ue0GxY=|{Hqg7QoGmuq#uMRbV%yY3$7*rYx^P){#?M>3y^anZGH3ao& z>~{O0I8+(2``ii1D9AuvBs0X|asUByH(UcQmR8P6fvSMuM4O$*&#=Ndr4}QKOQ008 zQ5Po;QBE2VXyFa83rxBB``5r18_0GyBXrnov6lawNy^k&@RguGoS|ODg?Kl%{tY_o zdl`&JB@u|_-(5o%5&ew{HfdUB^;lAFQYI+GoZ=`(hp1_UKB1)~DSEcyYlkvW3OzJ2IB?MvJymL-NS6KTC`V z9NcUvT)F=hTcXG)3dX`r2or;+Q9*5Z2oMp(>?T&Gjv&tn7ON$wbCk~~o?ZPssTVkP zoVYS_9Bn#$0S9@t6zeLPwly#2(7D*THTVucW=2iG4{L-E81IcEBDSFB)JPN!3(B3g zqRU=F?$CmDw@H^Eo$cGa_(hQb zvPF^c>_P;oj7G-7yPJMGbyjm*w!t8H-0^>1h{h?ZgDyML=LBtajO(E}ScgG(i#O=z z+63!~5-#9pGfzm=7z)OHYvct zJlBcx>xk?ov@1*^o7a1!Y|;Kxkk4sYId?ls3Lc?Z%NAu=I`~F+G($pv>=*m<^cg!+ zY|g0bGeqBY5jeg2Z!fo*Fv>7NKR6ZEl(V9OQ;fanPf}IS|D}gWVd#sphM*G(6SiKS?}c`Uj(V<369-Ys(T%@u9Ey)X zosQ&Rry5}W+K;NYRrgdkwMiFVOx?JwQ#3sG>TkUdZDgQ8o{zaotFQWG9WD+8)e-OY*wgLU;qHOnEB;2hkS9LB zwbo-n06J?i2AltJ%Y{q7sa-{d=xl0A&)VauhlxKkluhSOuwUAbu6J)}jNb{D#^$1* zl-Kq+Oj=+y0Y9{i_Ln`fhlxd15mKgq7jJq43z4Jpx~Tpk8pq3Q$51z5jQ+-dGFfcL z$<=bMF+23x`%tkA$yy`H-3c>#_IX1yBN`#)IjndehgF5QJ@Qui{WqwFqu=gkLc{Q( z{LhP#-^9y7?_ULnyPBEW0#fAKKpP$Q(?Ykz-(Z$zGmAW_ZWK+{U-u*2^CK`Q(Y`aY zqRVuC&4ZsOj;Lw3Z*EsPVYPynM*VmY79&CojrkRK`%=DaxIUkITd+Ga#r6%h4?-*I zZxtX41wl~T_+UfCzbM9^J;cN~`*%N{JpHSspuA{3)Ta_*`Vw?k`RZ|OJF~2#cWqU9 zJ?K9{VzO0WcleOWJsBxTSTlb~Wz+KgZ+>_gF0}L?BLj7xnVGsfJ0$u2pw=}w5jY}w zD6|aNSz{#w`!irfafhq&sXm8e8dRz9sxE_GsG^>Y^htgk;NucXxaAwAk)l-&@`U1o zCI>!L%cM-M975CvI4jm3Q=*W?X#D_5mnRVKU>@tgvYraw3LVJh+j#8bJ6%|0ibN^N zW&hbF?-Fj1VkqR4MqjFFaL;9LVfA3zYx$y;L*QG5L|;$=bwI`q1Pby*+>KghGexSS z%pW$mo!hD60}Q26@vKRc^qgS@)4C0r4oN5!#N$j!ScI;GF5{oFV?beoT>SOY%O!)E zFa&xQA1r}S@3`AOzmkEK_>s6ptL@D;(;k)`N_w@`d-onuxOF~bsim%(e+2!^%#NRgPp@^SiZ@(K)sjctiVVK$0zuDaH zkHPU6=N-BGz!jUoNnP*H6w~b;SAKyFPg9Ag9&rb&6}RfvA3t8B{-y6LWF#4}&7BieABwO8etTbvX?Fq|k~7s#7J;9)N!-pmSza#)D_ z{m2195)Jz{??%SW|9r$K{(53pIUZf6o_qZE`nO}S*NU}Ux1C19Xw&(iHJP_=La_*$@=cf?bzOZuSXtVRY2d}qjvy<~ZwDIrLj--2hm2v&oKH7pd@S5s> zcGHS?FZOYgrx1jFXl2O1(f18bNzKR<@jHp~A}iC!#=OVzU}WzNTXXPVB|h-we@vpz zli-uUD-o7Eucu$i>vGZm$!KW;2YVY#?xD)S5b$pKRq&<3{njMS*sF(4vJSJwJ(ZMz z&?tn~31ciE1IAc>cDoz&_xtciThCzv)^XO`J$-FO_5~c~5Bi_vP{i7VZkT}wCLc97F{l$ZA3&Vjj2e%t_N z(E+~9hhxq=AuA#)rAT;8>sr9nM26TBchUnVJNxS6jq)0idq}PUxx^K20D6hy6{;YE zj8gs91E5wlX3nIyD{S-9z>8C8FD_19_3*dDs?CN2cNBmXII~ZpN`DcW8O}zWQsgeN z^d;%(RE$sS<;zy`Y2^R|twTn6`ypLptWatxtYK_&$cJC@26YRG*U^t*@5>DXxW&X4 zYlI8j;bEmaU=_%IF*u){( zYL1?^Mp$GeA5@XGjJd5S#jow`$`jw#7}b6|`c=&JBE1<<6dNvSo@{kp+U$9(mQc5g z{>y84*dDfv)mFg}yZG^hzp=rhgrnZ3e-vRhpZG==dV|Z9AYeCMhiUX*TJpa{+0xp- zmQZotcfk^m=-4#kKmLnZ4*R$x&%#-^e?91kFNV_C^^Qtu&hKU&GyJ^6+__vNov+m74^34+uOZ7vrNx%>;fg}^AV;L&w<6nV|TNsedK*j z0Y2b4no@F%%rqzW#ys$;rRyqIz5r{rkQ+k+fpyk2f5Zd*L8NQHMKC}E34tnUcSl1> z@Jqc9bayo%=nw=9k(lCa%-hKf`lX*#3+0<6G`cJLEBcv7<;!W`t!@>~#nN~Go1kuH zeSJdqas{7OV>Xq}BqJ1@TP-n*GNCvz8Betm<`$-nHw$$MERFG0EFEHAWRzZI1@OG1 zBWgbU6c(Lm4ISFTyB9XeS>>l)wpSSmz`Feu~GqKcB4|eNwn> zEAO+g6LMR}o0ekC2oSMsOOwx`Z|WC@vkLA~9UXcM1j#z(&?KCP@B9i>)u+b>#Yz&~ zz-Ur0sS2p|ajw8GztbmxLtL0P(^EPW@{Ld^*w`|-5@7Xs`Dl;4S}DP{cK(>nI=vhB z$@Lg{5F{6$p31DE9?7au!G+#C9ocWKRMz6P=kUj-5Y+U$+Xn*!n@!3zFB!j z&z{Z1P6&%je@FDQhU0)5ka9x!;(Bu=ILA@Z7R56vFF(}tt!luvMz)OckgQol>-bASzhm$% z_RrSeFwpE_QoR%5=GM<)H;8~W-A24E>jsP3!NMyOYUHf!&nneb!C2z+y2J9KxKD?3 z)wNDemlHqyTNBXQP6s2RQQJNeTq=Na56$@*`B%E)1^YoC~{@ ztb!?Nb?p{t!|Hd8!F|nOJvXI*~7(@S>|~Qzkkr(L7B$kB%bSkbGs&V=uu8kz1Pr(T!F8I_qi!j zpkJq3q;GKGLAKph9cWv}$hbxAI?F=S{n$*|H2?tTcfgpHIhkouxZiNOg1 zsJw7~gi`2P>T**Kuipu*>&t*yrd0iTwImk0!5TkfKmQ2w{7z0)Pzz}`Q!S~wmWktjj-l{m@C#zSRg+{MB{iB?cmb1>picdF% zs&t6&kprniQ5(2yHY$W_q;V?$BK<6}z<$ytp-$hgJTwxp9vZkDe7(#dtZD%{jsbrr z50AGuPbaP864k0(i%+piqG}s`Eq#EhTbS! z3!J|03sV#psmP!ab?23gdqLX>#eFB2XYLG_0T_85)Y75V3JVl@moke}HHr z%8T=h>^hX9yKcW-N=oa~FHjeZrdl$n*8Qm-1HwP;Tx_B^EiPu}sZU|Ha8l)76&^wM zP{}J%ot$k^y;+J4TG4#p3~ffMkLlL{yqe(jPEp9$VA4Zy0Kalmz z5NR`-Cl_7|xQ};3_!viPz^B zA{ZZ3QuR3|;id4OOwx299rlXf3Ro|KRg@U-0eE5Jh*B@yFJqk%&v~Wc{U)9Lef_%; zgmpJF20~Um(vJ{fx*(GH0PFFe?D|_f4;AL}*4UZ)&z{xpT-&2t^{D|>Ns%^tuS)sB z70>~0cwZXY+dOiSF|mzyr2@WHG*YgT#&MVaH{ACNHc$aJBFJ_TKj*HjBL8MT)6mbV z;SsUA=i_DXQ=%CbnNXAAA0xfZi(Xxs71oFR{qB%Scdae=Ydk1?A?GpKfItG?*7v6O z(6q(H(X(DHWd(VpHF4hK9L)kJ(!mF$x&tw>(dP&}Wd5Ol5p-Mjzh1rX$MJVuDs4uL zTH4$nc^DYjP5Y@2x)S$Q5xbhAQ zcPX8u|4krr>W8?c{%&~l1_tW4j+{xj3#zQ>bEIzDsm-s4JF^`spuCa z@&~+&ZvW_i&(%#ah8^vr362Vnx(Ts-WEOvgxxl~&J<9KOI^SK7;vIdiitlG;4e7&u zrdQe&Dh6OM&l*6v7#3wW70X6S024ql>D>lh*io@TEbDGwN^WCc{H<-y;Zj)?%Lemw zT^w?Qd0CNK(J(_bPPZNDT&qp7+cT`1O8y*abT!usH95#tISwwz+$v8@{vQI882@q17q1od=eM``(V$5hY zxsV;?PEL)vKmjLEDg5xpd1Z7r!8a271C?5ZVeMy*WYrqdBMdN-~rd4Uef13H3x0YE%8*vX+V%Z#Nz2BKq+l)KZb*-^mlm z=_?a!_?ax(uE=JZMfo~5Sk6jg>O=gce%JC`$|=(euP zhK&sjib~Vat9si3l2xqms30|biCsyBY7RSM01D@-&CIy0DGZ24FdPE4U7FV(emkZr z@)##oc%IE}Q~elv+%BghuN>YSIm+xn9Sy*ne0Q3IXKaK;%KiPeX1~MRq}vW@Ws(6@ z6=e1Q*v&}VtS{9QSkYXpbl8p(USBP}=}cx){@oGn;kO!47KmhHsf)ioqWx#!LC|*6 zbI+BqA?#00YE&q>%o8+VPWOD^dNpwBzm_BBHyie`WY2x29}l!v?DK+2dwkRqm(BC# zNY8`Z#BY$}5~=_1`dcO!u>YItSi#J7`bPnem-8#gwlGI&c>B`V6~W`4|6aFEk@21ib82aIcO%#jVRyDd7td)p&Xfs*6z-Ia)fx59QZ6<>!&dr;la6ejMz zZ%KuQd}Fb`yL@{1ZY(}<`R~n2d5rWm<+n)P#kAd_PpD$}d#vZ=lrdfAzLXh|bwz_l zAYz@KT9un$w9D^C2)2F@Lqg$J)8+m_2#&w5zsKjtm-9Mm|tZ7s+@&OHkyGN7Jk^<{v5B+;ob$)gDq~PW{q9Hev)G>tX(w zje@HKs_fvPNGF4Rcx)M&Vq#$EgOeh1S~#Y1*+##QFJcLO#H{&DIIl^wRB>Ybsl)a? zBBA`_Gd(*R69Z41V83Bk5%P-&=3LS7WRPog$|p*uuvA}S1c>f~0yY=($7e=loEQQy z=d5QKA=dE${knb388Pzn<>n%vIlfnAyT9tmlVer6vAjV~0#d^(H1*G7bj+=0)=g&B z;pi}KE>-)dO*r)=U0j)ds0j(Nd;;X~%gav*S6yGuppUeNZ2f`oca$H1WS8sR^#Wvp z*62{N6YE;Ro0Y&QAkG-3_45k>OeR^_Ktg!33v!5JH_2zEiT+DLx*>cOYqNV%hI)=r zz2taB90Q$$8e!F1SMM8bZ8&F|dWwu4_5;jA%5mg)4SX4}oR{Rz4DeQs&nhobERl=^ zlA$k)%olc>s*aa$!P?~CSZ_r)6r1e+nErWXG~OWI*YO<$5Zg~?ap&cw zO2t1wBl@Bt<&}=9`AW7vhZP+)|0zl|X^&(8mB`3;a|cV2^(&+Wr)+b9O1SD%Ttz)g z26H$03D^|qIU>|6j`<%=XB8H8_kR5ex>Gu&L!_k}rMo+ZkOt`}&SD@3q!vf$~Fz-_;}+=dWrOg0G-?evg)!-kX4b0?u$62pUVveZXPs0oTb+Xae5ye5Ub7-`ve)k} z&tnFgXi2D*R(NyY9>U8))Z9=dE$gI6;m0a70MwBzP8s(LejHb;CK3gix&_vK3lXxM z1O274*jtqPo7Z28E*Wk|FJe@!c{=eq>Noucy~+kgN%=r!+4i)~BB{WkeLb6|Mm6?E z=%PgtRwvUt2f><>A{)qCx_Snc#jYSOO;!0%0_dwBvILAg-#B%eEKr@7rduY}&nM2+ zJL@|V2xc+Q-f%Ltt4Z8TBenv-vWy-_Z)(y4V$5rLTeiAfCwf`llP2tNs4mFV7;y!M zbOs@GoPoL{GDmOzH#o#yV~Xd1VuXUR2=iLX&$Q9XzLS=MtNoJ=_bD;kDw==PU+lNZrS2{}*B@1bgSS*Yy}xxQAQq^B zp*rBt%WKrX&u_gexo~vY^W7BfbXQhNl_$9ch|H~@!`l6Vu6<6LtunUylq<9WS)#KCK zOta~{{m22#sMaSq_t}vL0 z`X7ktX7cx1cTD|TP&^&QnN@&AA?{sC*Bf(4F24`bOPL?b_VP|RnJcJ;KU>ZVzB+pH zy~oGiN&K{do%*?BQIc1Za;LbihDa1F5V>N=ZEr5J$sdZVY+48W; z*@mGNl94LXye}mxBdrc~V(XuR97eT@e0epehapE_Flud7Nx zjQd9nxMd^0$oM*u(zUMnRX+B}tE!4WPI8`#asPIq2c;~Yi5a|gIG2t4W1Y9peMZ1oXnEm4_F%{yV^9v7P++u~=z4 zl<*yREN*;@2PwRd=;AXCID1Q`6#pY(CtkNY-+g~Fo$GM{^^^*jIAHj+b|~7J0KMGb zeLCClDa+CnX#>fdCCNp*N_{lhjZ}!sLouDDcueE=4Izjy(?LGh{6#>y$UnHu&2RO3 zjQkK-n5ocTJyQklS2T+dhBA2xA8NlX^>9`$PJ3BZeBtWjuCFZg#-Nz{1gI^V$(QBL-i3M5_xNNY zt|Xm_SR3iki`-ja)C~Kq5EfDyLMJ7xf^OHF*vB_J&Zz>*9rYYs;^ICa8&!}o^00Z; zz+V22Aejx)iaZFXiY4CDN?KH8#TF=v_8szgzpe|CZHB?|EbX@Eu9D&ef3QSOx>+)o zLjwv5h(JQImERuLCA7)x%1N0gR{C*QPn^5{kwdLOrUewRUXX7&f-;lgt1Zq+qfNSe zOZu1Y$xR7uqoJY!W=BUE)|=TuCF95|$T1T63smuXntQ~gqDjLnwuZrFjY+4zkTeLJCLoNy7636TRMq0s%XNAwhPA8S zRd!HVuQYe^58bELU`lp)9?o};YT4S0a+uu5e|crG=e|B^jHGYt)0!!fg_Q(EqACyb zYdQ~WI%6k7HalI0<;>4_Mr&Nwdz=A~i)E&#NKj~*x3t&9w||$M_t@Si-PiA&+_o}+ zljx}?cA1(DSn#3*URz<3uBNi@uiPD$C4z2Sd(NJf843yHAkeciW6KM9_|<3Z`AncK z&M<9|+02$HhM1K+IKErEepGn}8bY%9Qs@3Ip3-{Gt1UZ$bMl1=?uf8CB#|_^9&!LO zKBZQsOx6>1AB)~h=A@0Bl0QzO>ODmp^D!$Bd0I|w8e>_?Wboqvm9{WY-=~cn6HH?&T z$oeD}7hU96`l2^G>WrVRZ|f)Ouk3PFvY9#^YC2ZCjJydoWPV5~PUxq--@?LtvaV2G zQO1)YL=RpSgx^Ey%=suONVY+C@5j+;BS{H)LEucLIC4gcwxNf3h_Rdq_I=SEL0Y|G z%X?>=>6ev^dGG@ zkEFL)rcGLZq{{Y;N*HUf{yq?3SXp61wW1dE0M(P;|J396_m>SV%h}F)7jn$Nv0=%f zO)2-!PyCKK;(>nTKgyg}{r1cNDk>lBVL)li^GDpd&3~5~n&a(t;1B-|e|)QCGIzi~ zIA#Z1U>!dFb0iBt(Fc8rB4iduL^L(=1@80lUyWP><<2W7nDZxtLEwS$i@CttBA--ar@mtW!#&XU{oUC|1ZBJ3f3Kyl;xb~x32M+;lpwD`53xDAUMCH zo_eBf0+SfgB8WBw6=#`7`n(_v54Q8D_}(Hn(Y0@8^XKS91|qApPohWRVd3N1y*gq!)(%hq>Qm_<51vFg#3uIM&6;=&f^p_GmblT<^K=tEWK zTjvkuukupGAXp=MzBDLfKp0j=)Y+tWKb&bFMjgorsYE{06iH`rv zq2C+4qy4?}U`dC&@ixk1Q9IKpBQ@#`3}Xs6nVQX+@sn8S66Z25* z<8>qp}nSNQ7JC%jdtVdc1DthYwm4-p5w`ACv=7?f|(RLLDh`R3jRWfu$ zSiz!?vV{4Emu@!LCHx#C07=ACAbyn z6^|QYS!d@CeqY7O_My1ekbOuUb@>g*@DJ=MuaOiykFg%9Jpnj~)mDHUpX1)bpP$X{ z>wx*Knt))vkq;}mykhhk_E(}usc>CnY2oVe!;5_%rcNf^ldg;S(G|7Xle^2q37W`n zs43cFSo1%Ee}D|yv*bqIc1%it-iUYYrW;WbaI$4So0VV7K5H(02B)x7U~axKq=SD$ zCB{aF0;#1lV=}^& zkqE{SFy+;OJBSPcW{b>sq&r(hou-!oHbW4smlkxl!;Q#xFP?r0n59*7X}o4HLD?NA z`|b>eXrp}m1Esglkc6kP|Mm@uhbE5~?Sife!79XxwcGfEh4jT>L$?K(+y-+;BRPxKp$eOn| z%Kb4FkXBIQApm2o0W;CM17Xi;!S9E!odr_5tgLI?E}Me`!A5nyM+~HorEP2RkFhsf zm0I~@W@iPDgaVe>2u&#-AyO@d4CV!_D=s)1)J)M&%a4jHUZ_9bkd}t>IF_EfjB}o# z>h%^uAXW=%EEv)Iy`*NW+Xdgq;qLF!ah$+Hmk2o z)-gi%{jPp(*_0K`hAC(rbv>M-CPc-}>N#{&&7b2`uhzys%6h&DNVS>Bt<>C6Vl1z8 zJZfBO++Xz6d7H0x?^WHz^c}s*VN=PN3f z&7a10J08PwW8d7b=n%rluKJBOasEahDlPgW$XFE9N}gLbdw*?owg6EnCQh*w z`pr8DgXz+?KXkoCeLaLzvzfQK;z=i1!Aj|zX3h~a6QB9r^Me1io0QsGVg=+q0!C1Q z7sSB{s?BGCXQ4C?h{prHZ#+V$<;N$j*Z6`d&%2DQ*pid~4b3?TAc?lbVC5OA+^73* zPwqfa5M>ASOR_Pc3p039Z3uT-Zi9gy(ZT$6XZXyaw)=J7$KS78-sRM@C88m6xNj2( zK8V`ggg6ke`L2>^wdbxoz&6KG9hffzZ zigmBn*#99B;IwkRdci%^rSXBG{pV}f;wmdWpO#aZ;Lb%JkN{i?&Ldx$iONH=_|ku% zBPuQpcYIT1EtO=w_QK7_5YoFo4jAoXwGLu*@YQlL+hp5g+5b+JG=`4sDMVLX1o z$bo~%vHt!ec2i3YPJGB>-XEK0`vVU;eTO*`Qa;n6gL%j+1ONE}tl7N70r6*ki$Ehr z=tCJinC(BVU&U2$00D1lzT}x4FhGKGw3RH zf~Eus2HM~;SFX=w1(l{QD*q;{)N!jW=*A6Y)=Ta#f&2%GV}Y%A>ZzrC2)w$LRrsB} zQ{J?C+1-@^ZeUpYv)tO!%pcrK09I0{Ny;p)n%Z9IjVjoekVwHd?>?t$1A01u$Ox@~ zZsZV~=r;T<>{_>t z5jb5=DHqHcmz)x&Lv;f6@Nf}>X3X3aP`H5Mw3VNkP_W+(ebLSp)j-Hue}Tq3bmq>M zf!)1+c2V#vzQOwxM8?TDuugW~Gr!6Lm8TBe30lzRX>Nf0+S)!`u9wbIKaMc2Cly}w z6`+0XH?2_{B~))fJFjgiEfeS$b^mL-J{nhC(K=QkJV(u*Ck7fZaOi2eAC(3rMbnRT zNd@a3U{2$EW$4^%npL6haeE&JfWzu->Xbd}7ECD^N+#HNk)PJQX}s1uu5m&%s^p|O zww+A0j9~+bur7%sdIfX=G$i}?4xa6joZ|gQzF!#<>xO2m)q{ZizzQAM6B*g)NVL^{ zX;v})WVv;HBBNF{D%lWLJl39G{nJ6z%{I0gk68EVoR1!1xWwS<4+KA$N%vxL%2-qoU^%j}iaa_1;;#aY(xT{-f2s1_ zZMK4FNj#AN^K#4ncoseFg$g(4{36xco)SHi>QgnTpk%kuTw8dG;vM&e6|yJ&Oedy#8M?&2gvuVbS{(1 z@Nco~Q*qg!x`rH^(c+<{Y(o!7fS_t7t?6hA`|^E}g;6gz1+8nmtysan;{+J`-N z^L~EgWpez42Zzqr!`x03a?Dcy)=7x-Rb>Xk_S1nCpB2BBc1J)DA}cdfANB>Xb}sS5 zvEth2YxR`&|K?ZINKUN8jSy@bOZRtJvRu}=$4n7eFR<&xxn-ElFW1No{aS7(1CtsA zkO027)^Cq03kUY#%~1&c!g5@Zi{ET2Qt(mzFqXM+Mzn;hnCRo*A71?-1Y7d6lQ!ET z?jwmWpBqty{#?v-db`|HEddp+jY8V%tqBP3=L?;C^OW;hn|M70h-&_W(Zt6<_fj3t z?ytq$&@~N-Q-!gB3;Z@bddXxdY3}#aM#nLnOe}JxJagdNnNMW&=3zzTrv%PCJBdUP%$@<~r|MJk{}iDTAfSZr(*1s4?GBO3zxZ`6qJb(#>fe7ZAZ2Gt? zPybqc*@kIVcqr(daj~HFqe3lPm|NT|kJT@+X;R--yh0}Ya|d2%%R~Rv*XBQ#`dc@y z+N=6=OD-4IlV;ko7aPttv$AJ)>oJ$XOG)ZLz2qsvv?eZv9`_9u6xY3dmzK+`p=_7K zfLV{Tv&$8@!~LNl5yks8Iun`Y6>CLOLc(MZY#&yg9brMeJohgbk6~3n{ZZ21*HB!- z*e@yVs#AZvPG`vkUGu?$%vvZ9$}~?_ciSEPop`_RcScjby>YjgBuw@veIuWw)_nFw zG0Q_=_VVC&=PVG&Z~UK`XBTvT90;7u$pkdlVbT+vp!Z@=4;NR^7!jRcjS9+zglQKr z-Jn!)$egacdBAU!GyHcFGWPet*yIfeOEv=9$*hJ4dm)23h=o6Z{{BDkWyAEgb_ zqZ2WU41uZ45z?4AfKLiWU=dh$VVL(E&D_ZU;+9@(hjoJAf@Hqp^US=~r^(iC>H3Jk z0hP-#jxCt^7jrXkX`vWdn1YluN0N_HihfA1An&0ZCCpTm4ba#2pP zxy347nxeU@Ti8|V!<~LM@qx+&xlrHXnJY%?Q-aWe6flHx?EP8>c^$Zn_$XoXZTt16LZgR)KgLN{$ZmieuZ2sPM!|sR*71VJ+m<{92;f>tz zy%7$Wq?e@F?LAwqZy(7n%dMC)zZ+i!%W%n1UyKUYYq7P50F~F&4_9KARD*3)!o$3_ zlf>J_?NCZqM{)Rj?TgRCPA%EOu$p%t$|b8QFXSvI_+NY?go}a%DJJAlaG5}UYi3MS zWuMQZx5T;}#`Ip57WvnLbBvJRZ;5EhjPvT74_NgLj5>Eos;Nwfolmz8lKaf)5OMVz zyIa%sm}^8I&KIYA@g72EcWB5I{D|T-0fuO>QQK|W41SA1G|JJ;1R%ePr{tgKclpnF z-?|Y9bqW|~Oj51RJ>HM<`E}|GVm9L(wpVI9B^`)Wv9C|oqPb$biK(YkD_jE)5}Vp@ zH3sVBVh<|)*FW2Tej@zGuV?C8T@*OeHgUcEaFS3-{DHuW;Q7re|xih<7 zj3G}6e(H;T4tR`T9N6wY@2)=MOI9R({(SJ}Rm2>I%ps-uZ1B z`$N*Z*azA1D!&@oy;u68tEhwUnrcYk#U6(TXZOQrtWQ6bhfp$kH##btd%Q*-e4-o{ zN}97kkuc~EU4HCIjKUA3wVn1E;no#=GmcwDY3Yv+^L(RDgqV)q^9-+$pbkx5((4o* zBLo+pc-HEM%BIsRJ+F!b-dET?T6P&5I%HqANMRKKk+qINrSzYIcVu&=zo$LBN0I*VbnMj<+p`mV{Gt29gyoZ6zpQXIa zv9o8lfQ=gUsPo$6?i7eC6OjOt7ZC~7Q`Ymq`IZbEBrh2l1mLNTYRGzMR}9(#V`bcA zkOs=2+TF(l&;}^=s&$S0RrwqVN^&ZP(V8S?reJE!yY#R~3~x&A@ zESzx?EBa#OHQLn*^_~KSW{{SA$#u+9Vs+TKZt6LGYqjV0W@N)j9{C(uMo1^ratBj3Y88L#7zuSoPw z%jl|5tF5Vt39yiFn764FV3PM8ZN_Q?cm3BDqga4FV9@;YxQ>~Tk?j_jl+Y3PJEJ2? z+k0aNAW->dmJMV4<$sVO_-GP4{kAN(HHhe!L=I};85J@`c^!(sUA2`yzr(z`by*>C zH7IYsddgEN{nf&4Vy|mIiXYaFP*Pwc&ih#8lr3PLhK<*MMCLU=%9kCfug9gHj!Itn>OK2=ruqIFqgp$R2;&1Dwgf%_aI8 zXo;=5okWm^k`3Lw7%{#{sm~(=Ep;2|araxAXj;nn-iz8@m`{YC(R=xTUWOaBs)CZ| z9YLbh4HVEU1BcknC7q3l%Z1B@^{h)vY{n=RKBL_sqxQMGfW86NpTTif&e%vpjGYuU z-+KA+vmsn#t(eRZPzC4(mzqxylaZxmL7G@F5Vn}G{jGcz*m5tu7G|b0@?L81pNc>L z5!fUBwTYjhj2$om-hVgyXSsjZBz!7zi$;Y1eERT7pIV+z-yjt@DAV2ciy}%e0799N zi4-wP-QAHRkhlv3M$KtDyc+*l6S;Uw#`fX&upVuK#_%wY49RRNONG=KcdQtTD8w5{ zQyoAjtym;%);6T{l6ecx*Y5kss0GmHVPlknc$t(g+T?T$u_b2`ZRprASzx44s!I^l4^BUnR)e0200bUcKk$;&Ce z-k$4wF|NMs{Z9GEBFuUDt_n__M8`<60*WXzjZqpnvgDNgrP^hEu2_futMZQn-i8H; zucU)KNN+$obVg`9VJH7B0H4+4nXPXzLxlWHjA1J3AF>Y=MdvH^76Jl4F!(|~9j;Z! zfMqwEGO5f-068!6zcc^-cWt=h4~s*-Pl4WJwN>4>i%sd{_Fn-QO+p@BzFX-nQyRg0 z-FJueT?p36?Z3Z&INjgeM6}do+LB7e7jh}VJW z=khb68KoTFKzi-Ji%?6(W}V%#Jro-+yhgMkyebyN>y}-?%qG>(qAIWQjmeB!`G?5h z%gK!2k+`hKvP*M13(RP|?>V4IK|^ENEI$B;p)OYL6$)LT=!aOzoMzpIzzxLmDo5)I z+mJR#=VWwD`_s`wENES9O8ma6K4@wdYbc(|VGqH4wASSeltUykCla7f+rH{1S5~TuVmqTC{w}RQZ z;y9RFa6u?@)#l3x%hBT5HUzOGJ&5|V0{)Hz^i!xP=AuOgA}7>xG4Y{)tv8bPblI(i z<^+mi0UzJb6oCE&MY}$5RDh86kxsStxH=Dk`H;Bb>-+er~-Fl>jh?znuW2nGNvFc(0@LB5Y6`cu94HYP%W^5JEXqc;uJgBsNN%FOae+&$$sOu{&d`` z%&I&Kg3_E22onC?hT{wo;e2+h{UZ1WQO$L0B#d4pDMe&1U2S^Z@IY0wOk(=m3OZ1+khv<-Ncf6f<&LBK zJ|~}RVGous_&<=~DQ6#H#MQ2;P9cE<<`aqX4tTpD+iCQMI8>Co_21=K_HiM8A#$_{ z+Z&CK{x`iY-=|oXhDP;;a8s#JU0oR9Xy%TaeMD&)C+4)&kMt>)9JUJQVHyI~|A9l9 zRI;pl1o#L2EUNobd4w|Og&YFlJ8Bu1ziig{)0*CSjSVxY(9QwOeg4SFmX=Tb=fv#F zI4|g3Sm$Yi=?|31`CZlmE@b)~Y)e7Y>5!t_+rfkh(SWaPW*Xfwj{=ykN>d{Z2aeCF zt9cWL;6hqI3u8nr_jR$M&4$d?x?1W9&piHI3IHpAS_jPDS8&RV58K9a00oISyK!&9 z=WmJxQOVr1TZwA-zZl41%po@I9m%(waDSk5;Gx;nIRC+R@Y%{g7%?3D3wUY(j}1Nu zgKwp7b;EgTUip|B@Y4}4H>0Qp-m{ng>pPGa_9*MSk&$ZMqGB@lp&}g!y167J5pARY zwO7h#ghxn7V|hLTjrHsdeMml^K>aNc4jJtv*ho!7*1sjD3Cjf|7{%2OcRm z#P&^UM55d%OTG(B2@x$ZY(9X9jdf6@ja>g)8%2DShxbe7(Cuh%k_+Mk7&heh^*+Bp zv??lyDyIR~=%xB-C9E4PTILU;o7}!dX5vN#K~cOL!(Jh1%i7#nS;ToHa}p;cbDXen zWLcfpl9>Q#l$;&&6gD{K5h7~9V^d?Noa5?@L^`Cr2+wF?>5-2~VPUdGSC@r)SDPxXIbtWlO7v~SZ7R(={ZK;vgh!l}jdjJq zUH@^7h%+&w5%Cax+WU3FRYF_W{i~1uA^DHHIAmB%vgfI|7+(sdUx+fOYX7 z|4U#FdvmvSZ{Pb7`53qg=P&2x;z+ssoL}U`!M>D>1K^^=T)zWW=oi&ewb=QjlXcGp zldC`<;lP`~*K5z8Vq0R@L3_`4VJSX1=sjXm$|igzy7OJ;dElYZI#0!uoyTwQGkif# zI?0a-23%?0ra`;J0zlmgR1_rDL*(<326NO^h?|=$i$9pGo)KiewY`mf6t)WGEv;gE z`SQO$2UPU|D{TmVViV{EE$7FikVu@gS`ZS56NL9y8$R_K_E)=1T_Iw)J$hXafZJ>mR5nzJYeX z83^a!BV08n(O{yMfr*A!{Y)Fev}|&Ng)A2yz)S|TH&@JOC|0AP9~NJ5+2+Af6{C4= zGL|L88=v&laBXTgci%}zRu(}>G0sIL(dPpgvv0BhztWEZh!+u4S&)^n zbasx=EhIey+L!ya`Q|Z7CdqpZgIi1O?v-O-^t=n-1y*1f-9E!Q%9?H-likY6KZlr( z@3UvnUs$rK{--%mQeNf;ymHaG(6?P$tldh`Nk4Ntq>H+2G2CM8_`@?&yMvDtzRmfq zZI-Rqp7r?Zm?EzQT8Q2``ei#fe-2$C+@d+ z&gq?}mZP90j`W9x{D#nK8bu6ifBh&WQ-1aV;#Cm^4z68-Z^<1@A`1<^C-`Qb+ z7DWrYhm%n?azqhv>z9PlpeX5cqnk5|h%7rToGrHiK*<<32@b8&CWTRv|OGYfdPGop*fzt7yBSq%KfyU zCFc?ZWn$rVBz7yQ$IaNT8{7zZ9|><^~E2L+(+#lK5c4ESz@6f zLv5EDcAfXe4Xy-eS%sE{qQX9U>UHW?bzY`Zc*N_Bsw})sw{p?mw&a+rBC{1hF~7X= zI(r8)pdpS2bxyqteXD%QP^7ePx!rjUs1IB+8_&r$CNl|=VT0Mso8_AsB~F7;H|HC` zr7m&-z_9pnbBl_Kv{qMLg7KfPN0Lp2Ypwq!-FWe7&-&HV6j2`N4R+$Ofqjd&v=)Q7|ypIh)UE1KDO##YAH_C&ZCd#UQ_y0xhUE zDf5(kqqGY_0{W`SBUnNsNzS0g<@T#G=gu4}L@hp3EV%%&^>WmP;=zlnoL?yYO3wc6 zAnjV=8GZKlW;S#h+9n;G4UdUTI{MDoshMKBo6R* zPD5diihL<;cZ9%2tqZr;HOs<6b0JlX)M}2trlXL=xrlZAo1N7@v?Dw^8fBTQ-Bd4k zY{&Z_Mf*W^g~>=nrWw~szCbPs@=hIxo8=L^t`*vQHrRUbs&;sV=!PMY44U~c;>$<~ zbcMbyTv(CcDRl zia=XW#x?$;-doLDECD0<)NaOga&O~7gFW4KxY+~C!b$Jc*RX^_D;$*t$G@qZJ@5ZFQ-(WER!IY+oDhb``KS3`sFn?t- zRAdg%X?7Uu*m)O+#1Lf7xSI6hK>KsiaTIgV&SyS5%L{e} z@rL44=$Wery(t{$_7*w$vC5spicOj9ue>WV;jcipT2;*9^z?M+WM)NYBOSIt6leTZ zi2hi4#}B{zGWXJ}E7FfbZ^1$X*tmt^m|CmU^&ueE3N*M3PK)n%n}ud~<`jvy)Cp`B z1FsqkD2W!t3~AVrTV841x-e)3a-MK-l~rZwM|R?&#>Q0hqzbn;g~4k=Q%Ukz$-cyX zs_h;_^oGZ1u8N%WaKah2bc&OAYu&;}d+eijlasO-*T3SlcpW|bSw1P5%G@vcq|g%7 zFB}rpejFdt+Gga^(+dI?DuzoPXv0`3Od`x`J>ttqvsDC{Z6=3R5uoh3yC6NRfqa8T zziKNzil!Ft@29?%lEnu$rp7WoBBIPVAw@2=%IVo7%D&ZLV^sbOUC1E-WN@yG@OiCd z+UIjKT+0lBqF}kghGK=vL&Mj>%*}2C?~H%oiv3O0Q4`j~3I|`ibe+9ZpuyB;bt^C- z!Iu#~$+fhMlfXBXD4iKfpm{b1db4%jIC0KAk5hDFXF)%o$0^%45Qe4)v=Ch-;?RKs zSzl^VyOKbLrf1-389wc8Bte40uK!7Q>F}*$FC#xbt(L(|aekP)U8Pkx5u38Tuj)Bw zBl0|YS_uvs=_ui8=nnc5@f}mv)45W;`@ngK!pCdOe{47Bps_lMh~YXxPz=cWJ^UT~ zt(zM^wl>5gghMKif%~tPjH1Zz%%G4yW-X^wNO!$|tE;mLVR){mQ~p{>2`0Tl zk40plpm=u(5~??&Yx#C?wpR_LG1cm^8Mx%8q!^6>*8LyWpA1_@?LtApPjvjI{955Z34ES*D%~> z$EB5dWSD7(N4Wp)oPhD?@eYT%Xm_=Lzx*xFvFa|l1MgmiXxy6=7Ree#j=OxHr?R}Z z%F5#Huc%OTs%m{UP3Ac2j@~#ed;j#Wa!1JMo99r(#sZCTckSJCK?Mu8vbB{94$!Ox&sY#>iT%!gsP1e2 zW;uwl(CT7#{}`sHK9Vn59+lHip^_`Qgq5^El^5Kn0ojTp=RXKrzQqne`UFT#55mtz zQXqmQgHH=C*g5<4U*YQdzbgT#7q#yW{`Dge$8sg897jCE%=sWMMfOjEgEc;+O{Fy{ zN;7hy+F-)5=L&srheo6re{(G*O3fwb;f#}A)xOH39QSLDT7ui+ATZ##2xJ7-nsD>3 znU=I9*7A0i^f&FYKC4?egSvcs;(H6fST)?dL5u(v4%$x+9tlHXJD4DljG;MZfEVeu z9)#&NJ{mYLeEWph9SMP!h|Yu;MI0o-KEDYxMQSQ(e#jpO$R9afh5`gRaP=d&Z+B}wc7D}(J5Ak{2_-aGY$+Jg*VL3GU^&se63L8#=U}7 zHQG$#?C27fj_e2zH9IUT?hQUxkuO5Hz5o472o^a`z6J`F#U6jquo^g95~_$S(eTgG#`5mtu8?7DA23AZ4~YvZ<2zLVeo#{w9cfBkM4y$!f2kPz@itI*YZ~~(pd2)2hmwTgDFWEf0~`8a67Yi{4-bzrjS6xEP?|~6 z{bH4OH0GIQYmX$47><9GmCy}#dW8?d-%;eVIl4B8d5GLWHQqn}eleY`#m5`rY;n@)AmNyT`2h*<_aQ9=Dw z`|1s$o7}|JWp!_1u?&Q82{>JB25eIfI*r7OiucJ%?AJZ}rGa6-r0v2}^co5gl|>Ot z`@Wpe?tFQ^wvjl;NYZKSrXcfjqM?ScC_QZM$@WAH)L3!+^i&utNh>KYElog+ceN&? zZ45V>?znWIlBle{tF4}2>ahP7Z*S6UPv!ab(Xet}tOD&Loxcn%x)mOQJOthU-+JxT zgmsjpC4@n!6nm-z*!hTGiziI^ik(c|!#3!Ighn-|)tju?#VS;?bx zs{s>C(z9yEw$`)74h{`2wwu%Zlj}FKjfhRSzxr)mGFld(uJCoG@4@rW&&!(X4Gi%& zW%h89aLv9~8h$_OU$U;2vEl!9Y>k@;X48YdWm69}nES{Z*LI5lQVg z5~RN9Y5DL=j?51j;&AvN)H{^#iypk5uU2u$?k5nYG7)Og=Tn+LKr2Ib)VhwIiFGdR z?yoVI1A6spIz(;7_4*TYaWPSLGV&buN%%mK6{|CyiiHMS8{tx2Qm&ab<`Wv({+k!$ zOAXd3n%Roj0|V@g(b^MPr$tZK|-zFT|HJ_3BP6XmHJ(d{C zerRu?UgFe-_XubYLzwcL(9hT#|3@5<7ZiY3PB(&2%4}y>cG!fPDYu+NF%AOqU)N4Kbuv!`gCA58+oghS>Jy)%dN7QvOH+f1Pz3DbRV%{oa!$ypw>K$MtC<4pJd(&&9lPEF9Vx1!lS7uf3*Ud~`Mg$8 zxqrv1Yo_?0R;zO;$ow~X1-<8g!W^k!dxv5mt>F-NzUf2eR{d2Ua=u}Lgr%&gNU#&b zMfje`#yI3sPXphw)GY12YpG1-o1T5#Bw2@{M8rte8F(eOmks(D&MVT zm-Vj|?4)=5`m&IP?F`FkPRlpDkx9{7dkY!DM2ZZOKFA2q+v{`|Qvu5x^p^Kq)JU>x)9S2T$p6AE(> zmo$FFGixN@eZGd1<}^?|ySDRK82XB3tfC=_+G~_CgT=|MqgdbbWUZSG*L(4=3LEkC zpQ04i4}k6B!h-j;MB)J;Uw^0=_B}6r&cT-r;ct)_b@2m?Vd9jD2KB8Nk_NjM3BWBq zTZE>Z$t4vNxr{xX&j6kVdFq>MsZy%FfKR^Rc=Ms@hLhFcaI5$M(U$S&ti+(ugHD?Y z{z9`-UZF21(=40SC@zFM?hnVKBBE6GpHN8cgrCu?Mw&6IS^lCE^=^y}$%8bVz!?nc zwtjI@)W0t$FfOMQIoLjs@3cFTX)EKR=)pDC-Zkl9r0{fM3q<%5tXYNq~dNjvsK5#6brLME{Ko>^T{5ZdJedi#>J zPY%tzRoc#_G3{N1W^waB^^L?DqBn=Ah$5ToInD~widZ-2A3sPiPo2{BCP7O6kRt9q z6EIGGHO^cmAE~(3aKin&l3uya5Z!-*ab*tcZHHq-s#75Qs~Gn2lT;KROjJ*bO1am7W~W`-cS6#Hcy(1FO$1Hd)+IR*1pa()($SRE7K_9 zXQv`7wL^NjyW9jsP1ylA)))nFXvQc6dTamNsdVFD)zp>Sqp6bZ&rMD9lsm=+h4_PS z!urCLtZ(aL4KUkU1=}y+WLU_~RRyhf( zXu3XvWEJrS>}Vp@kAd&`U%w|3qMV|q{&o?rJ8615JTme{i322;zmrelaDrtV&gbrg z(1K1w1-w`ps{D-A^%nALVyd{}1jw3U&SjPLu{>!Xqqr9~}~tMA{rP2GlQ zv#i7Z329qaWT7n4F44sgH@Jc)xXZ$nSjpx8HJY*NZ3t(2^i}Cs5?AOIYb;!yu6J}` zFll4a_#z?4qL{Qp7-_22flx*9xh+0ZXt|a^MFtj+t;0emm8p`lO6eT~0%PB)QSq;d zjZJzvb*;e|J+kKMw(7ILnq0y#?Cr1J;Ea>AFCNyOM>2}i$>A3buh6V5I((WiwB@6h zOA-YPuKtHGhaqWOn*>KP80ppPyswjfKUO|YS_R74zGef7hK1%aaLgJf#dx+I(;U}` z>NX!Bg@s5ws{e|+{tkxtC%qZ=eDklq|@<|+}_+bd>E1**z*Q>8CSIVAb z){O1Nk#Ve;d3HPeoVq>!E(y$;9kLVF%2!sP(7*Q^4~`^8aPihBS}N}QzBkQACBu7? zFpu(XBV~kTLJf7s(O0tFRAg0mL2p2hUhfl!?*jl5Sy{7KYP>iWZbiSq_I7!Uv;95| z=Zy;5Jc=EAsTm!Z-A~C%kQf3lG3L*FF|1TLqQs~dr2*+vlA**WhO&b#^(?&@BXJ_g zVQ=8MTNo}#;OD~bbjWNX2Q}oVvspq@cTc^3Y zss)NOBiUi(EL@Yai-NEOpRfUMWdrx`<_31Nem0q}H{XxkojPu>OigxMtJUyZ|6>6T zQ&L}LQRu#o^iCG&`Ee6TkyV%DsBqTrps6Tn2&U`-)?QO|2dv(85U0s2k{3Q)7EC%mIY~{PRPuf;QL5=sB2^3 zR@?G>0)MAyl5v}qvM-?U4*w&Uou;5iaJ!@R-uJo280Ej`d5uyAoQ_xi7-BzaaW{)3 zDb7$a9`?uasDabZU1nCA$erTZuE;tMGOK<5eL;l$_|!aHl-EmL;VYQ;9YM7Y0nJ0N z?w7wZShS+5^@WVM-4ibOOv}cjpM=4p2Zg0wmW{K8It5gM5Q^G9JcaRM-sSirRV9o~FfU=HP32;_lMY?ai30MFFLfuEMW4gHd`Bdz5A-z8io? zc1*VU(=YuR7RQdudr*(c$PjE z(LqPzL#feU*)%E39VU%LCCw^6L6@tkt9+HoBD8cPpVt54X7OO$3!`2FXhB#5fdX;* zZUAfYB^C5zGy%=m0OC2he#g=9!)_mjjiX^2D>s8CJ*vB`kwE5`hr*G{_st7TKWu?* z=L+{w0eF-hDyW7M{D-VV<3WjqSOnB~Mvu8)o z<+1nEXt|gT4V&RpCxYfUd3jG3ial>UKo1Uas*M2{|5y@HeOy7G8T?$L?!Db+_`vTC zGQynFth(XQGDEPB(0=(kw#E@gq25#H@;SOPVwJ~YbFEe3t@PF!dM`+?sh|A#Tx({; zAPYm+A(+cTpOT>g4-fs@nLM#d3x@NuyWnbznc3{MtOBR$$Ts2DHw~O1>BCR*w0WTl zK^?o(#;nCpzeKq0Ex4)eJcPfi!c@^9#~w<0BaB(Vwp92}YHg;*O@CI56uD)NvIMVK zhjv}>kz0!Q%PqZDfOGCn<^pSBD@K!;^UQ~q8K4{m!xQ<;ZL}Txg5QiguDJtIia=+= zG+w;u$Tfm&s{16q+K)Ngd;&j4b+M~nbUM#ccZLcnO^!{9a8a(wjC=pRFo}33VBRag zisknTkQet@{xDr#(bv5(;d7?2$P4yiXBT7P3r9+hORHC!vR7HMmQQNX2naP>t|=58 zEYvP91%f4Dk4K)ou+ro!7czb3F;s3Swp_CX%PRDKA#BXyDg|~z5f84Gn zJVWhN7(oqG&Sh&QBXp7;1=m0@TIs%D*Bm{x`TPaZel)hH0%V z_4XRtN;EL>nQmx|F96w#-YR=v#CFS~RX}~O{76iXj{K2_W&Y^Msh z=ve$RSpSPPUP8Sou-t97C{h(MMFOi1&*I{Gp{w@M>wPK;yLa+DNCAO4QsbJ3FG^T-1SrMw-zpD zlAa!U22T!_ifdgLtG8E?I#ssgXh$P>&A?9WhIu=VKaC`&H`;Xgo2ycG)6Y#3FIHqZ{Y6Jg#22% z-f(?r_}6oN?DN_xv^~V~m17v1K0`uvpZnP#7##Q;!I-~UfGzwt3rBDC|F&>gwi+_} z`*^PCQQ{m>cCg|-%H-Ia;di|9B~-ZX415Iv(1GWeNOpc=OP2GPUrF!r%bWSsQvPDC z(@~FK6`-8@0;0rdka$R(lfe?YD`go1d_3xf^mJO@*T(o%h59hM4MKv9h=`qqFzcw` zD0h+#a9&!9%GY`N@R&ZHO7Ac7SYIpSnO@HUl4En5O=b>diyW*eu*uVlv^A9-H17Ew zUX~IWncuI!{+d|mw~fDlu1`_l?uwRvfjp<>z~^KoHFzb17L(p5?t9V^Y*~UOz}u_M z-$xCGemO70gmDDFQUj60i+XN75`un!Dv*p9o#uS7D{#7L8ESt?B%0Fcp0EVUol>$ zW@8%6nmh#=D{T%bk`GzIVF^ZE8r(v@%zFZV_JVlTex3a(roIW+6Ih+bf7>uLi)hL-|Vr8ry|9iR2G@qFnH*(3FI;B zZG!Kcsu9KLw_RNh4ycN!X{P0uxS^6DGD=rO6UKO2g-UOgS734$bf!$t9ORvlNKm^j zRc_blWWpm93FU-u^QN;;&a`4?fMACZd+3}o#l1gdb`Q?vja4^nO&O z!<~7*5E(-=Yoj}Si(ShT;|^0!!+=`#o~kZyew z8081rw(-XvNS{~D=rbtRP@dECUV7W#s`#(vm|RUP zduAH)+K(S~bm}m{`MF%ZU&OpTu=?3?*L9aJyI)nh;vKP#>?_xNou`pVDKW{1LdTES z<+6-!ca;b!<-+_##xfUGgv+oT%aDvCqfD6XC72&3=|U11Ud+KFos$IJ`oyhuR8?OE zfruF8rrqa*{%yVexzfI8LF%#V8G;F=1h2)GS!d>HGsyT>T?0ww(7DArS#P4*OLBvH z2z3YmKw?`4tnR{omNo=kZN^SWg;-sm{J8{_QSF)!+lMT?hpAq<^wb~Sy57I!WPxKf zIca?L@;@j$Rt_ULT`3yIH+lWDcbyQA@7Euosbv8$04-tcrIE~#^r@j3$%JxB#omT> zT{M9Svxs1nUC!zgYzFa&T&XNcQ&4G^wJ!;$5((MQhS(#s zxZp0vC+9itQm+i=$T^|ec~}l)cFWv8cJQi<%*=`JujRM5&5U0VrYd|h zMlUm#cY$+Aef|xMgrEgawGIqxC$i{wCMzZwYQG}jB^%ngHo~JVx9$fGIN4E)#?L16 zI0iQ-BOJ;;VX2ONI>Q(H>EQoQN)RZ<37drr#k)s%yHTFxi}>X+hy#9W?=P9_}BD|28#z==sZ^ zwq|K&9tPt})44f+X17cun>~!#Hw#tm*agM6i$qt57%Gpg9lY52s#F^lpzHXD$s%}D zx=y$LxPqEs)QLjiI@TK__PNiwx#}*w9P!I*dqmg2bV`2x?^i#wuyr+57ukmF0B}Uy zi`+kd{``vCWKBNQ?PZmzxiZ3QB{J%R$`8C z6gpDe0{eI5!d6h$n){zBGi<)jgPE;I0N#1)MyQ z5=HEVqk`qa40;@{5xZR+X^U-uM;=1?sLI_GIuSdJo4`U%(WMg&{aZ`|!>%^0^3yZk zNSuAVPw*EPFv>glW7{F+%RC!Nl0(kUUu)KW)=Ho+H%*Ty9WzdP07a(<9q0wcN6Y;a zxPkytD!AXp7R{^HhT8Z(ri5vC1sitw{rL9c0(JPCBsuK}^?OQZiClhESRFEm%E?$3 zD91D{6dYVDF)$63)~~6VJ&mVHVEreB?PIsTI$II3hjb18$8Y*hJ&o(BU9ICS94e<* zg&8w{*sDg<-*CY>R#@IF9y*eTI0=hd-@=dLY1U}=@3E&M z>?yroo9z9q9A#ra+@N%nMtwaIR1dVnm4_d~Po#>HBHy8JZsZI;X;4X-)FqfHCamoh zg>6=7=kMw;OV7wyv0mvLRl6c((f$th{M7b|vpFS%#@=q$L}S7;ceaSyG20qfTr9ZH zAE{bPi|-y+^9FTyeW4zmb+g@y1+1hJqMN-(5!otm-7>tUowoCbZF4id1MWAqsW24| zQ;;~)*D0xC^MIoP@HC{UAftH+W&yotuk2Ws9p@FWgw2Gm;#1qk zx&{900}f9DNGSGQzvS9g<(=R$0)bKamhn*W1ujrN8RCPH+c5xnb9OK{e8|TU$yL zNbJevgnJDN_&z&Q{*IYiGH^95&%s$5zSh91=zdRMjh)W)Ryc)#UaBwJ*102!6R~Kl z@yfLr$_=t{F~#SNu}O|S@mZ<$6x^&+-Xyo%=*hjDG>??#<8$YaA()+6S={Ds`*-`I z^Y@Yd1PLxJmLV!h(wpnI;SUql6iP)$r|@XDS|6>MhEd`1sGoCCqO+vT`tdk^)@4GJR#gXfJfuedl_P2z!edxg8Gc`tk5j(SseVtgg%C+vflM{udAW!XXn@KhLKW z0(jo|!li%9pJ+=Ht9}>kI*E7*SpAO9&-*Ud+8r3c9(}WbI@77BvP((k&wb>M;+mG` z&i+y(P-}Pd=w4bEat}3y#Eka-pI6~KM;}Jk^U~n(zd-KVySDw!`#-cL9h$*>SZJLg!NEQjRz9vVlXv<`!I3jT^iG{bG7`Ie zRT1hFC6wYn%wU{Z^1N<(n<(M|Nc8jlEA$EDSW(9O@PeQQc@|4wvR)%tq!jf9kcIMR}gC*sd&I28R4?n``B(_y$TkbSnY73`Mm*#%B!nMq*sVo(lcY^7fwC zk4ewRs-hNLk#^=dj`ub=PkJUa$9iLnR^3m$AFCPxdY#i_oH%|MNgvAYfNMWv32wA!86B4D| zVQE!AeXE2A8_XKjGH{CGtP)IVd8sE6;z_k?i@%Q#KUe;cNf!Q~T(gWn(4y)7UN?sV z;}R%xJou*40fyjwX(1o!2jHWdEL=TKa84wPwm}8gDf31rZqb7>Sa+ST3A0fd@Gk%< zWL+UMv$Lz-XZ08!sZ6p9eeNoMF8~wr+z3F#>N8Ar6g2~P6s#o?M8Flw7J7a3zSb1W z3gyxB=b0$3z4vy0D$Fk)gr5*}zT2+Ga+^34K%F0fK}CcDDbQ<#Wxj|m(qt+J7bmfG zC%7`#GtQK$`wiq{b7_n6dD1`8R>t$(Anaw%XIHBh6Ap{{X9S+4(sxw;~Fh%uII93wa`Z1c)g%Y8_;3t;?vELH(G^s->LaN2d z4SKqA`w0*-FoM5IpOpv$6*8$8njJ~Xv&5TbalA?}CAbG}uYWxaQyile6tQH*n(v~1 zXzqqiH$2+{`&$3iEaydO8u6*i}{d_YOWoMq#`a%23zllzs#(f8&k}$C zWJXzEBtysopZ{uf^UmJ_VV_pQ#%&;q`qt8hc#*AW6$sY#*Dj$D>v>4M*gz6yCQSzV zVEOW>#os;Z=iu3j;U)CR)sOUq+i}q;gbwWTGeMC}m+qDKkG}`?0RSsTB5(G)aca$S zt6TWRg;T(!^j_P2Q|9rzS)EMNbE50RwdLRcr0<6e%l(jH85vU8{?8D#q>2>O1Cm1} zIlg)J-Y&@b+y{y2|3KjalrT!>F~~{z7iy1dp5=Oeu_CGe@hewa17Z}`3D}wqi(7S! z;l{$aAw4CUyrPE{mo!F&maEF7ZT|DWDnG+I^Wuxaz;oGRd$ICQ;SZ`@*zH{sZ6n`7 zQDkHbi_z3~%` zc|vl03+>Zn7jM-HrcR@&I(QtX86lW6$+f$0mOW^e(Px}gG22Nq5gZ0k5Jid^y6grQzoHc%sF5Kp4gUu&fyD-e%~ehTrAQ%%fennPFDm zk@7}nxrOQYr{@Dn3>Y%;VMmqHn=`sIyN%eX5|)?lR#TO`blevMxT-PegAmT^xKo334b*mAIt zgN})oAaJlIa-pXb5hyDFIbo)84^YZpL>m!2Yoq1e-i|QE!O{)Juzp;v;EENF`5Yvp zB2r33vmr;U?=@d>SW_|3>%~G}$$cFtn7i$l_5j$f8UiFvJ=3Ncf1w{C)M6iiV+9Dihy7O4BUI zqoFJo?F{aAl4Id@lOSj-%cnbo8Z2!UQ24-Sn+&iY8L|>i4?8lWdB-N3Pq%F0 zVOj}tEZTqZYu`qXze|2B!cKAsTV+A3`jsBVuY=`J)a7!z<@J2CyB#_fFKAEBof|q; z>s*eD008J&o|$;}>w2TQqi#i3c$^-JvC_9>%&lsUoSYom{0Xv85Es=!+H8x~-yuja zDmx8IZNhcP4y#9SMuZl9y?nBis>z`(dS1+6MWQBCXZeHjvUo_7I$Lx88FqFmf=15K0FCg^%UG`R14#$|PWw8{ zUUczrgsJ!_T)oN*SrsQNW!ZT15=0hw*1!v{vYsRCa$;T`zp*`}aj$+ZqtTARY0Tq? zQ_&q1^vV4YL|_}vqI>?G`>g-FXH3`l1Kq^d9g%<9)Pc^`bA^Ua@aRPoSSH(Uo44m6 zRJ@8k=I2t+zLP?P`xr;Ed%OCQZ(l_4>F2rB2vBUf>2zL_qKXH$41g%}H89W;XU+G> zE}r3Tg0o!tqmZ$)CLWxcYY1n)@cSO_ZL^7xYfRRIM=yMRCbG}4H`!F&*1Dn}$~xxm z_I%c8hUlkEJJOu8Pw)!}Ou%Rf5THa05}C^J%(IjBPiL5D4a^G+-7;Q2KiXN->P~g> zj~_oSf;pW^TN$%vW0-N;~)J%xcACPFEO)zK~hl zFvF+~s@3=C0q94u+*Z=ZKkwjkXD_9R0HN{G%G&x{G%o16BjBf{O^%+ycF8)B1kmAH z*FKUI`ez*dB>7U!DNd_=;=cAmp5=jv+IY$-gb^r=RPn#O-*3?O`^{UO_eC}L`;B%Y z>^sdVu=#c@mbsyzLr3q|k5!XsZJfEp-Frgi#YHiAU3Y;JVFf|#THpKPSL>aq z6-OXKe$i3TI69lUzRPj+9uQtC+y*}eQNb|(LcZxmFp~C#KvYdpxp`_0PT5JRd=5m| z;2Yy%UQl$38kE#74k2R%kds6!D48$p8&CPIGdSA%>sKy@dw5?=%AF&U+Y7t+MBE8$ z9iB6m!*@T%3yh^eB=DB&_?VWpe?nOi-+e+5NGXvPVsGR z6K%EstvxkS!&k`<;Xoyk6s(p{zw*hi`LSONLQ8~Qj}Y(mpHKe_GRhv)t7Illo{AxO z*wzP{M1mp2v1|rEXakE*ObTDWcH9|R587k8Hm~`h7)!+PtlAb)ay|h(q^*AfG7iU| z-ltQ4|5G34hDRsSSPBFcej4e*QYF{?J?F3XOk5yn+CIz^hqu3NiWOTP zcvLq%E<#wDzIyG7PHn)HuGWNc%K4X+v$MU4yDrlNVG>Gw|J6nfO`eo0!xt{K54xOt z%Om=%pK~TcYSNVMd}}ZQU0IBf=;8d~$BgD1sY{|sA`o$Lv2?5_w8NXwfYxlJMcpr5cswv6oc8x4P@lZ7Z+x+%s zwKw}60SC5wNb*BBT^YI%jIY1v^)Ljq%nqsfC%t(JrIdV^R%V zvic^4q+!%!wZr7^98kF6!g>Y@cq^QL`UdkukJD%Nw`JnqTSK=4)7{#IQyKSYFuYDZ z^5TCd;}RGb%`fF{IR2y0T^PXB96*k;;ru=zl@7Sc@H?n|Z|V%EE(Fd6A{G}l@L}A1 z%QEm3>vG}>4+GneFd>b2$W~fC6QjUQ%xgdZO+d+dwFYuTg1F9LjTL(g_{X3iy@`!C zsU!w|UxQS`sG0Lb+9+jsRdGru%q$Gk(XFQ}^$MEl5A`Nz1R0*M#m z)K=J@2;$&)cw6# z>f+&q;zm0)Qq^%4x&5Ndj~U8QU~Cn1jg*knE%uFvZ#S-+{y=DdL{Ob_Y|6uy5S&Lw z>~_wC&60Sub^aC|{*5yiW(aiX(&xz4lgt$HG_@P2i`U$xP8*9)BY?J_{pA*_u8wo7 zt>Hg!9)_U=mJh1CuB`QMPr5u~xiQL)e(CZ3WwfZodFy@q@6b^}6zMZAJjz%z$heMi5oYZ`VZ$|)&Q5{LsOI^C$s|NG97%hn5knIc%;`^Ll7zeEH^!mxkg z)5q_?QN=6HXfd8hLBn#FZbb&f10*<01cZ&&ai4x^yOTgAGDI|%1`!leQvFQ9H>_FK zs)hxru>m()3SnB$s$a(>;%aVw?tk(rA-w~~$1d0qq*QhcayY|E;!V_X;6w-}Wnc1C z8}RzllI(UO$_MVE7f(KaVeO^u3fw11Kxs7!f0u^JFi9Tr(&4=q7tDVa!DCjIrkIO) z0{TknWEuS+aY7Q?>z()ZGl*y(5i9Kpo_eJ4J|Bm!NVdL~mgt`a^^fedn1m3-=A(D^ z&ME(zhz8tdyw%Mh#-B;7t8;%lulID92ejx=C(T?DV0ntP=o%WP998NNO*fD@+XhQK zonf4HoKvNRLp;?JOQBhR=<$%CK|LGr3tqF7RMI}Tfv6`Q3ykP(xA*V3Y_-Qhie>)Z zb-4kdp@nbWb7_j0FSi~Yrc%}=zaT=*iZqswtRuXW{Py1X#2ifbyaBW6kk5Z~QZmIJ zYT7Z&D$c5Ai^Qg_DLo8cl8Ob5eAKr`ukcR-bup{E3_Zu5Bo>(R01Or|##f0@$AcF> z4fsCYZxQlq{&-K}uD$N#(%GS@YbzECvZ#L70~CX5O&F(t+|C~U2b`Folh9gqo=`wF zMi1CrpSw(dywE@W-xKz3L!)R-I>$1=}sIY!9-n$xd+>{O}q#*K~IV-Mi9i1%<& zE>EUDcuhUJEVw?2Bq>M4Hw&JWJpl`sV1o79L5gYT`9B({&-q8H^;!&(+?Ea>!b!V$ zki1z~BaX4rj}i*h6{B#=m(oTe>$T;6$UKVz3}sk2u)b6JDlI8yC=r(H5_4a3lb*xm z_7)Kc?5WNJV~b#q+jdX;iW7)I4T~q|-PZGR6JJt(L5)lhW4U?x{q?Ogh#tmox7(hP z0WY`V>fGcZ&NSszS2p9*x6sOnrx*pj(%bE-VOHBs_|$>yXVV8t)h1=L#_N(1C#LhgE- zC%3vyy5k;uu|o-%apsFq6gH}n=oDw+qzz@=uBmIq?_e8tZiJEIE#O5s_O>YKFD{^g z_pb0_Uo%&DDPc{#IP*MLsZzl75c}fbZAc{A0>(J`aqfqYxrU45Vja-f<=6eF^CXqT z22+S86cAfH2*E7a6P=Qq?ef%-JAG`iZ5h(i%X4q#Hc2XE1(b%RDdFLydI|ocUf}gcNsp|4I~+OkVcNV0rOKb;HT^P zF6CYE+~#xYTBJJz5FUwv6srm+C*PVkisuVQsqt!qv=PI$owXV?5Cn=FNR-PSp>{rp zNC^kbyf@a0p(?^SAxARUOO%;{_0@w)9!ol_AsY7=D=Sl~n-0-ZSh(zlRd1xYHT4fN zC$IDsf-6u??A(Fge&5qvvPVFwWb~rjxEn+U9qMmPJ_bvZz=!F+W1Wc zrY^J_O=%I71F*6HKoe0Hw8uFX5HXy6kHxcLz{0sSU*T%?d>ct-sb?#NRdaA@$Cn@K z72_KaOe2TGqO!#DeR~TLTp(QPL;l_N-6z>wi#BjJV`S-m|A*Hqs!V+LOV}{Xl}&jV zF70D1u7z79p`4`>7vAW=L;8DXNQD{3vUD5qPsWA6zQ$L z13BS)g(rfHP!tV?$nHZx%40?v8Vm=K@?fzWVYS^M0T(VL(HPUN4QIq7u|P`cq1rP0 z6dc^ z+%-bBx93$GVtnlJxedN0WX?cUy+%OUTe=!F*wb?NAgaD%dP4N5swkcA_C#b}yqz%h zOmmKFwJpJ+%i_a%?Shl!KMZez7I?eY5Yv@)vOz=M9c`}w5o>fP=7oyo_u1YX~(8*aZFfCCnGup3t0y*wkUDg?HI$`^%_ z3NHU`kk3_+Sj>r^0p4-#-$^S<>kl4J0V>+@ar@shhHG3#;BCtV%Cri*ZF%`Gnr3G> z!<`_AFdj^rRqDZ6!~i9H>X&c@)NYyYMZY zm_H$1*?0umV9UnmBIv`aBB%Re+=tujz-N!iubw&JMwf=HCrPB5lfL@M|JsP4Vwl$t zB*&O1>2B9SEjLQ=W&i;w@uD=n)ssn3OA|L`xF%g&#ew^)hG1A++tBP*}36 z*4U55A{J(AaduQLA1vk25@>dw#Rk&s%<^T=Rf2|W@r!bg@^D;OpwEk2`}bnSgyH>2 z5n5~?dDCh_8NJv>a%F@#NN5*-YBxXvp|bWu7#vYW2as*;K6Os)gfXd?V-J1!aFFRuLPb;miiCneHs^9R*av^ zpbbn7`aWW0Tw|l)&zBqUD>cG4T~nGd&YK`woRD;Stfif)8*ii{z2GSBwT&Y6xOZ|c zI}bt121k??Spw$>Mi(B{qoD`{ewOMLrng*{_J#Ab#y;Cj#rM})?}_s49zT9GTwAT_ zF+ZkVBtOea^uy-Ua~~o(aCaMaf_Y#qvZfEfItw0h}Cyp zNCu2g_b=cqN}OBQC6Q5VuQ&vuHN^XNHO+s!*(ANz;1Ub7seoF4B;jf4exq!8esq!w z@@fLA{Lr?os2S`}zYa9*Sd69qFx~({d%`AENhiR%kF(}YO+Q*!2097-dvA|CR|EAe zn2ql`J?1O487_eW%a0a;o6!p2UoIZqgs_C?k=}1~111+f|GEEp)i8}g=_M!k23cU( zPs?GZagopp^#yZ}ea>E=`yXYmBKboau!+BUx%IJfWgwcMd?-$w6`8>uC4i{Hh_g0L zgk$euvtpV-Gj*+Po4uK!njx} zxz(#ni%>z6CFB`oEmN~5WMg3QMkQcJTB3+i+i`$`rWQkRxeV%D>RWx}z?!gqE(42+ zCbr}L6T29c-01&(dd*U~yIF;FsLRt$0gk#@p(aE@P=hO}{E@^Lv9F0kL{f)14ZPSN zsi(T2SCMls?pt+A@lk--s3^iy3Z>@i{ zH0`79L9vhujYQA4JhanR*+ZCzln>U?MwmT!|6WS^e%I@)c;NG`3{r9h)>*nniOAN2 zL%`343wE!uL9a0gN0|Z&{| z#~iBNEph(~VhINZJ77J$<-4HxzcUbqX>8xP^a8Mf941l`ECXedllStn);58#)KC(Z zaAgWG4AztM(h4vMRZqx^qZI#=R1BJB9YLZdf}jFC8hbf39(0D<}x2~$}DR#efAs(Ax4B30SK>{ zxLW3-QT6BWw{Q0PK_I-qM>pj%NRe<`tOkrYEc3_W&Nbd@bSrq9gsj|p9lW<6p{iJ+ zQolPam%ZQWM;j3riX19Sd+e&MGlBi!)OgR z4uH00C)P@!d(OWXD67Zr32XaBQnVRzcR#HMxIP8d7y3*}ABW>GdjY0p1vzBch#D$S z4Oq-vLNRVn?p0fWZc78xxNG8#>|zhEc7fFA(C&`w<4z{4j+^>P1+J#h^+-B!78NWr zem(TS5~#a>AL!jdy_!Sp=^YJU^AZ^4E00BRSQCUw+^{E|dMTINn|yTXr$G(N{P|8v zUB|D#{`jk%C656Sm3OB~ZQJ$FedL(D}j&!vd zgPvvfr2;mXHN}q*b-wwWeW*$td^w8(2OEnIrua20n{ts6;{(OjgxgZv+DwxAo=8iI zt@YfKI}eI)xKIOk@s03a;@$Ba)^j=hoaxS()6C-`;S+*^*;w!BX>Lp!Uy`K$w=t)U zA26`>2f9P95t>Aa`q2-w#aENq+q^1=^&gbJv)2V`Q>baPOPB_82g5XHy>n(EPDSzh*thg4YH`#bvzmr zPlVe6z`TKkFSO~Y<;$TsG6Vml!EQT*JFjz<)-OOX*RHSoXuiiTjo38(@@YD&@Q;nK z>*e)BpUSTDz4Ig%G$^R7;Vwt+1-U< z&9%&&s(ygr*_&`;N&&+&GuB9}WU!PQj=jn+I}N&IES4g7jqHf8C^wVJQ~g#(eFtit zt{6q(hJ@skEk!>_T>rIN!1y2zuWkKl*WZ4g*w8BM;YQ~R98Aa(rUp|u!_4~&wJ`n> z`Z2Y*KOS>(Ix;^nAqvjUi7QET&8w#69Kt-JnF|s@A|c!%4?1##J+sEB9v~@z>?0S3 zUGU@nq&FAhFp|AE%DOo0^aQi0H#qQ3F-3@P*^rH|)|XQyfwL58Am!pSm9U5I{>o5z4yMdn}m5d*Puk1O` zd*FRM7j;kWP)wE-MgAwS)J*~rNOcKSXytAlzhZZsERa41?)p}dVt0f27_6fIURCCw z0{4O+_z`E{APB1bjIg>{rIUQVI^& zO=3~rdT1fDjDgQWPyP9my-1RcIO(4c90&VX+5)wiV&Yq?HM#IL-$Eg{WwE>b-PQxX zK+_MiJRez2!%@2WL6phz2lkToq)>YFPxtq2$wAvz$C8rko1sAy*-+OT)G{jQ=q;IR z7HnNNx42zA1K$x@zJ1!|DK3anW>h@6WCfx3BGNlem`XX5_+6`A-uOogqe(9}VQNg_ z-)ZVI8A8IlYEs9=CH)psNM9fvnJc}W`sjfeI@(2SL?1`kS3MnbI z!}O1U@0h(~nKGfOc;RQxA@B^t?~`gilUI~{;FSBADlWM3j7dN-d!z^8%WT+6Y1jPPGbG=OYwCfh{8|te~*i1c$C2*;RPvEKa$t&yv z<6sQW6FRgRj&1>nxbf&!(*-{eW2Rf>t6qzt12`|%H%R!*`7wSRhU@!rD% z%N^e$B`I3?$w*q8-+`gWx07vw;~c6*eN)N?f)f?2+JXY}a=Qe)HlCudbODKAkg9w)^G$N`I>D`tI^6-}A|U#hWes#ZIFDh)MBQl^aeXAJX-A z0oFs!(eLw}y`}p^fFPWvaP#!$Xp;=QMnlVDhwQ3X-QgIsF;aCt1f0aOy>vKa${ zu=4IdvCCNQ#rc1mQ&kym!;($oHDGCMyMI%+2sQ!%N-dqgzq(Ew3<`Qd`KEjFp{bxn z5rU+TnU!shg&`y50_L0!+EM*PUC)u!ec2Tn*I+F@DttRTR@FizHGxJos=o* zzVM~ns4Bs@v5tJ z8h71J@sHO`0j3jX+(|1~tT@j`fl{o>Qs|i~n4-!Pqn0QHHO`g{MZy%@Jqt+;3NW_U78_fK)7^RsZdL(M|p6KlcxJU&tR6gz(k70-A%&1&L;-lb%TbM}uFr@Of@+oAI{PEhvqYba!{RgtSO^ zcPkBY?xp+vuJ4?4ZT{>Z!n4+M-*b*R=A2_Z+8npHYwB)2zi2+%BzV}8mObULUlOku zqqhg+K`1M!8H-GX4k01aO~UtxUzKq7=$5Ut;AIoDT&^OymL7G?2(2!)Kiq@4EW>#P z(_e;0MVDKPs>>}8e{PR};z9i}lKY24qH6L`M>C;zuWP5vV39kqy+MLQ4%cb#({HQ# ztEDh{;#CM3$Ku+xxoL!{^ZebwyUObA`VEAH^RM9@$d`R#62$m#;=Fj5QzJ#=q#zA` zQ1hi057lkK{XC`QOm#BRL0!Mkucy_?*urxQ#3sdeZB{UsIGLbVlLTBCyV^NVH@9DK zC`;_&PF7CImr8_ae#zzIn!4D3_1QlieOH$R9wVuLl%^!^Y!aSPXdt({F5x2A+OZpHZUgXhq!$C#7Usfzj8eK z0CiP#A5`;Aq(Z#{bfGZzo*W+0FB@VwPncMDNv4W=cEw%o7f5wgasG$(N zy=pC`VUz0KMU9g@`(v`R(Os-q>}hXqBe;?ZxF8^qxv5((&t1Un(@7Pl z5viJ_<=^sAv&nJU%L3IBEeB3h%gD8Gf1)xq*8sseCx1~4BX3m8;QpbpyziC6am#tg zzDP!-2Fjp*mHLO0YL~K_9)(Tji7D6prS1&Q5SnExBlxT1c|b}Y_lA>PX2%#cIAoTs zMu@mSy}D6TFkP3B@v!TVakZxVou`z3RM!6IeLV~<0fUW&7RMyna5uVTB{0XuZQl-z zJ8WcR(}C{zWwFt{RiCL3*yqiIQPN3H&+i5QQPM@MP^N?a7cxmN`Bd8OU^LfR>yA0< z4+g=S<2jiORWLlBBPq-XIGH-n^j3{RY&V@Ft%jg;$ z1vbii#`0(fCTy}+_)EM9b8U&fAsT%+E07_G$hAiMXF(I)x|cPLV+0kCt4){ma$a>( z`#w3}$dCClE-gy`m3!seP{=tkMSlc6(wn?KFfb*!x*I_7irQlnqG3ZGb1)Wsv?F&* zUjL5t&XH9V1H+%+JT)viCML#K_&hcZH%DfYgJ#G|!H?duC znR$2s|Mx76FKl8-6(9`cKc9&9H}vxlHmz)s2**ugd-U1Y$a#xp%-^Ao0r@BC)+kRP&LI8jDwVnSMks2A0WR%WtFf=d=c(*df2$TrDsqUmXQ8ue_b;g zwL>bUAmSszScaIy!L&ztS7pWIo)3`m%lW-$HvMA>dO9L-+@O*zeRxRYS;igT+dFZ! z9x1}@5U`9VPk0x2wIHBRyiT2pGKRhY_w^Q(FF*g5F9O-#!vD$_4P3Z3tV)PCP*7a} z|I*Hz!fnAZSO8e0zhkN^+8JvDQYi9~kPP#q1&?<^J~y-5@tT27AKBNvb|Y1Z&Q$4@ zAqY7diF{SQeYzSv;-%x-qd=^Nuq5++TqilR0|fu76~d-HGf}?WVLSF~FyRFUwc$9I ztSL|?4|qT?N>l<+P8s(%copw2jL2v^&pzdYySl8RinMT^ybjNuq|cL&XtH!F@5_e4Lbm84Gzc#O^& zu+jL7pb7a&I}gnh=eNt5t<4*2q3G;~iDf3I(NK$NM8W;#_V%@gDdQ(7eiZM{XjNNe zEvdOU14WvT_K&AWkOY4XacsfW*Uzf0?p@5=FV8D93k5R(ve3@aH$9|=5YE&W$h9NQGOZ$NuI8UzB_F3)-EHSX2W!#Wg#~>MR*{9?tv=B4BZ6_m>{&av|Dhf! zFev~Nm^nZtm5z%2y^&C^S*rU~RnC=}AHlmQ4i`=o$-D(zF?$VBBI-}oQ>ve*7&SuF zsa75_Je}a*&&}u*2u68T@D@d@%w>23^C#UGmtyL}MjSu#SaLQt$M~%pllAujkNvhW zdfQd&3IZ>uN|W7k#3r$2;gprfNnXkA3`%e@kOfzC*}c;7uScIOgtn6mMaaQr@8MZd zq9s_05l<>gg$Xqdiu`^&goGZ>BS#4^JGLf5=ynpyo7$)w#2vpv4&z|eRRjb^_*$w> zkDuM=d$X??Ql5DZX&?Id3(U^)sqW!6WJeHhOwq+lee7YOHZ2si3_ zhriRNAG~|jhg{#TjfMSW`H^jor3x`{(xiXfG-x*;-7D2J*`_YqeCQBGhDD9*5{6Em z1S9Z*$-QUBM_MeF#Q2f_unI#xVPQ`Qx<>wQ{_C%7#@%?2|7Z41*pAKpT2Fa=@cs+u z+w|z=EN&TyE2t!$7Zo0^g2m*A!cKK{vL|S9*^!y`hza51quPFIM?IpG_-r%5c@8h& zi>|w0fa}pFmWYHFVAikj9?Obog1M(S1VJdL?uU2m{qtO8S9FTrfx!I_QnP31P$~Dl zi~+bAR{RNifg}vvt9e%9@%W9n>}kFrkIfy|I?PKGZ0Y&Kx&yxFZ@%k6X_I5gCV?{l zF9hfoqz+8)u)Csu0BWgCrV(UJlZtx9gm?wI{%m9Qxk|`Zr8?Ck;U2%3#mGFCWj_Xd z33imSJi^94N27pqm`TGeMnD}`&$WsOeTzkJHZGkoo>wc#!%{uK(^2@yHjEOCd;%@E z4r2_<49_BWjG7ni28SV{ii#0LH>M$N){juu5Y*CoJ#z(fD=()mD@?izCZkxpkZ9wnIdiD@qwbZUx?vPJ^vB1F$IJ@Yf(jNSG!-gQ6ndL(DAU)A)sQ2W!RSWOQfFE zatMRe?GVk6tb`lp&+^U~MNWTL2Bp~)^o8rt{A0|gsxbu@z#!gV^koi73Hy@D-f~32 zz3lMoyRc#kpIim4BwUSBcJ>5@)}qv*&-3%zHl%cs@Tsys;%p;ch(tLXxfMapUc%SLi!hoAHc7n*Ua;jjZz%1CBtt4P&f7DY7t6Qs8^mf{1b02Y$%+br96)bhN5WIaNO&BVt3X4Oq($fWi(YNrKI!_Rs)uZ)NErAyJ+Fi2 z^3~h;7pCy~jhk=K_pHeWECx@dPbifE!Gc#{KjRp4lllJ109k}Z#q$i>PVa-kpeA&R zQEm>RJbz6W7nfP?-@|M(K~`E#_Vd**Jbw|0lUa}nMTb)%*y^InbFoGR`b$4;2xTEG z-Q(P?lc_IDEhWEr!Junq-p9u`h$gDiMH-cy@6>UHe10_9Jt00s?vs*xwO+zh<5D`T zSEnacXy!5aCS|GTUNbkN*=6^2M+p_hS6;9C^JzOUyio`F6O5|~I47Xglf&71x#Zb= z=>PEQ_TtdZvrG{4LWB5L^hWGZCecOE{bY|{JN%)}2kf991(DcQj3VOl!F)_FzX@p5 zc98eU7>mG8z6jje3)r#)>^~se!<3=S(Evv{qMIlc_mlx>@&hx|NL109ADfUxYIz5)CJUf=jw+BT?NyiS~;H&Q% zrP$sR`BQ66c-`yuE1tWFRi*3W!F>wC+8)cY+b>`RZ=axh9*Bw1;UEyig|+Q zkuILRSMS{WIR5<1XU62X95vLD%Cq*^&&hOk%FBFH0)mlw}8{6)^OZXlw(vg%O%G9-Q!{gM^4ZN_1m%mxujCuB%Wp0+;yzmV2)Kpy%B-xw(m}uz3m@En&0Ae;xCtaL9Vz(; zkscsNvi)~OGOo3#-F+$qaw|tR0k%_I-o2~y+$+pqXgFOyD0nV0fD1unL&Zz<<;o!% zC#Gvfsc4jrD}DVsiDZUS$d5Ddy=GxiT2Xr`sBoA!QLc>TNf(n|OMeJN?C(h7ca2nk zug0;T40H#(?|s|h8A#Fy^4SnD?s=Z5``y{Z5eKIdKG`*{$sl!0+>S6@Z{YOuT(~Gb zS_^%lY$Vg*!GP|)MMSM1d6dd5R8&#W-+H$vQmRXkH~eEbyR;~-N7RrTLMloykSrC- zu`rZaZ7}%lStzEnOlFKxlzm5@(z5W`JYO$RF7C;AVrh-1vO3c-_=gf90)f`NI>$5X zHH-~!!G<8JhO^l~I)QX2v)5IOJmq6=@3f zWRtV&F4PwcW^~J{KC<;$>U?7e4=5DyR-{AGau!+RYU1LkYMUo%5GU2wDMjj#EUHAL zbrI(rU#ub`w9wNEWaF?29_Wh#_bC+OO5d*X#|y7d%pJ;%3j*Xisak( zN?V>ky>w+F`}wl6TWoNy7kxjsVVAb&Wg*GCA!D9{88LZkM#pONQD?C7pr5DC8}JyD z6A!~7UUg4zb2}z-dstPYc>K_u-u5fCrRCL9iFz%`xWdU{<5>|S7)w>GGP+h_(AZkT ziVC2@`t%DZ!Y$s9KHMqsGW+aPE0-bZyZn$k3g=m>_;6C_0a_V@wGV%|w{&xrJHU<< z%}HW=`|#xre-DE4kjvqmYk7IXrJV3Ss38{q`YpaY&~^jo@UK2Im{k4sL3hdV`ViL0 zx*!8|+XWfH18nu-uZTF{$3u0)WFAg}Md*57M zZC$MzraSQX@kynk@h4Nr2iXtMFDLmD+HLwdvDqCFhb+A?6rD-hv?wrVl7Sn7DF6o-WP=`tH#hh(&1U!z^I! zHDUekX1cx3Su%+h)c~esgyTn5I0}|Zj(`D*K3FMPoG4Ud93S?+T$RD>ST~In%9|KG zzg_emMTanH8MwwZgXt`^hJ))HKjAHB3oyf(_d1!+Ij=Rcto1_IbM!$ycfl{B(|#M| zQ{^^TSE9}Ry7XT+5$KKr7cbY1ge!|Qk6wH&I)bY%k1yWQFO+mvok+)F+Sq15zSbIF zFWvj5&~rD}=PUnXcPx^hLuK1>jG-l7+!Wb*=F z`L9#BiHtksfpUB29JAP>m$xk*sQUV$@WU_W(8gpUh3AK2_zX3;dfmXrUNda&1=c#n zU(s-7TDBjK>;MpaM^WV7rMa$7Md&YkKjL{~*18rr-T z!dMb!=|6$=C-ik`^RuG+KsZDNvy0m`g%?De1?5hQi%qVz>ILIpxa>ZLscI#_Zw6iG zCLglN_J)`z$KfQri0DAuBQ>`0@+txSQ27|%Xc3>KBcxY#u?LLd{85WNnS{f%e!O)jao8$VyDR~97*C<^Oz z%Y;?*m}#_6f960vwr{)ceU-?bJFcquF1)basF_MME)VoQelQ!h%;e_fXU<*)m!muO}$0kh9W~qAfqZl4hG0<}ZniBaiMYnW( zk@ouk1qnE5$Y$3U8ikkAig;LW_Wv3Jzl`QY2iK-Z4PM+8W7FfbX@(`nxNIGf{jij} zL99r{@zjcOwDt8SieF->rhLk@FFBpl$uzbSTSk@GWZp@#4Wr9$8 zxhW%_7^2)Fb-t`PAMx3@V#<-TU20KjFX5r;9>7J&Eb55m+nX13a`~prEcw8!`;Ew5 zCtr1|2A_d`snE2@dX{}@vuMcuShy8U91jn#xhqTDFP}PxVQ=M249;TK@7$w($0w8a zPu;R7;9{T1WV)~tn~L1*WDh&PnX9p6VPiWrCY>VBMwIcLpdI>{?sX=ofGMo4_5m!u zFP7FXSwRY^`o5(QcE4W26q!;UT`YYK?@PLr?*kOi4%-L+wD*bNvpuv#cC6xo7>iN< zYgOjo>a%h-b;nx5p752{Niik+5s7`v52w59^JUQe*u#fYr(pV2Fa>;n@;**eU2oye z)PgqSd`{K;HM<-O3ybDv(Tx~FVb!#3K#`u3vCJPH_dQOVnU0=sy+y>DAJq13zC@1X zz0!j>lP!my*!)}{HZRhbxix-{kuv*yhI*rVUCaFu2b8N=)3m6hY6U6~MytH#pqDq~ zM@Ymu-nM5kSw!{g@N5FN;UX9QoUi2jW>87pd3K+cT^A?=dc=gSb+>8k;_&3`)wteF! z{&bN>alnl?^Rd_61q>)O!^SZd*H_8^X~SP3kp?22Ah@n}eY}uzDk(Ar->eaX=kFa8 z`G5dccpoG{aD_rbh*WcwhfidPag-^ksk{I93dC+0HgW1%YJEKWX_>Jv$SE4HF6|I> zuWf7_UyptgFnyZ(IoiY#Or+f-Ly#L*Y}Lx!aBZ3}Ap`x|R2|ieJ;+HJH?ws867y7( z7^9DZA$h0%?Cu8@FRW6L?sX>V&c&`zZuZjI%2YoV#m3?iEK_M_NFxr;1e3jp58u|2{vTETwA-^y`)l<5A{&xp& zrS~&$-hx51`!gBeeW#fUllZE-^43O8@qP&g6ZePwg)=f<(h=(3`vQFosqW&vCC}qp zrS|`)H2M%6LIwT9L_&J#t5(4qWjqNZl5YLSy~{L_af^)TXjQqO_|C|MYl;oUQrdV zO#0oyxqRu|^ZswApyASx^DW-)=nlb7v|YH!2Je;P*Ul_@HH)T}J8`!kQUt&uVLpl9 z!s6laHW^z!zv085d!Ti(*%>ugKM*PkL^}6rMyYY*9#_K=44{6bOJ2;B2oB&I3UDfs z3dPs4biggev!nw?XT)aGD|B9T1|z0xVA&ijjGl*rM#$uG$~E@CQf;CD$+%9I_}ilD z#)|b{S%hE1Jjs_ztKbGpm@Jibx(In=fMGS|`jbm|X{*5M05fOSW_&8q5-{m zRh2WmBUNserA3tNki@Pbf5Zg8-o|FNclZ0&OLOhQ)vX_|p30Np@^vI{{TN0ofqJrP z8)i6d3}qU%FKNbEpT!cD8A_VM&7{wk-vrAGiM?#U*<*xJGQ|y#C@xB!s83*O*hcqz zT5!=6{lizYrSC3^i;s)Ff=j%CGYgBHt7btTXvcx_-b!(guth8J4Z7a)^C-}8c zS6W~@(Bi^5BD%c(GMdfy=B3*Kn+%_zW7GLgc5IATynJonZ;U;OwNGLPFm>I~1wcNn zWRSIUlZNf%DPI66OwRrDDf^pGoylPQyIhl=4=w>_de^)jA;6SdK}8F{NgUMw;r61m z{|M~;06`21Qdn9zMLr3>{5#BWf{jGgK?SGL3EL>6QI>n$2zuO$=sXL?^wh#W%SQBE zd{F%d_k}3)+V>ijs^wL+qJvH!i`+l*KmNJSSG`?0{ER(q}W z^miWGpQ&y~vt~Ph z8|Us|q!%1s85kPfqX@>qH$g7ta|^zWz>BZIb0;&nB+J0Vw9}%4CPDx8!|<#4&y9es z1^WxMK#5pA-FZ`H4@4dSiy5gpvanxZe=KhYert)^OeB8ny7Cyco6OVn9=`^rI!fcGKNOAcG~ zYnwtB_yeD7!1W?PD)>)q^wIfAH)b=S#Ri1{`H%5LYq{w8UuWNi%>*MuuGHgftyt=g zWFU0W9~OIAX<6!Nd40BNuKQA+Qn|VXo$zH7eq1AK{snA@bmb%x#EjqvzBB57lPm?U zK$~C?;K7#DAeem9Fc$tYY1=nX(_URSzKK2LUxvmey+-EdL7tbX^#*+yw($D8M1ia4 z6)IeBms$|)e)hhSPuMxc!BH;^DN-*|=Q^GLUgnq`ROWV^mREs%3Fd_%pMDqZa+o*% zR3fn?<6Yff7`K;``+Vzt_HvrNu@sj`=+#GO-ogz?$CdXTuqJZ@?V*V7ld1Zm(2hil zwB042hx;M{QJqo9-&JbiTTG3~0*3TAG{8paU>5NWL(-oqRTKf>Qs?T$0_1%GX?O*b zeCfVixQhOlr6+EXY!(`RFl$$I7>`(_f7nvwU4{PzzXN&?%q-R)e7zu68t}4i44S$1 zr|Z2&n0eTJlj|N* z=0jVEmO%{V$`}eJ_sI)U{{WWW>({kDc)8$PF83rhmRXelDbpz4=ss(exgpx+?)d1q z-utvl^@oYR^$jx$mV7Hg(VUJ3r|>%5WrE@RLhC$v+qS3L@K;gVPgK( zak22BI8De?SEG2fJNWpIzt0Bj!_L46qV6sAE5Cnq9U$zOp)}h-ooEbMMa7|jnwC%@2d<$ zKYemQVAMo8d+E5H@}ZZ7f|gE5@eaaIl$dxnt+N+|da;t-?P-5Du`7RCbd1-Ij z-6RGeF}}w)XQxC}lu?~TBc2&;arPB{r7qthrJs_k(E8As4->db6c3)3EuLc*lGo8a z{AOFks{j<*4rVGfbq+xLyq*e9^Sh#Dw7R3`L1kY_ zhN#D*M-**)Ma5`HwQql9wKU)UrAz=E0zpf~_`_fQJy;lvBZotK1?u5NFkWhQ=2&Et zF~WCP^Ap44dVL_h^!SI2@iI2jBwr{#vr|mlZEuex&%0mSFI<2e#l*w%l8&!}hTVgY zoZBZ~ePwywoaiWNTuFFIY`AE3aorW=;3JG^EHPa%acs%hqob&!sMxc;*4qc~$P8b##;+Xz;e{3<#^&hZ1 z_o3=nG0{-Tex}Z26CBq&a&X=De*~+pDfJ zxb`6Y%y*0-P@8gMfP}_+szi6EO)LPBEj(;#M-cwDWBD66UUFa-$PBxvz~mD z%kJ7qv%{*tq@?8ALq0Eaedeo|nIHNho?c&0X}FgtL4_$qB_c30suXZ2;K0u^b_b@i z`*w+Lt-MI9P;r;oN=RfFNu77gjotHuMEDXh$PynW*&TiR{YCLzouZ;!&%8LF z2}du(sE=Dc1cp(Q)>HC-S{lJ462u~o_?Ws^trp&9%V3%fPA#61%jNtoD0*w+m_u9l zzLR(~Re)A11Xm@o{_Hytd}JzIH+79T8o_Lm#1gqM_p5*zHoDe{+h35#e-IJI6k^CnWROze9Z-W-AelF=<$7zTPm&M-mM|=6&TGM4GQs zNrfB*L5}i`LlUJ0zSaut=0k*uB0g=nFAViPw__PJ8CgrQL3h4EjY-CF07*yFTjiK-sq=DC0pS+K3n+?d^BHC^!| zmqk_8aOfs$Q=%~I*SEPyQoby9Cp`R5)m{CAYevw1r@)$xC6=)vv8^u9seIqOpK)}2 zy54toK5ev*rgqZMy)3q~*70fGMyKk{=Zg)#4>vW{uU=0CJSGjZB~17T3r=KGml-+oF^0&*312|p``gI` za?qqH=(^ZM%f~TTzVK^w-bU=Mk+6!ungaA=I8ym z>Y(B(y#s`(xaf)`jO|}NJ4mUAKl3ANEPp;{YGpC0kfd`2OrxvpBxp@ss{78UJ!O3R zl+uh(HKDtDbP}pW;dNm=W~zBy5ag?`qU!kRKzYwH07EtA@?chN zd4UZzByzRdQvv4_O8w3KWsE$UM<~8ToA-TC%e6G#tk22UoY5Pd z9M=Ll?U(dPTqr~jUZp01EvY>RMnY)=X4VRrIqIZ2xaiMTo`c6-fbTPhog7i<)HBF2 zX%2l~j9w09&^(VJ$E!xJ%h2jGA-Dy2ss*dTtygEiMvHS?cE?qlUh;`Cn7DPZd5M@# zOZ#5_n5i_))hai|mNw z%3iad3&CUjeGVd&ZK`w&(EMOP8+Wsu`Yz=Tsl2)EDx7-uyRqTVOsZ)SbxdBw~0u>)#ms(7E`oP2_aKmT+0%WvRy zoPKbg`!BgRnJ2$0*rp~+^?2?*f(@sDVcnrgq|FgB+#3o1XoO5rb2Bh5FgJ#gX^2Gp z0E!3mN!zplS{>jnR70y7&!l5Bg}fC2Qn}}a&F+uvV4xCgo07z3eM3`&cKaAp%e{`O z(pRVR&nid1IQVi!pqv|Ewoir%7DaJRsNn+RI#A(~_}o=7ZQ*jv59ex&-wb{IQGB%H zt&bl}1s935;*8CJm_mnjqWyNNB=O?t3SihA{YEF1{3{<{q!mwmqVOSkNy$Kr0I5_! zbnYr=0vv#Xc3OrXIR5TvK_?g?S2nt9ax1<#a+JQsos`%<&>ogdVx zc&NR=Ux@6RNgT5tH{ZL1ug~PZJR9L7gFWC=a2UM$;)VXt#p_}jNf&tm;wN5?-pBa| z;KY<8`5DLiLCgk@GzE$r2#kxJtR{+3c7o zR*=UxIeZ=0uEtu|xo$O_#HCuKPCwh^T5Psuo>{t~F5B_9I zGOLl~B#L`lG2c_~Fw^LrUc+ zT97)ToUcwy=yj@c@cDx3LNvscyR2ys%JDOK$DVb&*&VRE9qC&F^6j9Tdl`&didiTp zfsAgvY`|QonmcYHFY9TCmn}5qczI;-6p`C<{MiR|kdIZJHV0@}MJxZp0U>Z_XQ;c^ z{{=)!C4g;^20JjfcYo%ij!%o@HiB;zs`L~e+-U139TtR!yqkjw2|z;cJJ=5`6_c{`q{3Wwz9F zm=d4wpD|32D}4%NcUedfDbjiy;5l?#NLT5Zrl=vU$zTQQ70F`OXc>S3RUmNh1gCi4 zgS|WJ7Xu);@-04pFXiq?DaF6Fc?>1%456}ci$5op`XyC4ugftS~KL)(1 z&PMwbu77VT0hvM%sfL?ksL}oOwIAnnI5la_0J{=W|-`Vx9FB9?Rp z?2_KPJ=|U%E0i0y)+n2Y;L^X=+!DZ{@bi7r5zadPl3DLuW20^j>o3su~5zScUQgBZZjsmU$H>Aq!xH*5YUPB*`I z%|J6k7cB`BHAT8V1bpTPYEcP{7YMLO4}LyLL6lyumPL}!Bh8CmUhuOpHE86*`Y8BJbgbt8PH!=|;*N2I`~M<%AOhTi zgW&t$vLdTJPaX<5H_!K{E#9wJG(a2rjVU0XIHo$BW zb`GA5*jv)T;8q=OyM+RTXt(2~L(O`mYyZq1k|41=Wp-)+R)F_vDVLq#0lT6zq4L&na(=gI^wWVZsMGJe*z z-@89$tfornKR=;;H z?~kV5#t=y^GPS&TQt|l=>SV^01GS$hh@N^i_=P6)=PQ#pAe}V=>r{zI)X@=4;Va*) zUd1PGq`<-80O959k5#_^9TRDY<$zY1eqlNpFig=EG5hGI7=%W2<-$cw+x8632U|3c z%3Y!3cCEwj(HDMKDN5N+f*Joy>*a63*K9FrEG*(ZoI6m{nR9Od^Z|C>gEWrHH)G~V&A|b?mZw6o&_2>zRF(2O9$o(xHu!6u2 z{5Gr>0+R`eLY{T_yOK#~s=4wW2BaKlr%vCWt#HD*yRK}JQf&a-5f4&;O4x$s`>6t6 zSm2$jDIC$?d~w_h0K+a8?OTRMHFmRs9F8|8OLc)EtF6e9!#dUGmekbjYLvB&rAD=b-cZ01Ag>_e*!}7cgMN7IjsPN-)LfmdLL`Jhr-~oBK>?C3;qKHy zoeywGl}R_ETQiERz?%hs3-T6$lNTOm8zz=$LA}^jP^y3!5ma^@@oGe3?ju|zZfgBK zP*F_}I|_C6F9Thlr>c_;j;6L_KpKKth;N-IPbjQG+3j7$SLt308o(klt z4Xo|51hPekKQn6c^187iCmD_M)k303L4o#-^%rWDr!na_j4|HdRL6kW@*T(toVduk z=SmX2YdQD%@=Px6!oG(9w2`BLJF>#&K-|5skXNt|m>1C<`U4<=UAPfY^GjXb1H{$b z*GSwQK#NaP4bCWq5I28}3kSKH6brm3IEu9Ae}fC`7&RmYetq6mg7x}ia-L!9`|qGh z-_N;ezTzGMFZc|CeMatcr$XWgQ^HE*b<7GDx@qSV?}m9@HoES|k0L5XQTVC#Qo6$@ z5=CZ+z_$_@;d(`itMe*v{<*(px0zuj0uEw-gxy@pkdmPSUJu~78=~^k%E$Ik+G(f5 z;6uuDKoa~c(2o9#!T_9jBKq|kz&N#7&#SguU`a@Z5|oK>tzwlTrfHOZE6*Vk7@V5G z8!=OYl$x44z)5V``?hqV+-SMV8SE2o=YldxcR^^P+TQ@A?qKQRbP*#ghD|F!3U;(> zEUCIC+Sp=i(+}Y0Si>@-?rrBREMr5E;o0B>HF{%Q-4RzB+z+1qPYYlf^+ijD+Em+V zFUduXI}g;ub4L2GrBkJ9CbwFj?6OPJfu zJU?D$&|Jf2{%dR44lcOUx<86?JVWeJkY=M))ZaG(dj@REG}`~(2m#UxJxhx-h?aCh z?|(-YSTnCC0F_Gz`MtS8FvXA4*ydXdDKOq79v3 zI6L$ork}_kXLXE0j!6i+32|_pA3LOi>QDy}gS3DHw^wlg>S@^J3JN+|4y6V7H5736 zu!Bf~JNx)=+Jzv`P+)DQR)cM%)F6Dzfz`xEuOih8RcGIJN`MPAg42P{U8O;3x&SUw zj&i2>2zRYbE6Ak-U{m;xUE~u1wG?-Y{R;ZG*NPCG(hjSh5InoxZP7czRUZIM<3ahI zgxOmSyNWBmAm3v^PC5VkyYBJ;m^lm|&sOKR?J^m)wRkt(4ltG@wK@yt4qmLvLuS`j zK04oBIr2HI_y+o89fRKozl@5tc&4;E1K{)u}GWriTl~cXD={g!Oua7W(+8n zAFI_7dcCF5U?+EXzP`K$w6G3pg4f1Zu)(KyLmrD-XW^@({y#6hLtqReFisX}I1lc3FWp2FlXNwo z(9vs_d~LN71h(&O_1KzR0G86L<%RwE6Z9BB#^fA@1Qvg$k4Lade-OCZ)_koII0Oht zmZAkb&6B0u(aC?={wfgyuX}mCT&^}@H(&QEIH+S%*z@AxrP|SU>xx6C0wm}M_*ItK zl3*F%3{1a%;dNYFF;Ff^thb%lYy%o*+A@otsO#O}0MYLXXIywa$TC*aSH*IH|V zugE9|)abC(FwADy;+}-EH)x%k)uSv;$%?LzT`<8 z{1>s1Na60T+C4AJysJ>Lhr@_C_GqiQtR{?;&N^&SWiY6qtQ#pH{{>TacE7p5ImZ$4 zz61Ns*XpYX&|&hDA0!`VWAw8>Im~3sL|Vb^!1Bw%TYxzdJF35Hdi>sr2ES3-ClXe% z*A;yw3ot1FdpYdxC&o|f%ybiJVOK;H+}Gd)xc`n1{3j6E0o=&%c>yEj?1`hQNa=kO z^8`hcyG#Q7Az_&UZbuWAuo{~=l;8zMh(|N~_u*t7(8$Asw?5YtyT}2rox}4Bvht_5 z5*cJ^yZ}CqAtu3uWax!Raw3EO41+ELLNA4uLe-n^E)AN%b?tyST>miUT#h0N9$-i6 z_CGhp!}KeZQ(!&JHf>$34_s)+p-)_}+YGzV7Vr)+?*Qdn+Q|y4;Zz~S_h|n>_GqtJ z-!rTs_>)FI0*snBQ69VdtUZp9@G8yHP*`J=ME-`8Q9CLRqjo zhIauZ`5iN3HW)7#$Dr|yon3X`_oT2yfli0-8#09&-tS!F6H=k~HKOg$)CZ3io72s= z&w7ZXg^*V@kyKFopvPsPAlf~iBlo@%gGFO-4u9!>Vl114ahI1qpyaN{k`S@o=#Ty) z;^SRE_t=>_aEam@mQEMUn8DakUV9`ph;-Rj0G+SRbTI9IaoG&&euET_7#Ol*4n<4> ze^+5Jo|(pSJcs475AhjR2z=m_6+EYHS*5 z?=LX6x_1K9Fh;FMG4-|jeYb3nBSDoj2o^WqEHpTtfvP{D9_Ka^E%*-$=-y)uEgE*7 ze|cdf?3phl9C5-P*bEE)d5Wofjy@Os4IaPp?!fxfh2s9YdxL)k5B@eRun971S&v7p zGq6qlFR6)Ob)fgcVmHuZf&NhY6uTCD2eRr)ba6X*-Uua(=`il!ohXcXnJ#P)&tkxE zqK&laf8GX^^niMkaPZ(aH~6Zx#$=&FlkOn)H~mpjqiOH~d|f&w&m^?*1Y1_(HuhPo z0fn%`q>Y3gxVn_+FC^rB*C2{En~w0y6M%x+h~!qsVy$u(U~LoA`jhNw@C;|K41PUG z4FiC%sf`}aRy^c<*Q@>hV216f9YJd-2=oJ>6yF3q=#7a&G?i4%4|<6pv>(ME53K>c z)o{M|XaJCN{~1?vefS>~m&|To`z05(fAIw?}h3Iz)Tucnlj8f4smT3itbyQA(OQ8-AHM z{zc_p`t+C5A9H#L^~~~redir0u%HW239EeVBMeeEu7wTWk@+*(C<;Y^IFE7d=6AL! zH>>WD<)4*0(ydyr`&K`Fv$hVR`3jl?|HYCn_=%tH_u0zGMtdZYfC(Uyx9(J)!@y7D z%9n<=QD;c{h6AWh_&tV}C$=p17_mxw6a?8?Pc>Xu=bSE)v=QRobg+HWZIWD2SNYI4 zTzdBYtT}pp7us?MT~3sLxdh{*GsQK~X{c;KAfNO7A*hVd`x!Je<`${(nsCRi>6Iv& zokN=p)q|MRS3+%fRF|F#6IlQ{0AreP{u8`JI7)lHyaChr#Ds(TZ)e(yg6pw`f*!T~7s^O`;ffEc#* z*)k%rE73#5cyj}yJx<@(YhY`bR43+1Lv?iCh^Q9~3t4^t?~r9k<4c0k;7i?tqU7*1 zN6vIbj;^b`#DQaNvZsmzr$PcUeFJJ@v|N&`a6b7@lZwM*f@qk?gj89}Z+pEzfYvQ< zXfXE9;EQ%n(7Ad$$NkRe$1#GJA|3A%@#PozUY zpNvpGU*;G)Oi_~#rd;Vh44_zVvDzU3Qp0R<@zGj+o#&+Y#P#RI(+UUB^|;ceACX*d z$0*)aS9mH(L>$+pfEZV4Hu}G0@B|PqDp{e@U_kdA{i!%D@K`0^{+y|VXp#R6%NW{l z9mMvCX9I9#n1lOinS&l~IVBf*mgMyG5Huiz7S$c1}{J6Go&7SmPaLOG(tBX0_9i+^Gy57(H zh%YDt+51?`R~=MrHMm=6hP#f0KrEhj`oCH2DBn?}6?1%%viw)c=Ax`vOUUl%*h=^~ zNM_K6?||${z$dB=>GN;*2=LQs2$lbN;2_ViSeMDJp19{FxfnHfBLci5f(Go&c8^nJ zBFTst=F_9u&E(g?dJDTcVn+q%9bXG!O2JsJ0)bk<tpboTF|6N}%MaU`+!+oJ2 zd7OLKpFg+9kM&!AZij9`OkP2x!+-##hQ%8|V(5UT2ViBmm1ml+CEX*c&9+BUr5l|# zNta^hh#&V=nGah5z&5J7n#$?|npt|DWRx6u;$0DBLRN)*{LLboh1+2}r=X3~%5LC( zIn%u4Ajr->&bUr7F=j)WG7kvu;Yt75Q|Y?mD>&A58^kVkQnnwW9L;JSp&1dAuCMl!oo_3QKyaG;prl$X)oH(x>cty;Q0Snb-07TaSAxKS*i5;(rKd)=W*R^6!77r6r3N7kv@RF;%}~<3X`wupuln?xkqc# zBw+c=1H+13Q6#L6^mEW=kp(o7>@K5o%UJbX>+d=Y*Yg0;Cy3qTik9R295xzawppSB8B z)p)a;y$XG8I@#qWsy+c&7bl?k#x&4D13DtOn{1SzCw;kDVKQ0I{#ynQiqx-SI<{UTl8+9}>&*d$4NA$Y9V)SI*+8;l6+jh0QO~ zVVWd!#dYeO-1n@J!8(xZy_)~a$d=H(?=?&YP3kunhl~sw)nH0NHksR2((I=4cMBgM zj)NqG=fHNpZc;iWj!{b<6jM*RkgtCMLOBiq=|1iJGwmpl%f9h$?UB$hFoF_%dYPuI zPU;>|NxR1x0Q85RWjN)d=FibZyV(l*`Y9o|hmH$J1DZ>&#r-tJYE*vYiE>uo&8lxJ zK0^y2=Ni|hmXkm_{EXsOHSHR<&RV12`d-7B)1`LB|U3`Uf`Czp@dKwOzXYLC| z1un{k=JB$7FqrHjJ@#e$PLL<7F_Qjl6mRsN$y;;uG^k3s{Qem&J zt2sa5Jg(0xP5VfXnmH)t>heB17;BXkgF19clLsS`az1I6cK}l08c+J}8wv(8Ys~;9 zRXyVvbziYL+dJw1pwJXmhBqbB!s_atFo^a-eCO1fE1G3hjoQ{#Dd@<&V8(+0eAO{9 zAc}>StFS6rJXQ{U@hDJx)h8Ap#E@~Ev$-zpvK&s;9MA=JI$e{hztMQz$p1`n*S&F4 z_&xQIjOFRhNhyq%f}v~hi>5O5<%?m*xM( zfJcd9;dDf5HI!1n6c;iepy{Urs6GaC;MndckS;k=@=F9+U1q>S=^f=`4ALl2Mh0<2 z5L)-WDm~L2?=wEQ0Trcb%4IJJ;dn+fm)DiUHE?z`IKo*~3@7FqmnNXW+IRBgR9*_o z60~;_VUUP(0ZmvEm)L}Oz5B{&Yk1?aZnC5}aD!z3++7bBedDbMBL{vay>b2(41rpd zLj$wW>}Ak}w$=RrzTGnzYM5G;+eQKjfRxtF>POT%23Or*;svxYC}7?B1$YT~T%|o= zXZwO$It**`<{*AV6pLylR>Bv8#tX{RajG2Fjc1^x0o=e>6h7S_&ts>A%)jbd}q=uGRnGd_#*Cg zUs+|CL2^*ajO10?e`!oS1=QTYo{)#x7wttVKq5%+OeQm{k<(bqcN9isVbLcYbf5ZRJ(8z@nqs;z zGwZ~P=Ql&Y`o!_QN;m$DJ`-c{eq!Ny*0vG)aSVYAkVe=j+;h-Wh6AlzYp%}|EcY}!?A4Rzi-_3=r*$> zTV!V?L3g(Q`kNcM=VP-aq+mF%oCqN0pK5;8K%3Zcxho=V>DnejaD`+MI%-{WvN zdOCWp`@XL0Jip`f{d_*>D9K(wzCVJ{_k1AX2DMTt%mpC)p_~G+eUi?^; z^@EgnZgn6;%L2Hwo-NXU)=oSHG)M2QxT=3Wck25hm0uJVri<}6esZYdV_78jbQFkb zq8aJmpI~vm`{_Zf?qAv@db*u?p!X#y^F4fJU0l!6b>M_Rklw}CAB{$`qMGG)?~0BL z1+|w#6W;`z@wWo$m5ltJk?<~2$#)dlE@x)bVXpTq6CmjJQ$sDRU%w2htSa$!x(Ie~ z;Ab9)OZ6J71^XW>v6O%QD^f`_SKa?59R8ns)n0ToZONRR5_S+rEJ1n}@!PMkKY8y^@|hdqv;Ob4HwjE2fg7 zPuxWAzGoI5Nt5tP;y>n1mq|FrqfO9*}>MWk6fsC`-{7Ff5a}yvlw! z85m;_4wQz$k$Px-($0RHhf!liz%Q>X$mQWWlTKHDFEuw^ zqulF5#5lh<9Hy(UWT^RE3zd|R1nQ>wW!6}-*-uZqT^Yj9dv)hwO=DpCDVf?zJB>+Q z=zp9wqrVBE&|z(XluA`6uF1up`TK(!9o(1mUNHbaG|hhnjuKSE8wX+bc}=-r-0z>QJj(fU;o_Q<)N z+UkUzGn>qXfuSKfmFSXVYPS7XP*;wL1^JM*>a)C*+Gs z?*8%@KJALw#H!nHK;3|g{mR$gZu7WvC-YAf-}}Qx|I4T67wTe!PnNK+oJgFHhU3Mj zXMXjI!FZa#C4r%q>lvn>Ow2@oUQDW#K~Sp8!I}W~$6zS$Igz(oDN<1e<=?_W|C6i}2xbnqU4tu~Qm^ zP}+5k99S$lUL|mF6aTzDO_A*@e{WRzxs&raBcU<Tj0VHLoBlH>*R`B7>$iFbqf(gPMIiUxQAn)OB=(pi{^+q)ma5uGe(((j9?#2XDB za|A4=F|c#5z8W>6kxO%jXa z3NSt;>8joT`^Giw@1q#C)UQI1n9Qzu(d#bKBR1DD;5p@8`tx9f?6Zv8g{HWD3nv`( z7Q4%vDB{1e?*HfU8voB3v(9`zWg!P*YEYE%)f}^fb1zGWA(b=yY8VgsU zzy0a0w!BfbaxXk}y2tXWK0fwaTYt!QanX=~31m3n?UHtf!GhRFk~9Eomq7mZZT&)2 z(@F$e>|QIM`j#}sHDg+nmxf_PeleI=F3r&_SyIOJ+EhvhPsv_sXK$3rRCB61BwhXVxjxvfjk5BD0ZwF@JkBY$My=d+*^&jNeA|~WckN3HE=!f% zc`zL@&@YD6mHTbBw=l_3Sv*YPb6A9I34>O_j07jOddXN)1y(FPXEd4_WjpaS9$i z(k2Bh**mN4Jo+n;NdgpoS2-i)0m-1exmh7!sqnU!fCv>pa^MS)1Y!mVIUUy;c)M!K`N!n}J+LPcE7phpIp^uq*mXK0l( zEIKR{sS2$!1B*%O(Z1C$ns|eY=SphxxSM6Hiu8BTUtCO3E7^k;w^6>}&TxSJgDn`} zuP^4Tk&T8E737_5`3ICmwS5x)-`Rp;K&|EfHa}X{;uevDpq=4Qs6#GrUBvpkEZB9< z`T*(|eI(!~Gw!VIl2S0V!720f%e@EBytw!y!<`9$oIBcp|AP0mEUccb$(w7Mr=i9#!yBgu}ehg1t)kt7r>0?-izJ;e&#{~$5=c;K^{NS{s7?{bj z0L&hJ>vqeq2@U6AhkTP>uS;a_T+}Zg1R$UZcretKc##)8qtVlkdCqS z*3APWM8A%AB~j4i-J>4skw3%gW=Z}l z`rXrU=?S^!>y_K^GvY4}zWuUkI0aom}y8 zwJDf(dg9HkcB=Ch&9J*D7=`b~a{S_r&RYH8WY=;zyR;ib%KiAK%P(Mx;Wed!kJS|% zH_7D|prJ#o*R3DdButGflbF@TiMC{8WzT&_uE;gAe!BL?OMYPV4CxG(q~g=bL+T%&XT~U4Ar{Bwj$6Kuik%4~XgJFJ$2nh*3~vGm zS2k1-lePG$tS>HWyrp_N=A0LGARsg}5#mmp(Df-?+*cd&Je>V^?V)kvVqrsyS8wN5 z0B#kqVX>HGQF^k2uhBg^ijj4KQ_D(j3Le`pdf^#NS;A%dd0&UN)2TQZ0OGeIQ|U2t z+&<;8RS+51r*U|(n!qz&Nv}V(XJ)+Clq;T{mi8>K{=J_0mS0OvAU3{v>$yl{4#1h<@Orxx>Cze*vz7E3An zyZ0iM^3?LN)5#fmTCwu`()o5D=q-#(jetR_1I(}60kx_n;MU6(@}}ocVY#}olGGj> zo>B#bwuH!Q=iwtYWxf&zzpZlO2r=_%AA?T0xn;9|&r+x7$s?K9~y;&jiO~JDO~oGc`s5hI=46+ycRJ5}?`#E)Ue4g1H~D zPRj5BfK*C-%An3b0*B`md`wnntYMY`>ObG8CvZqioF%)`qxfe zmpnIkc&}$?QSJ8@T1GWi)84U7;nPn)y}UYNr{qd}=9C7Dl?KZYcBJ&ljqiyGi175{ z%0Cy=4k_g}jHvsnT&D=FFyG^!*Y*D6;pR{Soa?}HBgt;r34(-RFlA!_!i)6h=D15- z8{c5+9>C-__Jv`f?E$vu-94uFnhw}y39}+RX8+W>2;QA!P>QTM=!n66iiSnaI8Ntm z;A)o0V$>dwzHa=?MySnF>Y|bMlXQW@R@>ESKOl#m7pU40YTy!cw)B{w&xExzK>8B4 z`JB)C@z#Ddfb`{Vbn!GZWHjEQDt3#EWZVs7HAhDwM>(0c?&Ut+ zNe4M1{AUB|{FyOBqMhf;dh?3UL$tl@&73l)_BuYa&E$!XhVm1yIg1pkSq}B}!s3q8 z%STXv?f4%7wnlFhU?dp;`5(SE0(KSkBuH;)`%mZNf*z|pUHdkx1*&Jie31jweFQ|a z(CEj&LcTD!e>zTOy8pr?#7_nP6FvI8lBZR9li|y~`18{#f`oAPdS3c5?NgkURjYp@ z2>L(rnNZ1V#j;-(WTF}S4jd=BYq)`#)Hjxz_*i4Pxf3w1JII>88&p9!^f^l)c6{B08{Ytd235`moMSdiPAxCd`Sf@Ax#q9J=eA)r0y-e4OgeMJ$SILi z$#0b4)-o{Hp?Ts4VFdZ7Y`L-=vQgG!nnb<;(W_sZbW}a9t1sThpCuXj2H5GgK;-@o zW?rp8U{H5FLrhF;sf&AKnwh35F=Cxz^W1CB1}24GNtrd(6M!97`41=4!|4V$(P*^z zVOgHz&1G0g1I6R*S9wG%t4cW0fIv z1`l3RE_#1ThSr2Z(TgN8O#xWz1dWZm8|e?<{bkAu3H!!y>f@zWN@wF-lOPj9jyAQJH&}L9DC}o*2ll`gS=tvwFGWbc6iAA!tCwzyay|DxSRPbFAGE9 zB_-d3rWac*y&IVHWy4gtWB!wZRh}$|F5c~VXc}eMK~%}j#By?`qy+}{E1nXztqhLC zHBU9{n2vM@2~ZyQy9%1upW#mtp$FpeQ5fj2tBmRl?Z2-cr*WOG*|D&}cLKDCdG9uY&_z*~1*5H`N9;2uIyO*huGM z#jg+rNLmgEjR_-TGq2#@zj)1i{?koZme+NZ z_GJaYwA2>9okXnfH~oATx4KCX^&(~4)63)GRpJA45#j959a0qlOEbP}c73PzgSOIT zxJC$|^E(i}uD9OEl96AuIhiB9vSuP@6-2Jmoeh5@z5dMe zTZ7%4Wxh8#04@BQ{8HjGJT9@s6w5eETxY zPYJL|J8;1SzRI(8Ov1K?F;W9RPBuars{`4xLclpq!PBD`v9UIXp7fRgDPF;*`-42E zyB=s)o1@J_cb5bq7H1WjqVqdnokiR_NW~TCgV{`XIr4y|)sh(2ChOWA5srUoQgB7y z(rk^oiL6*fXBv+0FpsE!2FwUY(Wpk4juSL}mC1Rj~kh=;I_w=M4 z8W`E{+W1;{hZ~KTfk8WHj2Sp;rWS`uCmau_GF*Tb@8KnE!L5mufLJ=2a1xrk0BLBZ z`Ye6^$4+IH^#s*mRHfULN`>`Mba0~o29 zFPkm7w*y?5NHAguLJf|@*57CHGIZiNm9Wo03pG=Fi z?>`VsLfdfcnb+LI+K=%XS~e&XDX+RU(J3ZL~P$Wepia! z2tQ8`_O*AAfWhwFJwD;*w+)P~a&#D%>?}^L**D)wrwigHwGb8lbsdE#{~JDo0v|W` z5%?$$fm{-)DwLJAyAK0zbxuYV2_@j?10OKDJ=emecId5iuEBLM*RIfN2R?BQH2D^x z1Zqhghkry<);@aJOQupqY=tb6dXwLBxxM==Pr%&5WldrD1c7-G$5fw(J!ncVx7~xT zKI#Nm?fO0OUpv$?x<$6&11C!y76?DBgF4D0oQ6Xfd~p&V5kcMpXb|wLM*_P-!qe=SIlbSubwar|==Fxod!(1NU}|R>fsP2Jyor!fY&;aljkq)rB%1biCR) zVO^>yPnBv0%?JRWTOl)MU-{?z*~cztMCiibL95#Ws8&V(5|jWFprl)QZ8Ur9?*Zqf!#y@R6PcC;>763E2PRBXzDH4K7ALD5^^J0u=fu4=Vos^s>{jSq6da(x+u zBSi)vogtG63oQYlVgYrSwJE4a^TI52(5>LRNIDSUMsRBfP2hy4&`SIEdsiwl){H$b#@2H;V<_R-p5(d4hH#T+ssiij z4hX(MYose8Ddl89R5L&Fva}TOUoW^w*|o((?P%`akjnV?^#+|nykbf=WPPv|A;Tz8 z_99a&LShBrg(kq8)q$Fl7Xa7HvRC&{lZN?08>p35`SA2}FG-hA)%QMXCi{E z(?4K@bQ5gvXD&K3$gIlvu7ZwSh47C61dq*RclDieiXe(sMX(hbi@y~zbdcX39bonZ zF^t+mDrTNBnx5=x=o4LtkRCs0F$T?L_{OY@C~ks-_#4jzVI9Bv7-RRPryE63NxwQSpCS9A(N-|7ZV&MN1u?{{ABkNxV1*1S&}^WiY)n% z^F0I(Mf_07;=BC$6?fH%LNT&*eh@+RI*w1ZCG&u~uIgvvhJvzB!kB`F1DB-#*t24Q zJIW`cdxIiVhz)fLB%Ox-7B1ym$vB2)z@8MSDxoMtcQ9K0PPs2 zUnGj18IH?3a38sYw%m3?(xD<^+TGp{no^8R0g(%4>h0Smf{@kL>WRj z53^^O23W!IuwX89#H(GSIOhM#kPY%6xETl(o+wU$rWlpS8`5Q-5vtV#u)rqJ&V#_B z0}_NvPNYdIQgm#O-U?GlWw<14u*)6c#a+ONV3g{6Du-T504K$}v z4+9uMXTzlEHWAs*|7Dz8bV!Nn6qKa5;ear807;9K+@N+AQL;CP-THuE=mX#Ysx3zg zwC_T&z*7?jOS3zG*J#7lJ;DoNnI8o#Sk1NagIO047jgjQbc5rsMOD(kFu+Mq1XCV# zj57Tw*;45GDzs_^EDS*bqw(n3TNA^BGCR9hj&x_a2H)peTpYuzuJV3T$BU6}_7$1m za%>H#@JF&OsNms@k+ldE*DK^jNXCn4ZJ6rFi_WOhBI9&u7o zrH?{K)))}IvFX;^^SLpU=oW|kOa4uCp#E8#=_}1>OO-cvs;WCrI1qX__Y+b6`+E(M zj{zhUm834sgVBVBBHK@~%y%AR4aANEWjP;S7o4gpxdL*`v)^tr{8VgbL_sO&2MQVK zjQ^I*@ha@7pznK7KGl(t1bQ<^?m=nCE^&Qd_TwcS>u~ULVY#GgTt3hxB%KGP`xMAN z58`Ar1b)P92cCvVmBM zc(h0c(|(cIdGD~#^Q%Yec!&?fTv-rG;{-^e)g$J(%CP(;B)02u4SnRVaN)U4m z><-Ey)@!|NzsVE93q*+`IiF|!XpG>5tEWdc#NWpv_W2Fw*nY(CnFigQg7gBM$(8^$ z;F~aVdL%TwlO`pwwXbnLB_?2nMx17K_BLvW?*<)Q@m``>AXvNQvFTRTv+iM+;{rCxdzOds zU7QxWJtxYRpImlB8x7}*zWEhOxgA`XE7*uXNP4nG0lSe3yn83=G(dfHP+IUE;4Gz9 zz@u0Z_OKpD^6svY@Z#W4@O;UESV36IZZoMS$hq^C<I%>EGfq>ZfQ3NHDQ|tWlq&?T^@dqX^#H>=Z7TVPALDIj5OCa>b9i z)q=h8~cqsh-X#GXa0V(IjXUi()YciO zd||g~O3nI$HwajYNGyx_mBjx)f;H&!XpxY?Kp*H(eg)>`xzHo2TR{-GFKZ@O<@duv z9HHpC&}S7601>mNCir!S+JZe`^r)$6g}cB$XoB+a@p_TG($;P(gpk+#P_fbX-y-8M zfkTeU#1ojgByi(NIJ}6nXc{8Z!RtT%%*$Hh24nJq>JguD>a_RdevQJ4oD;#<5_*nVQ;U~UR%t$v6P1G0G-0buHOiEKI1E z(vS`B{x=gF5-R^$&q9SMY)WAc1rHpvRC>Vbz@zW&z%smAu@`Jevns@w0nB2S-b)m1 zwD+K8Jk(ilkSre17gWn1y~VHJSrkmaHD-Bq2+EbBTIE!Z-5|$Ir_zMid^(Ap znHoTjph}UR6rVuMME`OT^D=cxPSQqO%(3&#m*SJZu8mwxLXi*z1wz&wR4L8!CN7%a|n*cTKs<-9Dw&>6$}z#f6609BA^?(5GO0VW0N8%w7tV&RQ+RW@~>~h*^$TRBPOMT zxh_x<(T7EYL6jy+$ql;2%3IC`@u7n2W7b2TzbdmQ;SE0y+H z0ZJ3q8ev*yH(+UImwTE5Y!Ue9AA8+m(g#f=0c&Z18|!ya7QFt}TWDV(?T7*Gz&U(qzw zEkpg449@(>I3b>fQYu9x>w%teKRPiF!7TQMP`n&7DrVZ>fSN31s|G33qu-2c?;;Q_TVU#6 zNox<|2aCOVz^S~$U`@j-5WCgN{~uOReC8y`%Er5T>9e9FoK~9Ex-Y!68?=O3}`7Uku zs@CSH!1Z#Hlh_K-=(lTJ9q_R#>Isr>-#g^|Q0DZXmC~z6#mTrE<3n+|fQhw2mdu7o zGq1Y%h*3QT(5g(07zqL9+rxg}MECgHx^G`=5g9P0OWFKIcK*gpUTb+m*gdxarGEo0 zA0JFOP{}6*!falH)P6Vjm?N1lH~*Ysm31ldbhC~JWZ7i7`^Z)5W8-KOgBdRdo19A@)YDO?9U_3y<&67<&ECzS@K0Fn6_EdDajNV`%>$ekL*h#+D1Hs6j8k%!TNC*0Y$v` zpg(WHzXT1Pl2GRYkSXfK2}}1fdlQ}(e+iu>0+0b(i)_pFlm^t>K3I48croG(uEk7(;RG5W-$#pl~3L)Hh2qEzUItO~iys`mkNF!4o?IF!DR+X+V90dPa{Be~=GBwT zQxGvN4miNhvan>)EC%3eb5rNa4)5)MCTIvUxN5Jtdxsp*$x#aU9%vbJU}7_<*t~CC zYabEG9i%sb?jswr5aA^jkTbKw*{lm)F9Q6Xr7!e9%0vKCgsHE;$m$lHphEZpIcbXJ zml^)MuE_R-Vh(X9nSRxRy5Y}DsK*t~8w0_5<4MBi?_*?2 zt8ZQe{K|&n9gK$@5zgO!eA0=7v-Ds{+E&38rUaEh!yh^>%)cLm3znFIYE>bHFMAQc}N0~|R`&=eaP*~x8+{5{$qPR<00 z8>xQ!2X!|<`97Wy#(3-MF}>)t2$pr9O6ZztM| zJ8!}ZDyH+KRC{&{CfM-5ucFA?`%E5^Qm12UW~T8|H`~%&p=M^>Nlk4AD)~i1x5~OG z2dGaWOBe>9q*1>Ge7~6svd94P?~}fRidEaHaQa=~A9<_<1=~Vt2hh~l-a=3=6x0Aw zOej59C}OGumQ#+|<8$BPgr^p;@8<}~6QzV;o*7ziaIY8VpwY@vP94)I*&CO|$yO7r9SM%-~V?wt!z=Hvi~1Z-|b^QUe( z-3o`r#bFcZ`%?vgVtUZn0S2@QLdN`2M&r^u$-*BN(h{fc>dqsBJ3NaYMTc6~nGq74 zWj+r74-d>NZo`G2Lg)=ZGc7byf^B#kh*j-EcUnA%4by?{)(Xhq3Oj1%XS#CSA1WQ# zZf;Z_q2jpTEBeQ7am+;!g$vsI4z+zSYseESHO`CukoyL;{-6-fF>i?f(QT-F6k>1= ze75A-25iI}_k|kUw@h&9s8za`~A zIy;&}ltokHo(g+mPX;nQi@O&YNyfo%duRm!fv**xfpPLdGYfgfKuzKFA#7^r+PtXf zru*2U@t<5_OJm( z!QJ^w5SGvoLy`oeZe6fAo`ibH;zuq-0>D97pF6g4TYQ4~4eHcsl5eCPVxQ_rmFE$) zsOTIh1{HB>cT^tCRTnA0Q0=UpIJ99k>Y8Y-KFyZL}#|vPi1LW}+EeHOI zbFR?eKvC-oNA&C+coFcN;h^QZ&_jq(E%1`EVN;@LJ!B8DB9&smZ;<@V_9It`gr-wK z{ZPW&zjfeN@HjxH($WJQk_uW91v#>ekU*NljsQEZd9>p6N&rM=mv>WNogX^Ta^>3h z(Rw13K+qWMc&=VSj4EKFR|aFncHZ$P^p0H=+gElcvGG9}5%Ei~UC}JG3uGnE zMb~wVfdQZ-1QwB8IdaGEfhPI{C=GeQESAY8yY-ep+=n5ANoLr0?2ISsEKnivALf^4P*@_Qu) z9!4mKUG4XAIyr{zsEbWRb=K>S`hTy;^_z^V=PO7I!Gr>b#QD51b^2aUy3Zlh00f@c zDWK);haGSWs^6m~>!#~BKi}9%O$Xr%ewG|V{y)1v%D5o!c8G7p!?G=|*V;@0dPqW( zX7CL}nJVxuam4n&4jzT0 WrkkjUMISU0n4=m7>LqH{A^!_mTxC4~ literal 0 HcmV?d00001 diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main.py new file mode 100644 index 0000000000..e5a218de40 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main.py @@ -0,0 +1,46 @@ +import os +import paddle +import train +import argparse +from dataset.load_dataset import load_train_val_fold +from dataset.dataset import GraphDataset +from models.Transolver import Model + +parser = argparse.ArgumentParser() +parser.add_argument('--data_dir', default= +'data/PDE_data/mlcfd_data/training_data') +parser.add_argument('--save_dir', default= +'data/PDE_data/mlcfd_data/preprocessed_data') +parser.add_argument('--fold_id', default=0, type=int) +parser.add_argument('--gpu', default=3, type=int) +parser.add_argument('--val_iter', default=10, type=int) +parser.add_argument('--cfd_config_dir', default='cfd/cfd_params.yaml') +parser.add_argument('--cfd_model', default='Transolver') +parser.add_argument('--cfd_mesh', action='store_true') +parser.add_argument('--r', default=0.2, type=float) +parser.add_argument('--weight', default=0.5, type=float) +parser.add_argument('--lr', default=0.001, type=float) +parser.add_argument('--batch_size', default=1, type=float) +parser.add_argument('--nb_epochs', default=200, type=float) +parser.add_argument('--preprocessed', default=1, type=int) +args = parser.parse_args() +print(args) +hparams = {'lr': args.lr, 'batch_size': args.batch_size, 'nb_epochs': args. + nb_epochs} +n_gpu = paddle.device.cuda.device_count() +use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 +device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') +print(device) +train_data, val_data, coef_norm = load_train_val_fold(args, preprocessed= +args.preprocessed) +train_ds = GraphDataset(train_data, use_cfd_mesh=args.cfd_mesh, r=args.r) +val_ds = GraphDataset(val_data, use_cfd_mesh=args.cfd_mesh, r=args.r) +if args.cfd_model == 'Transolver': + model = Model(n_hidden=256, n_layers=8, space_dim=7, fun_dim=0, n_head= + 8, mlp_ratio=2, out_dim=4, slice_num=32, unified_pos=0).to(device) +path = ( + f'metrics/{args.cfd_model}/{args.fold_id}/{args.nb_epochs}_{args.weight}') +if not os.path.exists(path): + os.makedirs(path) +model = train.main(device, train_ds, val_ds, model, hparams, path, val_iter +=args.val_iter, reg=args.weight, coef_norm=coef_norm) diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main_evaluation.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main_evaluation.py new file mode 100644 index 0000000000..ad4183b741 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main_evaluation.py @@ -0,0 +1,131 @@ +import os +import paddle +import argparse +import yaml +import numpy as np +import time +from paddle.io import DataLoader +from utils.drag_coefficient import cal_coefficient +from dataset.load_dataset import load_train_val_fold_file +from dataset.dataset import GraphDataset +import scipy as sc +from models.Transolver import Model +from train import custom_collate_fn + +parser = argparse.ArgumentParser() +parser.add_argument('--data_dir', default= + 'data/PDE_data/mlcfd_data/training_data') +parser.add_argument('--save_dir', default= + 'data/PDE_data/mlcfd_data/preprocessed_data') +parser.add_argument('--fold_id', default=0, type=int) +parser.add_argument('--gpu', default=3, type=int) +parser.add_argument('--cfd_model', default='Transolver', type=str) +parser.add_argument('--cfd_mesh', action='store_true') +parser.add_argument('--r', default=0.2, type=float) +parser.add_argument('--weight', default=0.5, type=float) +parser.add_argument('--nb_epochs', default=200, type=float) +args = parser.parse_args() +print(args) +n_gpu = paddle.device.cuda.device_count() +use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 +device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') +train_data, val_data, coef_norm, vallst = load_train_val_fold_file(args, + preprocessed=True) +val_ds = GraphDataset(val_data, use_cfd_mesh=args.cfd_mesh, r=args.r) +path = ( + f'metrics/{args.cfd_model}/{args.fold_id}/{args.nb_epochs}_{args.weight}') + +# 检查模型类型并实例化 +if args.cfd_model == 'Transolver': + model = Model( + n_hidden=256, + n_layers=8, + space_dim=7, + fun_dim=0, + n_head=8, + mlp_ratio=2, + out_dim=4, + slice_num=32, + unified_pos=0 + ).to(device) + + # 加载已保存的模型权重 + model_path = os.path.join(path, f"model_{args.nb_epochs}.pdparams") + model.set_state_dict(paddle.load(model_path)) + + +test_loader = DataLoader(val_ds, batch_size=1, collate_fn=custom_collate_fn) +if not os.path.exists('./results/' + args.cfd_model + '/'): + os.makedirs('./results/' + args.cfd_model + '/') +with paddle.no_grad(): + model.eval() + criterion_func = paddle.nn.MSELoss(reduction='none') + l2errs_press = [] + l2errs_velo = [] + mses_press = [] + mses_velo_var = [] + times = [] + gt_coef_list = [] + pred_coef_list = [] + coef_error = 0 + index = 0 + for cfd_data, geom in test_loader: + print(vallst[index]) + cfd_data = cfd_data.to(device) + geom = geom.to(device) + tic = time.time() + out = model((cfd_data, geom)) + toc = time.time() + targets = cfd_data.y + if coef_norm is not None: + mean = paddle.to_tensor(data=coef_norm[2]).to(device) + std = paddle.to_tensor(data=coef_norm[3]).to(device) + pred_press = out[cfd_data.surf, -1] * std[-1] + mean[-1] + gt_press = targets[cfd_data.surf, -1] * std[-1] + mean[-1] + pred_velo = out[~cfd_data.surf, :-1] * std[:-1] + mean[:-1] + gt_velo = targets[~cfd_data.surf, :-1] * std[:-1] + mean[:-1] + out_denorm = out * std + mean + y_denorm = targets * std + mean + np.save('./results/' + args.cfd_model + '/' + str(index) + + '_pred.npy', out_denorm.detach().cpu().numpy()) + np.save('./results/' + args.cfd_model + '/' + str(index) + + '_gt.npy', y_denorm.detach().cpu().numpy()) + pred_coef = cal_coefficient(vallst[index].split('/')[1], pred_press + [:, None].detach().cpu().numpy(), pred_velo.detach().cpu().numpy()) + gt_coef = cal_coefficient(vallst[index].split('/')[1], gt_press[:, + None].detach().cpu().numpy(), gt_velo.detach().cpu().numpy()) + gt_coef_list.append(gt_coef) + pred_coef_list.append(pred_coef) + coef_error += abs(pred_coef - gt_coef) / gt_coef + print(coef_error / (index + 1)) + l2err_press = paddle.linalg.norm(x=pred_press - gt_press + ) / paddle.linalg.norm(x=gt_press) + l2err_velo = paddle.linalg.norm(x=pred_velo - gt_velo + ) / paddle.linalg.norm(x=gt_velo) + mse_press = criterion_func(out[cfd_data.surf, -1], targets[cfd_data + .surf, -1]).mean(axis=0) + mse_velo_var = criterion_func(out[~cfd_data.surf, :-1], targets[~ + cfd_data.surf, :-1]).mean(axis=0) + l2errs_press.append(l2err_press.cpu().numpy()) + l2errs_velo.append(l2err_velo.cpu().numpy()) + mses_press.append(mse_press.cpu().numpy()) + mses_velo_var.append(mse_velo_var.cpu().numpy()) + times.append(toc - tic) + index += 1 + gt_coef_list = np.array(gt_coef_list) + pred_coef_list = np.array(pred_coef_list) + spear = sc.stats.spearmanr(gt_coef_list, pred_coef_list)[0] + print('rho_d: ', spear) + print('c_d: ', coef_error / index) + l2err_press = np.mean(l2errs_press) + l2err_velo = np.mean(l2errs_velo) + rmse_press = np.sqrt(np.mean(mses_press)) + rmse_velo_var = np.sqrt(np.mean(mses_velo_var, axis=0)) + if coef_norm is not None: + rmse_press *= coef_norm[3][-1] + rmse_velo_var *= coef_norm[3][:-1] + print('relative l2 error press:', l2err_press) + print('relative l2 error velo:', l2err_velo) + print('press:', rmse_press) + print('velo:', rmse_velo_var, np.sqrt(np.mean(np.square(rmse_velo_var)))) + print('time:', np.mean(times)) diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/models/Transolver.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/models/Transolver.py new file mode 100644 index 0000000000..9f693cbcdc --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/models/Transolver.py @@ -0,0 +1,211 @@ +import sys +# sys.path.append('../../utils') +from utils import paddle_aux +import paddle +import numpy as np +from paddle.nn.initializer import TruncatedNormal, Constant +from einops import rearrange, repeat +ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': + paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. + LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': + paddle.nn.ELU, 'silu': paddle.nn.Silu} + + +class Physics_Attention_Irregular_Mesh(paddle.nn.Layer): + + def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64): + super().__init__() + inner_dim = dim_head * heads + self.dim_head = dim_head + self.heads = heads + self.scale = dim_head ** -0.5 + self.softmax = paddle.nn.Softmax(axis=-1) + self.dropout = paddle.nn.Dropout(p=dropout) + self.temperature = paddle.base.framework.EagerParamBase.from_tensor( + tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) + self.in_project_x = paddle.nn.Linear(in_features=dim, out_features= + inner_dim) + self.in_project_fx = paddle.nn.Linear(in_features=dim, out_features + =inner_dim) + self.in_project_slice = paddle.nn.Linear(in_features=dim_head, + out_features=slice_num) + for l in [self.in_project_slice]: + init_Orthogonal = paddle.nn.initializer.Orthogonal() + init_Orthogonal(l.weight) + self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= + inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) + + def forward(self, x): + B, N, C = tuple(x.shape) + fx_mid = self.in_project_fx(x).reshape(B, N, self.heads, self.dim_head + ).transpose(perm=[0, 2, 1, 3]).contiguous() + x_mid = self.in_project_x(x).reshape(B, N, self.heads, self.dim_head + ).transpose(perm=[0, 2, 1, 3]).contiguous() + slice_weights = self.softmax(self.in_project_slice(x_mid) / self. + temperature) + slice_norm = slice_weights.sum(axis=2) + slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) + slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( + repeat_times=[1, 1, 1, self.dim_head]) + q_slice_token = self.to_q(slice_token) + k_slice_token = self.to_k(slice_token) + v_slice_token = self.to_v(slice_token) + dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( + perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) + ) * self.scale + attn = self.softmax(dots) + attn = self.dropout(attn) + out_slice_token = paddle.matmul(x=attn, y=v_slice_token) + out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights + ) + out_x = rearrange(out_x, 'b h n d -> b n (h d)') + return self.to_out(out_x) + + +class MLP(paddle.nn.Layer): + + def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', + res=True): + super(MLP, self).__init__() + if act in ACTIVATION.keys(): + act = ACTIVATION[act] + else: + raise NotImplementedError + self.n_input = n_input + self.n_hidden = n_hidden + self.n_output = n_output + self.n_layers = n_layers + self.res = res + self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features + =n_input, out_features=n_hidden), act()) + self.linear_post = paddle.nn.Linear(in_features=n_hidden, + out_features=n_output) + self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), + act()) for _ in range(n_layers)]) + + def forward(self, x): + x = self.linear_pre(x) + for i in range(self.n_layers): + if self.res: + x = self.linears[i](x) + x + else: + x = self.linears[i](x) + x = self.linear_post(x) + return x + + +class Transolver_block(paddle.nn.Layer): + """Transformer encoder block.""" + + def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act + ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32): + super().__init__() + self.last_layer = last_layer + self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.Attn = Physics_Attention_Irregular_Mesh(hidden_dim, heads= + num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, + slice_num=slice_num) + self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, + n_layers=0, res=False, act=act) + if self.last_layer: + self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, + out_features=out_dim) + + def forward(self, fx): + fx = self.Attn(self.ln_1(fx)) + fx + fx = self.mlp(self.ln_2(fx)) + fx + if self.last_layer: + return self.mlp2(self.ln_3(fx)) + else: + return fx + + +class Model(paddle.nn.Layer): + + def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0, + n_head=8, act='gelu', mlp_ratio=1, fun_dim=1, out_dim=1, slice_num= + 32, ref=8, unified_pos=False): + super(Model, self).__init__() + self.__name__ = 'UniPDE_3D' + self.ref = ref + self.unified_pos = unified_pos + if self.unified_pos: + self.preprocess = MLP(fun_dim + self.ref * self.ref * self.ref, + n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) + else: + self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, + n_hidden, n_layers=0, res=False, act=act) + self.n_hidden = n_hidden + self.space_dim = space_dim + self.blocks = paddle.nn.LayerList(sublayers=[Transolver_block( + num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, + mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, + last_layer=_ == n_layers - 1) for _ in range(n_layers)]) + self.initialize_weights() + self.placeholder = paddle.base.framework.EagerParamBase.from_tensor( + tensor = 1 / n_hidden * paddle.rand(shape=[n_hidden], dtype='float32')) + + def initialize_weights(self): + self.apply(self._init_weights) + + + def _init_weights(self, m): + if isinstance(m, paddle.nn.Linear): + trunc_normal = TruncatedNormal(mean=0.0, std=0.02) + trunc_normal(m.weight) + if m.bias is not None: + constant = Constant(value=0.0) + constant(m.bias) + elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): + constant = Constant(value=0.0) + constant(m.bias) + constant = Constant(value=1.0) + constant(m.weight) + + + def get_grid(self, my_pos): + batchsize = tuple(my_pos.shape)[0] + gridx = paddle.to_tensor(data=np.linspace(-1.5, 1.5, self.ref), + dtype='float32') + gridx = gridx.reshape(1, self.ref, 1, 1, 1).tile(repeat_times=[ + batchsize, 1, self.ref, self.ref, 1]) + gridy = paddle.to_tensor(data=np.linspace(0, 2, self.ref), dtype= + 'float32') + gridy = gridy.reshape(1, 1, self.ref, 1, 1).tile(repeat_times=[ + batchsize, self.ref, 1, self.ref, 1]) + gridz = paddle.to_tensor(data=np.linspace(-4, 4, self.ref), dtype= + 'float32') + gridz = gridz.reshape(1, 1, 1, self.ref, 1).tile(repeat_times=[ + batchsize, self.ref, self.ref, 1, 1]) + grid_ref = paddle.concat(x=(gridx, gridy, gridz), axis=-1).cuda( + blocking=True).reshape(batchsize, self.ref ** 3, 3) + pos = paddle.sqrt(x=paddle.sum(x=(my_pos[:, :, None, :] - grid_ref[ + :, None, :, :]) ** 2, axis=-1)).reshape(batchsize, tuple(my_pos + .shape)[1], self.ref * self.ref * self.ref).contiguous() + return pos + + def forward(self, data): + cfd_data, geom_data = data + x, fx, T = cfd_data.x, None, None + x = x[None, :, :] + if self.unified_pos: + new_pos = self.get_grid(cfd_data.pos[None, :, :]) + x = paddle.concat(x=(x, new_pos), axis=-1) + if fx is not None: + fx = paddle.concat(x=(x, fx), axis=-1) + fx = self.preprocess(fx) + else: + fx = self.preprocess(x) + fx = fx + self.placeholder[None, None, :] + for block in self.blocks: + fx = block(fx) + return fx[0] diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Evaluation.sh b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Evaluation.sh new file mode 100644 index 0000000000..e7620b6255 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Evaluation.sh @@ -0,0 +1,6 @@ +export CUDA_VISIBLE_DEVICES=3 + +python main_evaluation.py \ +--cfd_model=Transolver \ +--data_dir data/PDE_data/mlcfd_data/training_data \ +--save_dir data/PDE_data/mlcfd_data/preprocessed_data \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Transolver.sh b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Transolver.sh new file mode 100644 index 0000000000..33a4e83af0 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Transolver.sh @@ -0,0 +1,8 @@ +export CUDA_VISIBLE_DEVICES=3 + +python main.py \ +--cfd_model=Transolver \ +--gpu 3 \ +--preprocessed 1 \ +--data_dir data/PDE_data/mlcfd_data/training_data \ +--save_dir data/PDE_data/mlcfd_data/preprocessed_data \ diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/train.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/train.py new file mode 100644 index 0000000000..058977bc0a --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/train.py @@ -0,0 +1,146 @@ +import os +import paddle +import numpy as np +import time, json +from paddle.io import DataLoader +from tqdm import tqdm +from typing import List, Tuple +from dataset.dataset import Data + + +def custom_collate_fn(batch: Tuple['Data', paddle.Tensor]): + """自定义collate_fn,用于处理单个Data类型的数据项,直接返回单个数据和shape。""" + data, shape = batch[0] + + # 提取 cfd_data 的各属性 + pos = data.pos + x = data.x + y = data.y + surf = data.surf + edge_index = data.edge_index + + # 创建新的 Data 对象 + single_data = Data(pos=pos, x=x, y=y, surf=surf, edge_index=edge_index) + + # 直接返回单个 Data 和 shape + return single_data, shape + + + +def get_nb_trainable_params(model): + """ + Return the number of trainable parameters + """ + model_parameters = filter(lambda p: not p.stop_gradient, model.parameters() + ) + return sum([np.prod(tuple(p.shape)) for p in model_parameters]) + + +def train(device, model, train_loader, optimizer, scheduler, reg=1): + model.train() + criterion_func = paddle.nn.MSELoss(reduction='none') + losses_press = [] + losses_velo = [] + for cfd_data, geom in train_loader: + cfd_data = cfd_data.to(device) + geom = geom.to(device) + optimizer.clear_gradients(set_to_zero=False) + out = model((cfd_data, geom)) + targets = cfd_data.y + loss_press = criterion_func(out[cfd_data.surf, -1], targets[ + cfd_data.surf, -1]).mean(axis=0) + loss_velo_var = criterion_func(out[:, :-1], targets[:, :-1]).mean(axis + =0) + loss_velo = loss_velo_var.mean() + total_loss = loss_velo + reg * loss_press + total_loss.backward() + optimizer.step() + scheduler.step() + losses_press.append(loss_press.item()) + losses_velo.append(loss_velo.item()) + return np.mean(losses_press), np.mean(losses_velo) + + +@paddle.no_grad() +def test(device, model, test_loader): + model.eval() + criterion_func = paddle.nn.MSELoss(reduction='none') + losses_press = [] + losses_velo = [] + for cfd_data, geom in test_loader: + cfd_data = cfd_data.to(device) + geom = geom.to(device) + out = model((cfd_data, geom)) + targets = cfd_data.y + loss_press = criterion_func(out[cfd_data.surf, -1], targets[ + cfd_data.surf, -1]).mean(axis=0) + loss_velo_var = criterion_func(out[:, :-1], targets[:, :-1]).mean(axis + =0) + loss_velo = loss_velo_var.mean() + losses_press.append(loss_press.item()) + losses_velo.append(loss_velo.item()) + return np.mean(losses_press), np.mean(losses_velo) + + +class NumpyEncoder(json.JSONEncoder): + + def default(self, obj): + if isinstance(obj, np.ndarray): + return obj.tolist() + return json.JSONEncoder.default(self, obj) + + +def main(device, train_dataset, val_dataset, Net, hparams, path, reg=1, + val_iter=1, coef_norm=[]): + model = Net.to(device) + optimizer = paddle.optimizer.Adam(parameters=model.parameters(), + learning_rate=hparams['lr'], weight_decay=0.0) + tmp_lr = paddle.optimizer.lr.CosineAnnealingDecay(T_max=(len( + train_dataset) // hparams['batch_size'] + 1) * hparams['nb_epochs'], + eta_min=hparams['lr'] / 1000, learning_rate=optimizer.get_lr()) + optimizer.set_lr_scheduler(tmp_lr) + lr_scheduler = tmp_lr + start = time.time() + train_loss, val_loss = 100000.0, 100000.0 + pbar_train = tqdm(range(hparams['nb_epochs']), position=0) + for epoch in pbar_train: + train_loader = DataLoader(train_dataset, batch_size=hparams[ + 'batch_size'], shuffle=True, drop_last=True, collate_fn=custom_collate_fn) + loss_velo, loss_press = train(device, model, train_loader, + optimizer, lr_scheduler, reg=reg) + train_loss = loss_velo + reg * loss_press + del train_loader + if val_iter is not None and (epoch == hparams['nb_epochs'] - 1 or + epoch % val_iter == 0): + val_loader = DataLoader(val_dataset, batch_size=1, collate_fn=custom_collate_fn) + loss_velo, loss_press = test(device, model, val_loader) + val_loss = loss_velo + reg * loss_press + del val_loader + pbar_train.set_postfix(train_loss=train_loss, val_loss=val_loss) + else: + pbar_train.set_postfix(train_loss=train_loss) + end = time.time() + time_elapsed = end - start + params_model = float(get_nb_trainable_params(model)) # 确保 params_model 是浮点数 + print('Number of parameters:', params_model) + print('Time elapsed: {0:.2f} seconds'.format(time_elapsed)) + + # 保存模型权重 + model_path = os.path.join(path, f"model_{hparams['nb_epochs']}.pdparams") + paddle.save(model.state_dict(), model_path) + + # 记录日志 + if val_iter is not None: + log_path = os.path.join(path, f"log_{hparams['nb_epochs']}.json") + with open(log_path, 'a') as f: + log_data = { + 'nb_parameters': params_model, + 'time_elapsed': time_elapsed, + 'hparams': hparams, + 'train_loss': train_loss, + 'val_loss': val_loss, + 'coef_norm': list(coef_norm) + } + json.dump(log_data, f, indent=4, cls=NumpyEncoder) + + return model diff --git a/examples/fsi/Transolver-paddle-convert-main/Physics_Attention.py b/examples/fsi/Transolver-paddle-convert-main/Physics_Attention.py new file mode 100644 index 0000000000..79ab672970 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Physics_Attention.py @@ -0,0 +1,191 @@ +import sys +# sys.path.append('../../utils') +from utils import paddle_aux +import paddle +from einops import rearrange, repeat + + +class Physics_Attention_Irregular_Mesh(paddle.nn.Layer): + + def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64): + super().__init__() + inner_dim = dim_head * heads + self.dim_head = dim_head + self.heads = heads + self.scale = dim_head ** -0.5 + self.softmax = paddle.nn.Softmax(axis=-1) + self.dropout = paddle.nn.Dropout(p=dropout) + self.temperature = paddle.base.framework.EagerParamBase.from_tensor( + tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) + self.in_project_x = paddle.nn.Linear(in_features=dim, out_features= + inner_dim) + self.in_project_fx = paddle.nn.Linear(in_features=dim, out_features + =inner_dim) + self.in_project_slice = paddle.nn.Linear(in_features=dim_head, + out_features=slice_num) + for l in [self.in_project_slice]: + init_Orthogonal = paddle.nn.initializer.Orthogonal() + init_Orthogonal(l.weight) + self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= + inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) + + def forward(self, x): + B, N, C = tuple(x.shape) + fx_mid = self.in_project_fx(x).reshape(B, N, self.heads, self.dim_head + ).transpose(perm=[0, 2, 1, 3]).contiguous() + x_mid = self.in_project_x(x).reshape(B, N, self.heads, self.dim_head + ).transpose(perm=[0, 2, 1, 3]).contiguous() + slice_weights = self.softmax(self.in_project_slice(x_mid) / self. + temperature) + slice_norm = slice_weights.sum(axis=2) + slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) + slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( + repeat_times=[1, 1, 1, self.dim_head]) + q_slice_token = self.to_q(slice_token) + k_slice_token = self.to_k(slice_token) + v_slice_token = self.to_v(slice_token) + dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( + perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) + ) * self.scale + attn = self.softmax(dots) + attn = self.dropout(attn) + out_slice_token = paddle.matmul(x=attn, y=v_slice_token) + out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights + ) + out_x = rearrange(out_x, 'b h n d -> b n (h d)') + return self.to_out(out_x) + + +class Physics_Attention_Structured_Mesh_2D(paddle.nn.Layer): + + def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64, + H=101, W=31, kernel=3): + super().__init__() + inner_dim = dim_head * heads + self.dim_head = dim_head + self.heads = heads + self.scale = dim_head ** -0.5 + self.softmax = paddle.nn.Softmax(axis=-1) + self.dropout = paddle.nn.Dropout(p=dropout) + self.temperature = paddle.base.framework.EagerParamBase.from_tensor( + tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) + self.H = H + self.W = W + self.in_project_x = paddle.nn.Conv2D(in_channels=dim, out_channels= + inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) + self.in_project_fx = paddle.nn.Conv2D(in_channels=dim, out_channels + =inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) + self.in_project_slice = paddle.nn.Linear(in_features=dim_head, + out_features=slice_num) + for l in [self.in_project_slice]: + init_Orthogonal = paddle.nn.initializer.Orthogonal() + init_Orthogonal(l.weight) + self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= + inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) + + def forward(self, x): + B, N, C = tuple(x.shape) + x = x.reshape(B, self.H, self.W, C).contiguous().transpose(perm=[0, + 3, 1, 2]).contiguous() + fx_mid = self.in_project_fx(x).transpose(perm=[0, 2, 3, 1]).contiguous( + ).reshape(B, N, self.heads, self.dim_head).transpose(perm=[0, 2, + 1, 3]).contiguous() + x_mid = self.in_project_x(x).transpose(perm=[0, 2, 3, 1]).contiguous( + ).reshape(B, N, self.heads, self.dim_head).transpose(perm=[0, 2, + 1, 3]).contiguous() + slice_weights = self.softmax(self.in_project_slice(x_mid) / paddle. + clip(x=self.temperature, min=0.1, max=5)) + slice_norm = slice_weights.sum(axis=2) + slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) + slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( + repeat_times=[1, 1, 1, self.dim_head]) + q_slice_token = self.to_q(slice_token) + k_slice_token = self.to_k(slice_token) + v_slice_token = self.to_v(slice_token) + dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( + perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) + ) * self.scale + attn = self.softmax(dots) + attn = self.dropout(attn) + out_slice_token = paddle.matmul(x=attn, y=v_slice_token) + out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights + ) + out_x = rearrange(out_x, 'b h n d -> b n (h d)') + return self.to_out(out_x) + + +class Physics_Attention_Structured_Mesh_3D(paddle.nn.Layer): + + def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=32, + H=32, W=32, D=32, kernel=3): + super().__init__() + inner_dim = dim_head * heads + self.dim_head = dim_head + self.heads = heads + self.scale = dim_head ** -0.5 + self.softmax = paddle.nn.Softmax(axis=-1) + self.dropout = paddle.nn.Dropout(p=dropout) + self.temperature = paddle.base.framework.EagerParamBase.from_tensor( + tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) + self.H = H + self.W = W + self.D = D + self.in_project_x = paddle.nn.Conv3D(in_channels=dim, out_channels= + inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) + self.in_project_fx = paddle.nn.Conv3D(in_channels=dim, out_channels + =inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) + self.in_project_slice = paddle.nn.Linear(in_features=dim_head, + out_features=slice_num) + for l in [self.in_project_slice]: + init_Orthogonal = paddle.nn.initializer.Orthogonal() + init_Orthogonal(l.weight) + self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= + inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) + + def forward(self, x): + B, N, C = tuple(x.shape) + x = x.reshape(B, self.H, self.W, self.D, C).contiguous().transpose(perm + =[0, 4, 1, 2, 3]).contiguous() + fx_mid = self.in_project_fx(x).transpose(perm=[0, 2, 3, 4, 1] + ).contiguous().reshape(B, N, self.heads, self.dim_head).transpose( + perm=[0, 2, 1, 3]).contiguous() + x_mid = self.in_project_x(x).transpose(perm=[0, 2, 3, 4, 1] + ).contiguous().reshape(B, N, self.heads, self.dim_head).transpose( + perm=[0, 2, 1, 3]).contiguous() + slice_weights = self.softmax(self.in_project_slice(x_mid) / paddle. + clip(x=self.temperature, min=0.1, max=5)) + slice_norm = slice_weights.sum(axis=2) + slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) + slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( + repeat_times=[1, 1, 1, self.dim_head]) + q_slice_token = self.to_q(slice_token) + k_slice_token = self.to_k(slice_token) + v_slice_token = self.to_v(slice_token) + dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( + perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) + ) * self.scale + attn = self.softmax(dots) + attn = self.dropout(attn) + out_slice_token = paddle.matmul(x=attn, y=v_slice_token) + out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights + ) + out_x = rearrange(out_x, 'b h n d -> b n (h d)') + return self.to_out(out_x) diff --git a/examples/fsi/Transolver-paddle-convert-main/utils/__init__.py b/examples/fsi/Transolver-paddle-convert-main/utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/fsi/Transolver-paddle-convert-main/utils/paddle_aux.py b/examples/fsi/Transolver-paddle-convert-main/utils/paddle_aux.py new file mode 100644 index 0000000000..1bc52d51c3 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/utils/paddle_aux.py @@ -0,0 +1,91 @@ + +# This file is generated by PaConvert ToolKit, please Don't edit it! +import paddle + +def reshape(self, *args, **kwargs): + if args: + if len(args)==1 and isinstance(args[0], (tuple, list)): + return paddle.reshape(self, args[0]) + else: + return paddle.reshape(self, list(args)) + elif kwargs: + assert 'shape' in kwargs + return paddle.reshape(self, shape=kwargs['shape']) + +setattr(paddle.Tensor, 'reshape', reshape) + +def min_class_func(self, *args, **kwargs): + if 'other' in kwargs: + kwargs['y'] = kwargs.pop('other') + ret = paddle.minimum(self, *args, **kwargs) + elif len(args)==1 and isinstance(args[0], paddle.Tensor): + ret = paddle.minimum(self, *args, **kwargs) + else: + if 'dim' in kwargs: + kwargs['axis'] = kwargs.pop('dim') + + if 'axis' in kwargs or len(args) >= 1: + ret = paddle.min(self, *args, **kwargs), paddle.argmin(self, *args, **kwargs) + else: + ret = paddle.min(self, *args, **kwargs) + + return ret + +def max_class_func(self, *args, **kwargs): + if 'other' in kwargs: + kwargs['y'] = kwargs.pop('other') + ret = paddle.maximum(self, *args, **kwargs) + elif len(args)==1 and isinstance(args[0], paddle.Tensor): + ret = paddle.maximum(self, *args, **kwargs) + else: + if 'dim' in kwargs: + kwargs['axis'] = kwargs.pop('dim') + + if 'axis' in kwargs or len(args) >= 1: + ret = paddle.max(self, *args, **kwargs), paddle.argmax(self, *args, **kwargs) + else: + ret = paddle.max(self, *args, **kwargs) + + return ret + +setattr(paddle.Tensor, "min", min_class_func) +setattr(paddle.Tensor, "max", max_class_func) + +def transpose_aux_func(dims,dim0, dim1): + perm = list(range(dims)) + perm[dim0], perm[dim1] = perm[dim1], perm[dim0] + return perm + +def add(self, *args, **kwargs): + if 'other' in kwargs: + y = kwargs['other'] + elif 'y' in kwargs: + y = kwargs['y'] + else: + y = args[0] + + if 'alpha' in kwargs: + alpha = kwargs['alpha'] + if alpha != 1: + if not isinstance(y, paddle.Tensor): + y = paddle.to_tensor(alpha * y) + else: + y = alpha * y + else: + if not isinstance(y, paddle.Tensor): + y = paddle.to_tensor(y) + + return paddle.add(self, y) + +setattr(paddle.Tensor, 'add', add) + +def view(self, *args, **kwargs): + if args: + if len(args)==1 and isinstance(args[0], (tuple, list, str)): + return paddle.view(self, args[0]) + else: + return paddle.view(self, list(args)) + elif kwargs: + return paddle.view(self, shape_or_dtype = list(kwargs.values())[0]) + +setattr(paddle.Tensor, 'view', view) From ae880633446fcbbca3ecbfcb53b6e2af93b522b7 Mon Sep 17 00:00:00 2001 From: Lil_Ken <98253413+LilaKen@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:37:44 +0800 Subject: [PATCH 08/10] Add files via upload --- .../Airfoil-Design-AirfRANS/LICENSE | 540 +++++++ .../Airfoil-Design-AirfRANS/README.md | 87 ++ .../dataset/__init__.py | 0 .../dataset/dataset.py | 513 +++++++ .../Airfoil-Design-AirfRANS/dataset/radius.py | 210 +++ .../Airfoil-Design-AirfRANS/main.py | 101 ++ .../main_evaluation.py | 87 ++ .../Airfoil-Design-AirfRANS/models/GUNet.py | 157 +++ .../models/GraphSAGE.py | 43 + .../Airfoil-Design-AirfRANS/models/MLP.py | 58 + .../Airfoil-Design-AirfRANS/models/NN.py | 23 + .../models/PointNet.py | 41 + .../models/Transolver.py | 208 +++ .../Airfoil-Design-AirfRANS/params.yaml | 64 + .../scripts/Evaluation.sh | 3 + .../scripts/GraphSAGE.sh | 3 + .../scripts/Transolver.sh | 3 + .../Airfoil-Design-AirfRANS/train.py | 376 +++++ .../Airfoil-Design-AirfRANS/utils/metrics.py | 437 ++++++ .../utils/metrics_NACA.py | 191 +++ .../utils/naca_generator.py | 112 ++ .../utils/reorganize.py | 13 + .../PDE-Solving-StandardBenchmark/README.md | 98 ++ .../exp_airfoil.py | 210 +++ .../exp_darcy.py | 249 ++++ .../PDE-Solving-StandardBenchmark/exp_elas.py | 189 +++ .../PDE-Solving-StandardBenchmark/exp_ns.py | 231 +++ .../PDE-Solving-StandardBenchmark/exp_pipe.py | 221 +++ .../PDE-Solving-StandardBenchmark/exp_plas.py | 291 ++++ .../log/Transolver_Airfoil_E.log | 310 +++++ .../log/Transolver_Airfoil_T.log | 1235 +++++++++++++++++ .../log/Transolver_Dracy_E.log | 240 ++++ .../log/Transolver_Dracy_T.log | 1234 ++++++++++++++++ .../log/Transolver_Elas_E.log | 238 ++++ .../log/Transolver_Elas_T.log | 1235 +++++++++++++++++ .../log/Transolver_NS_E.log | 238 ++++ .../log/Transolver_NS_E_Second.log | 238 ++++ .../log/Transolver_NS_T.log | 528 +++++++ .../log/Transolver_Pipe_E.log | 310 +++++ .../log/Transolver_Pipe_T.log | 1235 +++++++++++++++++ .../log/Transolver_Plas_E.log | 115 ++ .../log/Transolver_Plas_T.log | 611 ++++++++ .../model/Embedding.py | 80 ++ .../model/Physics_Attention.py | 191 +++ .../model/Transolver_Irregular_Mesh.py | 160 +++ .../model/Transolver_Structured_Mesh_2D.py | 184 +++ .../model/Transolver_Structured_Mesh_3D.py | 192 +++ .../model_dict.py | 8 + .../scripts/Transolver_Airfoil.sh | 16 + .../scripts/Transolver_Darcy.sh | 18 + .../scripts/Transolver_Elas.sh | 16 + .../scripts/Transolver_NS.sh | 16 + .../scripts/Transolver_Pipe.sh | 18 + .../scripts/Transolver_Plas.sh | 17 + .../utils/normalizer.py | 116 ++ .../utils/testloss.py | 42 + 56 files changed, 13600 insertions(+) create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/LICENSE create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/README.md create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/__init__.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/dataset.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/radius.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main_evaluation.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GUNet.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GraphSAGE.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/MLP.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/NN.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/PointNet.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/Transolver.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/params.yaml create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Evaluation.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/GraphSAGE.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Transolver.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/train.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics_NACA.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/naca_generator.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/reorganize.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/README.md create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_darcy.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_elas.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_ns.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_plas.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_E.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_T.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_E.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_T.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_E.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_T.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E_Second.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_T.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_E.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_T.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_E.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_T.log create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Embedding.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Physics_Attention.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Irregular_Mesh.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_2D.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_3D.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model_dict.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Airfoil.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Darcy.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Elas.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_NS.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Pipe.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Plas.sh create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/normalizer.py create mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/testloss.py diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/LICENSE b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/LICENSE new file mode 100644 index 0000000000..c734a1dd88 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/LICENSE @@ -0,0 +1,540 @@ +## ODC Open Database License (ODbL) + +### Preamble + +The Open Database License (ODbL) is a license agreement intended to +allow users to freely share, modify, and use this Database while +maintaining this same freedom for others. Many databases are covered by +copyright, and therefore this document licenses these rights. Some +jurisdictions, mainly in the European Union, have specific rights that +cover databases, and so the ODbL addresses these rights, too. Finally, +the ODbL is also an agreement in contract for users of this Database to +act in certain ways in return for accessing this Database. + +Databases can contain a wide variety of types of content (images, +audiovisual material, and sounds all in the same database, for example), +and so the ODbL only governs the rights over the Database, and not the +contents of the Database individually. Licensors should use the ODbL +together with another license for the contents, if the contents have a +single set of rights that uniformly covers all of the contents. If the +contents have multiple sets of different rights, Licensors should +describe what rights govern what contents together in the individual +record or in some other way that clarifies what rights apply. + +Sometimes the contents of a database, or the database itself, can be +covered by other rights not addressed here (such as private contracts, +trade mark over the name, or privacy rights / data protection rights +over information in the contents), and so you are advised that you may +have to consult other documents or clear other rights before doing +activities not covered by this License. + +------ + +The Licensor (as defined below) + +and + +You (as defined below) + +agree as follows: + +### 1.0 Definitions of Capitalised Words + +"Collective Database" – Means this Database in unmodified form as part +of a collection of independent databases in themselves that together are +assembled into a collective whole. A work that constitutes a Collective +Database will not be considered a Derivative Database. + +"Convey" – As a verb, means Using the Database, a Derivative Database, +or the Database as part of a Collective Database in any way that enables +a Person to make or receive copies of the Database or a Derivative +Database. Conveying does not include interaction with a user through a +computer network, or creating and Using a Produced Work, where no +transfer of a copy of the Database or a Derivative Database occurs. +"Contents" – The contents of this Database, which includes the +information, independent works, or other material collected into the +Database. For example, the contents of the Database could be factual +data or works such as images, audiovisual material, text, or sounds. + +"Database" – A collection of material (the Contents) arranged in a +systematic or methodical way and individually accessible by electronic +or other means offered under the terms of this License. + +"Database Directive" – Means Directive 96/9/EC of the European +Parliament and of the Council of 11 March 1996 on the legal protection +of databases, as amended or succeeded. + +"Database Right" – Means rights resulting from the Chapter III ("sui +generis") rights in the Database Directive (as amended and as transposed +by member states), which includes the Extraction and Re-utilisation of +the whole or a Substantial part of the Contents, as well as any similar +rights available in the relevant jurisdiction under Section 10.4. + +"Derivative Database" – Means a database based upon the Database, and +includes any translation, adaptation, arrangement, modification, or any +other alteration of the Database or of a Substantial part of the +Contents. This includes, but is not limited to, Extracting or +Re-utilising the whole or a Substantial part of the Contents in a new +Database. + +"Extraction" – Means the permanent or temporary transfer of all or a +Substantial part of the Contents to another medium by any means or in +any form. + +"License" – Means this license agreement and is both a license of rights +such as copyright and Database Rights and an agreement in contract. + +"Licensor" – Means the Person that offers the Database under the terms +of this License. + +"Person" – Means a natural or legal person or a body of persons +corporate or incorporate. + +"Produced Work" – a work (such as an image, audiovisual material, text, +or sounds) resulting from using the whole or a Substantial part of the +Contents (via a search or other query) from this Database, a Derivative +Database, or this Database as part of a Collective Database. + +"Publicly" – means to Persons other than You or under Your control by +either more than 50% ownership or by the power to direct their +activities (such as contracting with an independent consultant). + +"Re-utilisation" – means any form of making available to the public all +or a Substantial part of the Contents by the distribution of copies, by +renting, by online or other forms of transmission. + +"Substantial" – Means substantial in terms of quantity or quality or a +combination of both. The repeated and systematic Extraction or +Re-utilisation of insubstantial parts of the Contents may amount to the +Extraction or Re-utilisation of a Substantial part of the Contents. + +"Use" – As a verb, means doing any act that is restricted by copyright +or Database Rights whether in the original medium or any other; and +includes without limitation distributing, copying, publicly performing, +publicly displaying, and preparing derivative works of the Database, as +well as modifying the Database as may be technically necessary to use it +in a different mode or format. + +"You" – Means a Person exercising rights under this License who has not +previously violated the terms of this License with respect to the +Database, or who has received express permission from the Licensor to +exercise rights under this License despite a previous violation. + +Words in the singular include the plural and vice versa. + +### 2.0 What this License covers + +2.1. Legal effect of this document. This License is: + + a. A license of applicable copyright and neighbouring rights; + + b. A license of the Database Right; and + + c. An agreement in contract between You and the Licensor. + +2.2 Legal rights covered. This License covers the legal rights in the +Database, including: + + a. Copyright. Any copyright or neighbouring rights in the Database. + The copyright licensed includes any individual elements of the + Database, but does not cover the copyright over the Contents + independent of this Database. See Section 2.4 for details. Copyright + law varies between jurisdictions, but is likely to cover: the Database + model or schema, which is the structure, arrangement, and organisation + of the Database, and can also include the Database tables and table + indexes; the data entry and output sheets; and the Field names of + Contents stored in the Database; + + b. Database Rights. Database Rights only extend to the Extraction and + Re-utilisation of the whole or a Substantial part of the Contents. + Database Rights can apply even when there is no copyright over the + Database. Database Rights can also apply when the Contents are removed + from the Database and are selected and arranged in a way that would + not infringe any applicable copyright; and + + c. Contract. This is an agreement between You and the Licensor for + access to the Database. In return you agree to certain conditions of + use on this access as outlined in this License. + +2.3 Rights not covered. + + a. This License does not apply to computer programs used in the making + or operation of the Database; + + b. This License does not cover any patents over the Contents or the + Database; and + + c. This License does not cover any trademarks associated with the + Database. + +2.4 Relationship to Contents in the Database. The individual items of +the Contents contained in this Database may be covered by other rights, +including copyright, patent, data protection, privacy, or personality +rights, and this License does not cover any rights (other than Database +Rights or in contract) in individual Contents contained in the Database. +For example, if used on a Database of images (the Contents), this +License would not apply to copyright over individual images, which could +have their own separate licenses, or one single license covering all of +the rights over the images. + +### 3.0 Rights granted + +3.1 Subject to the terms and conditions of this License, the Licensor +grants to You a worldwide, royalty-free, non-exclusive, terminable (but +only under Section 9) license to Use the Database for the duration of +any applicable copyright and Database Rights. These rights explicitly +include commercial use, and do not exclude any field of endeavour. To +the extent possible in the relevant jurisdiction, these rights may be +exercised in all media and formats whether now known or created in the +future. + +The rights granted cover, for example: + + a. Extraction and Re-utilisation of the whole or a Substantial part of + the Contents; + + b. Creation of Derivative Databases; + + c. Creation of Collective Databases; + + d. Creation of temporary or permanent reproductions by any means and + in any form, in whole or in part, including of any Derivative + Databases or as a part of Collective Databases; and + + e. Distribution, communication, display, lending, making available, or + performance to the public by any means and in any form, in whole or in + part, including of any Derivative Database or as a part of Collective + Databases. + +3.2 Compulsory license schemes. For the avoidance of doubt: + + a. Non-waivable compulsory license schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor reserves + the exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; + + b. Waivable compulsory license schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You of + the rights granted under this License; and, + + c. Voluntary license schemes. The Licensor waives the right to collect + royalties, whether individually or, in the event that the Licensor is + a member of a collecting society that administers voluntary licensing + schemes, via that society, from any exercise by You of the rights + granted under this License. + +3.3 The right to release the Database under different terms, or to stop +distributing or making available the Database, is reserved. Note that +this Database may be multiple-licensed, and so You may have the choice +of using alternative licenses for this Database. Subject to Section +10.4, all other rights not expressly granted by Licensor are reserved. + +### 4.0 Conditions of Use + +4.1 The rights granted in Section 3 above are expressly made subject to +Your complying with the following conditions of use. These are important +conditions of this License, and if You fail to follow them, You will be +in material breach of its terms. + +4.2 Notices. If You Publicly Convey this Database, any Derivative +Database, or the Database as part of a Collective Database, then You +must: + + a. Do so only under the terms of this License or another license + permitted under Section 4.4; + + b. Include a copy of this License (or, as applicable, a license + permitted under Section 4.4) or its Uniform Resource Identifier (URI) + with the Database or Derivative Database, including both in the + Database or Derivative Database and in any relevant documentation; and + + c. Keep intact any copyright or Database Right notices and notices + that refer to this License. + + d. If it is not possible to put the required notices in a particular + file due to its structure, then You must include the notices in a + location (such as a relevant directory) where users would be likely to + look for it. + +4.3 Notice for using output (Contents). Creating and Using a Produced +Work does not require the notice in Section 4.2. However, if you +Publicly Use a Produced Work, You must include a notice associated with +the Produced Work reasonably calculated to make any Person that uses, +views, accesses, interacts with, or is otherwise exposed to the Produced +Work aware that Content was obtained from the Database, Derivative +Database, or the Database as part of a Collective Database, and that it +is available under this License. + + a. Example notice. The following text will satisfy notice under + Section 4.3: + + Contains information from DATABASE NAME, which is made available + here under the Open Database License (ODbL). + +DATABASE NAME should be replaced with the name of the Database and a +hyperlink to the URI of the Database. "Open Database License" should +contain a hyperlink to the URI of the text of this License. If +hyperlinks are not possible, You should include the plain text of the +required URI's with the above notice. + +4.4 Share alike. + + a. Any Derivative Database that You Publicly Use must be only under + the terms of: + + i. This License; + + ii. A later version of this License similar in spirit to this + License; or + + iii. A compatible license. + + If You license the Derivative Database under one of the licenses + mentioned in (iii), You must comply with the terms of that license. + + b. For the avoidance of doubt, Extraction or Re-utilisation of the + whole or a Substantial part of the Contents into a new database is a + Derivative Database and must comply with Section 4.4. + + c. Derivative Databases and Produced Works. A Derivative Database is + Publicly Used and so must comply with Section 4.4. if a Produced Work + created from the Derivative Database is Publicly Used. + + d. Share Alike and additional Contents. For the avoidance of doubt, + You must not add Contents to Derivative Databases under Section 4.4 a + that are incompatible with the rights granted under this License. + + e. Compatible licenses. Licensors may authorise a proxy to determine + compatible licenses under Section 4.4 a iii. If they do so, the + authorised proxy's public statement of acceptance of a compatible + license grants You permission to use the compatible license. + + +4.5 Limits of Share Alike. The requirements of Section 4.4 do not apply +in the following: + + a. For the avoidance of doubt, You are not required to license + Collective Databases under this License if You incorporate this + Database or a Derivative Database in the collection, but this License + still applies to this Database or a Derivative Database as a part of + the Collective Database; + + b. Using this Database, a Derivative Database, or this Database as + part of a Collective Database to create a Produced Work does not + create a Derivative Database for purposes of Section 4.4; and + + c. Use of a Derivative Database internally within an organisation is + not to the public and therefore does not fall under the requirements + of Section 4.4. + +4.6 Access to Derivative Databases. If You Publicly Use a Derivative +Database or a Produced Work from a Derivative Database, You must also +offer to recipients of the Derivative Database or Produced Work a copy +in a machine readable form of: + + a. The entire Derivative Database; or + + b. A file containing all of the alterations made to the Database or + the method of making the alterations to the Database (such as an + algorithm), including any additional Contents, that make up all the + differences between the Database and the Derivative Database. + +The Derivative Database (under a.) or alteration file (under b.) must be +available at no more than a reasonable production cost for physical +distributions and free of charge if distributed over the internet. + +4.7 Technological measures and additional terms + + a. This License does not allow You to impose (except subject to + Section 4.7 b.) any terms or any technological measures on the + Database, a Derivative Database, or the whole or a Substantial part of + the Contents that alter or restrict the terms of this License, or any + rights granted under it, or have the effect or intent of restricting + the ability of any person to exercise those rights. + + b. Parallel distribution. You may impose terms or technological + measures on the Database, a Derivative Database, or the whole or a + Substantial part of the Contents (a "Restricted Database") in + contravention of Section 4.74 a. only if You also make a copy of the + Database or a Derivative Database available to the recipient of the + Restricted Database: + + i. That is available without additional fee; + + ii. That is available in a medium that does not alter or restrict + the terms of this License, or any rights granted under it, or have + the effect or intent of restricting the ability of any person to + exercise those rights (an "Unrestricted Database"); and + + iii. The Unrestricted Database is at least as accessible to the + recipient as a practical matter as the Restricted Database. + + c. For the avoidance of doubt, You may place this Database or a + Derivative Database in an authenticated environment, behind a + password, or within a similar access control scheme provided that You + do not alter or restrict the terms of this License or any rights + granted under it or have the effect or intent of restricting the + ability of any person to exercise those rights. + +4.8 Licensing of others. You may not sublicense the Database. Each time +You communicate the Database, the whole or Substantial part of the +Contents, or any Derivative Database to anyone else in any way, the +Licensor offers to the recipient a license to the Database on the same +terms and conditions as this License. You are not responsible for +enforcing compliance by third parties with this License, but You may +enforce any rights that You have over a Derivative Database. You are +solely responsible for any modifications of a Derivative Database made +by You or another Person at Your direction. You may not impose any +further restrictions on the exercise of the rights granted or affirmed +under this License. + +### 5.0 Moral rights + +5.1 Moral rights. This section covers moral rights, including any rights +to be identified as the author of the Database or to object to treatment +that would otherwise prejudice the author's honour and reputation, or +any other derogatory treatment: + + a. For jurisdictions allowing waiver of moral rights, Licensor waives + all moral rights that Licensor may have in the Database to the fullest + extent possible by the law of the relevant jurisdiction under Section + 10.4; + + b. If waiver of moral rights under Section 5.1 a in the relevant + jurisdiction is not possible, Licensor agrees not to assert any moral + rights over the Database and waives all claims in moral rights to the + fullest extent possible by the law of the relevant jurisdiction under + Section 10.4; and + + c. For jurisdictions not allowing waiver or an agreement not to assert + moral rights under Section 5.1 a and b, the author may retain their + moral rights over certain aspects of the Database. + +Please note that some jurisdictions do not allow for the waiver of moral +rights, and so moral rights may still subsist over the Database in some +jurisdictions. + +### 6.0 Fair dealing, Database exceptions, and other rights not affected + +6.1 This License does not affect any rights that You or anyone else may +independently have under any applicable law to make any use of this +Database, including without limitation: + + a. Exceptions to the Database Right including: Extraction of Contents + from non-electronic Databases for private purposes, Extraction for + purposes of illustration for teaching or scientific research, and + Extraction or Re-utilisation for public security or an administrative + or judicial procedure. + + b. Fair dealing, fair use, or any other legally recognised limitation + or exception to infringement of copyright or other applicable laws. + +6.2 This License does not affect any rights of lawful users to Extract +and Re-utilise insubstantial parts of the Contents, evaluated +quantitatively or qualitatively, for any purposes whatsoever, including +creating a Derivative Database (subject to other rights over the +Contents, see Section 2.4). The repeated and systematic Extraction or +Re-utilisation of insubstantial parts of the Contents may however amount +to the Extraction or Re-utilisation of a Substantial part of the +Contents. + +### 7.0 Warranties and Disclaimer + +7.1 The Database is licensed by the Licensor "as is" and without any +warranty of any kind, either express, implied, or arising by statute, +custom, course of dealing, or trade usage. Licensor specifically +disclaims any and all implied warranties or conditions of title, +non-infringement, accuracy or completeness, the presence or absence of +errors, fitness for a particular purpose, merchantability, or otherwise. +Some jurisdictions do not allow the exclusion of implied warranties, so +this exclusion may not apply to You. + +### 8.0 Limitation of liability + +8.1 Subject to any liability that may not be excluded or limited by law, +the Licensor is not liable for, and expressly excludes, all liability +for loss or damage however and whenever caused to anyone by any use +under this License, whether by You or by anyone else, and whether caused +by any fault on the part of the Licensor or not. This exclusion of +liability includes, but is not limited to, any special, incidental, +consequential, punitive, or exemplary damages such as loss of revenue, +data, anticipated profits, and lost business. This exclusion applies +even if the Licensor has been advised of the possibility of such +damages. + +8.2 If liability may not be excluded by law, it is limited to actual and +direct financial loss to the extent it is caused by proved negligence on +the part of the Licensor. + +### 9.0 Termination of Your rights under this License + +9.1 Any breach by You of the terms and conditions of this License +automatically terminates this License with immediate effect and without +notice to You. For the avoidance of doubt, Persons who have received the +Database, the whole or a Substantial part of the Contents, Derivative +Databases, or the Database as part of a Collective Database from You +under this License will not have their licenses terminated provided +their use is in full compliance with this License or a license granted +under Section 4.8 of this License. Sections 1, 2, 7, 8, 9 and 10 will +survive any termination of this License. + +9.2 If You are not in breach of the terms of this License, the Licensor +will not terminate Your rights under it. + +9.3 Unless terminated under Section 9.1, this License is granted to You +for the duration of applicable rights in the Database. + +9.4 Reinstatement of rights. If you cease any breach of the terms and +conditions of this License, then your full rights under this License +will be reinstated: + + a. Provisionally and subject to permanent termination until the 60th + day after cessation of breach; + + b. Permanently on the 60th day after cessation of breach unless + otherwise reasonably notified by the Licensor; or + + c. Permanently if reasonably notified by the Licensor of the + violation, this is the first time You have received notice of + violation of this License from the Licensor, and You cure the + violation prior to 30 days after your receipt of the notice. + +Persons subject to permanent termination of rights are not eligible to +be a recipient and receive a license under Section 4.8. + +9.5 Notwithstanding the above, Licensor reserves the right to release +the Database under different license terms or to stop distributing or +making available the Database. Releasing the Database under different +license terms or stopping the distribution of the Database will not +withdraw this License (or any other license that has been, or is +required to be, granted under the terms of this License), and this +License will continue in full force and effect unless terminated as +stated above. + +### 10.0 General + +10.1 If any provision of this License is held to be invalid or +unenforceable, that must not affect the validity or enforceability of +the remainder of the terms and conditions of this License and each +remaining provision of this License shall be valid and enforced to the +fullest extent permitted by law. + +10.2 This License is the entire agreement between the parties with +respect to the rights granted here over the Database. It replaces any +earlier understandings, agreements or representations with respect to +the Database. + +10.3 If You are in breach of the terms of this License, You will not be +entitled to rely on the terms of this License or to complain of any +breach by the Licensor. + +10.4 Choice of law. This License takes effect in and will be governed by +the laws of the relevant jurisdiction in which the License terms are +sought to be enforced. If the standard suite of rights granted under +applicable copyright law and Database Rights in the relevant +jurisdiction includes additional rights not granted under this License, +these additional rights are granted in this License in order to meet the +terms of this License. diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/README.md b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/README.md new file mode 100644 index 0000000000..bedf062f13 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/README.md @@ -0,0 +1,87 @@ +# Transolver for Airfoil Design + +We test [Transolver](https://arxiv.org/abs/2402.02366) on practical design tasks. The airfoil design task requires the model to estimate the surrounding and surface physical quantities of a 2D airfoil under different Reynolds and angles of attacks. + +

+ +

+Figure 1. Airfoil design task. Left: surrounding pressure; Right: x-direction wind speed. +

+ +## Get Started + +This part of code is developed based on the [[AirfRANS]](https://github.com/Extrality/AirfRANS). + +1. Install Python 3.8. For convenience, execute the following command. + +```bash +pip install -r requirements.txt +``` + +Note: You need to install [pytorch_geometric](https://github.com/pyg-team/pytorch_geometric). + +2. Prepare Data. + +The experiment data is provided by [[AirfRANS]](https://github.com/Extrality/AirfRANS). You can directly download it with this [link](https://data.isir.upmc.fr/extrality/NeurIPS_2022/Dataset.zip) (9.3GB). + +3. Train and evaluate model. We provide the experiment scripts under the folder `./scripts/`. You can reproduce the experiment results as the following examples: + +```bash +bash scripts/Transolver.sh # for Training Transolver (will take 20-24 hours on one single A100) +bash scripts/Evaluation.sh # for Evaluation +bash scripts/GraphSAGE.sh # for Training GraphSAGE (will take 30-36 hours on one single A100) +``` + +Note: You need to change the argument `--my_path` to your dataset path. + +4. Test model with different settings. This benchmark supports four types of settings. + +| Settings | Argument | +| -------------------------------------------- | ------------- | +| Use full data | `-t full` | +| Use scarce data | `-t scarce` | +| Test on out-of-distribution Reynolds | `-t reynolds` | +| Test on out-of-distribution Angle of Attacks | `-t aoa` | + +5. Develop your own model. Here are the instructions: + + - Add the model file under folder `./models/`. + + - Add the training details in `./params.yaml`. If you donot want to change setting, just copy other models' configuration. + + - Add the model configuration into `./main.py`. + + - Add a script file under folder `./scripts/` and change the argument `--model`. + +## Main Results + +Transolver achieves the consistent best performance in practical design tasks. + +

+ +

+Table 1. Model comparisons on the practical design tasks. +

+ +## Citation + +If you find this repo useful, please cite our paper. + +``` +@inproceedings{wu2024Transolver, + title={Transolver: A Fast Transformer Solver for PDEs on General Geometries}, + author={Haixu Wu and Huakun Luo and Haowen Wang and Jianmin Wang and Mingsheng Long}, + booktitle={International Conference on Machine Learning}, + year={2024} +} +``` + +## Contact + +If you have any questions or want to use the code, please contact [wuhx23@mails.tsinghua.edu.cn](mailto:wuhx23@mails.tsinghua.edu.cn). + +## Acknowledgement + +We appreciate the following github repos a lot for their valuable code base or datasets: + +https://github.com/Extrality/AirfRANS diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/__init__.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/dataset.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/dataset.py new file mode 100644 index 0000000000..033f903ac6 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/dataset.py @@ -0,0 +1,513 @@ +import sys + +# sys.path.append('../../utils') +from utils import paddle_aux +import os +import paddle +import numpy as np +import pyvista as pv +from utils.reorganize import reorganize +from tqdm import tqdm +from paddle.io import Dataset + +class Data: + def __init__(self, pos=None, x=None, y=None, surf=None, edge_index=None): + self.pos = pos # 节点的坐标 + self.x = x # 节点特征 + self.y = y # 标签或目标值 + self.edge_index = edge_index # 边的索引 + self.surf = surf # 其他自定义属性,如 surf + + def to(self, device): + # 将数据移动到指定设备(如 GPU 或 CPU) + if self.pos is not None: + self.pos = self.pos.to(device) + if self.x is not None: + self.x = self.x.to(device) + if self.y is not None: + self.y = self.y.to(device) + if self.edge_index is not None: + self.edge_index = self.edge_index.to(device) + if self.surf is not None: + self.surf = self.surf.to(device) + return self + + def clone(self): + # 创建当前 Data 对象的深拷贝 + pos_clone = self.pos.clone() if self.pos is not None else None + x_clone = self.x.clone() if self.x is not None else None + y_clone = self.y.clone() if self.y is not None else None + edge_index_clone = self.edge_index.clone() if self.edge_index is not None else None + surf_clone = self.surf.clone() if self.surf is not None else None + return Data(pos=pos_clone, x=x_clone, y=y_clone, surf=surf_clone, edge_index=edge_index_clone) + + def size(self, dim=None): + """返回 x 的大小或指定维度的大小.""" + if self.x is not None: + # 如果 dim 是整数,则返回对应维度的大小;否则返回完整形状 + if dim is not None and isinstance(dim, int): + return self.x.shape[dim] + return self.x.shape + else: + raise AttributeError("Attribute 'x' is not set.") + + def __repr__(self): + return (f"Data(x={self._format_attr(self.x)}, " + f"edge_index={self._format_attr(self.edge_index)}, " + f"y={self._format_attr(self.y)}, " + f"pos={self._format_attr(self.pos)}, " + f"surf={self._format_attr(self.surf)})") + + def _format_attr(self, attr): + if attr is None: + return "None" + elif hasattr(attr, 'shape'): + return f"[{', '.join(map(str, attr.shape))}]" + else: + return str(attr) + + +def cell_sampling_2d(cell_points, cell_attr=None): + """ + Sample points in a two dimensional cell via parallelogram sampling and triangle interpolation via barycentric coordinates. The vertices have to be ordered in a certain way. + + Args: + cell_points (array): Vertices of the 2 dimensional cells. Shape (N, 4) for N cells with 4 vertices. + cell_attr (array, optional): Features of the vertices of the 2 dimensional cells. Shape (N, 4, k) for N cells with 4 edges and k features. + If given shape (N, 4) it will resize it automatically in a (N, 4, 1) array. Default: ``None`` + """ + v0, v1 = cell_points[:, 1] - cell_points[:, 0], cell_points[:, 3 + ] - cell_points[:, 0] + v2, v3 = cell_points[:, 3] - cell_points[:, 2], cell_points[:, 1 + ] - cell_points[:, 2] + a0, a1 = np.abs(np.linalg.det(np.hstack([v0[:, :2], v1[:, :2]]).reshape + (-1, 2, 2))), np.abs(np.linalg.det(np.hstack([v2[:, :2], v3[:, :2]] + ).reshape(-1, 2, 2))) + p = a0 / (a0 + a1) + index_triangle = np.random.binomial(1, p)[:, None] + u = np.random.uniform(size=(len(p), 2)) + sampled_point = index_triangle * (u[:, 0:1] * v0 + u[:, 1:2] * v1) + (1 - + index_triangle) * ( + u[:, 0:1] * v2 + u[:, 1:2] * v3) + sampled_point_mirror = index_triangle * ((1 - u[:, 0:1]) * v0 + (1 - u[ + :, 1:2]) * v1) + (1 - index_triangle) * ( + (1 - u[:, 0:1]) * v2 + (1 - + u[:, 1:2]) * v3) + reflex = u.sum(axis=1) > 1 + sampled_point[reflex] = sampled_point_mirror[reflex] + if cell_attr is not None: + t0, t1, t2 = np.zeros_like(v0), index_triangle * v0 + (1 - + index_triangle) * v2, index_triangle * v1 + ( + 1 - index_triangle + ) * v3 + w = (t1[:, 1] - t2[:, 1]) * (t0[:, 0] - t2[:, 0]) + (t2[:, 0] - t1[ + :, 0]) * (t0[:, 1] - t2[:, 1]) + w0 = (t1[:, 1] - t2[:, 1]) * (sampled_point[:, 0] - t2[:, 0]) + (t2 + [:, 0] - t1[:, 0]) * ( + sampled_point[:, 1] - t2[:, 1]) + w1 = (t2[:, 1] - t0[:, 1]) * (sampled_point[:, 0] - t2[:, 0]) + (t0 + [:, 0] - t2[:, 0]) * ( + sampled_point[:, 1] - t2[:, 1]) + w0, w1 = w0 / w, w1 / w + w2 = 1 - w0 - w1 + if len(tuple(cell_attr.shape)) == 2: + cell_attr = cell_attr[:, :, None] + attr0 = index_triangle * cell_attr[:, 0] + (1 - index_triangle + ) * cell_attr[:, 2] + attr1 = index_triangle * cell_attr[:, 1] + (1 - index_triangle + ) * cell_attr[:, 1] + attr2 = index_triangle * cell_attr[:, 3] + (1 - index_triangle + ) * cell_attr[:, 3] + sampled_attr = w0[:, None] * attr0 + w1[:, None] * attr1 + w2[:, None + ] * attr2 + sampled_point += index_triangle * cell_points[:, 0] + (1 - index_triangle + ) * cell_points[:, 2] + return np.hstack([sampled_point[:, :2], sampled_attr] + ) if cell_attr is not None else sampled_point[:, :2] + + +def cell_sampling_1d(line_points, line_attr=None): + """ + Sample points in a one dimensional cell via linear sampling and interpolation. + + Args: + line_points (array): Edges of the 1 dimensional cells. Shape (N, 2) for N cells with 2 edges. + line_attr (array, optional): Features of the edges of the 1 dimensional cells. Shape (N, 2, k) for N cells with 2 edges and k features. + If given shape (N, 2) it will resize it automatically in a (N, 2, 1) array. Default: ``None`` + """ + u = np.random.uniform(size=(len(line_points), 1)) + sampled_point = u * line_points[:, 0] + (1 - u) * line_points[:, 1] + if line_attr is not None: + if len(tuple(line_attr.shape)) == 2: + line_attr = line_attr[:, :, None] + sampled_attr = u * line_attr[:, 0] + (1 - u) * line_attr[:, 1] + return np.hstack([sampled_point[:, :2], sampled_attr] + ) if line_attr is not None else sampled_point[:, :2] + + +def Dataset(set, norm=False, coef_norm=None, crop=None, sample=None, n_boot=int(500000.0), surf_ratio=0.1, my_path='/data/path'): + """ + Create a list of simulation to input in a PyTorch Geometric DataLoader. Simulation are transformed by keeping vertices of the CFD mesh or + by sampling (uniformly or via the mesh density) points in the simulation cells. + + Args: + set (list): List of geometry names to include in the dataset. + norm (bool, optional): If norm is set to ``True``, the mean and the standard deviation of the dataset will be computed and returned. + Moreover, the dataset will be normalized by these quantities. Ignored when ``coef_norm`` is not None. Default: ``False`` + coef_norm (tuple, optional): This has to be a tuple of the form (mean input, std input, mean output, std ouput) if not None. + The dataset generated will be normalized by those quantites. Default: ``None`` + crop (list, optional): List of the vertices of the rectangular [xmin, xmax, ymin, ymax] box to crop simulations. Default: ``None`` + sample (string, optional): Type of sampling. If ``None``, no sampling strategy is applied and the nodes of the CFD mesh are returned. + If ``uniform`` or ``mesh`` is chosen, uniform or mesh density sampling is applied on the domain. Default: ``None`` + n_boot (int, optional): Used only if sample is not None, gives the size of the sampling for each simulation. Defaul: ``int(5e5)`` + surf_ratio (float, optional): Used only if sample is not None, gives the ratio of point over the airfoil to sample with respect to point + in the volume. Default: ``0.1`` + """ + if norm and coef_norm is not None: + raise ValueError( + 'If coef_norm is not None and norm is True, the normalization will be done via coef_norm' + ) + dataset = [] + for k, s in enumerate(tqdm(set)): + internal = pv.read(os.path.join(my_path, s, s + '_internal.vtu')) + aerofoil = pv.read(os.path.join(my_path, s, s + '_aerofoil.vtp')) + internal = internal.compute_cell_sizes(length=False, volume=False) + if crop is not None: + bounds = crop[0], crop[1], crop[2], crop[3], 0, 1 + internal = internal.clip_box(bounds=bounds, invert=False, + crinkle=True) + if sample is not None: + if sample == 'uniform': + p = internal.cell_data['Area'] / internal.cell_data['Area' + ].sum() + sampled_cell_indices = np.random.choice(internal.n_cells, + size=n_boot, p=p) + surf_p = aerofoil.cell_data['Length'] / aerofoil.cell_data[ + 'Length'].sum() + sampled_line_indices = np.random.choice(aerofoil.n_cells, + size=int(n_boot * surf_ratio), p=surf_p) + elif sample == 'mesh': + sampled_cell_indices = np.random.choice(internal.n_cells, + size=n_boot) + sampled_line_indices = np.random.choice(aerofoil.n_cells, + size=int(n_boot * surf_ratio)) + cell_dict = internal.cells.reshape(-1, 5)[sampled_cell_indices, 1:] + cell_points = internal.points[cell_dict] + line_dict = aerofoil.lines.reshape(-1, 3)[sampled_line_indices, 1:] + line_points = aerofoil.points[line_dict] + geom = -internal.point_data['implicit_distance'][cell_dict, None] + Uinf, alpha = float(s.split('_')[2]), float(s.split('_')[3] + ) * np.pi / 180 + u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2 + ) * np.ones_like( + internal.point_data['U'][cell_dict, :1]) + normal = np.zeros_like(u) + surf_geom = np.zeros_like(aerofoil.point_data['U'][line_dict, :1]) + surf_u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape( + 1, 2) * np.ones_like(aerofoil.point_data['U'][line_dict, :1]) + surf_normal = -aerofoil.point_data['Normals'][line_dict, :2] + attr = np.concatenate([u, geom, normal, internal.point_data['U' + ][cell_dict, :2], internal.point_data['p'][cell_dict, None], + internal.point_data['nut'][cell_dict, None]], axis=-1) + surf_attr = np.concatenate([surf_u, surf_geom, surf_normal, + aerofoil.point_data['U'][line_dict, :2], aerofoil. + point_data['p'][line_dict, None], aerofoil.point_data['nut' + ][line_dict, None]], axis=-1) + sampled_points = cell_sampling_2d(cell_points, attr) + surf_sampled_points = cell_sampling_1d(line_points, surf_attr) + pos = sampled_points[:, :2] + init = sampled_points[:, :7] + target = sampled_points[:, 7:] + surf_pos = surf_sampled_points[:, :2] + surf_init = surf_sampled_points[:, :7] + surf_target = surf_sampled_points[:, 7:] + surf = paddle.concat(x=[paddle.zeros(shape=len(pos)), paddle. + ones(shape=len(surf_pos))], axis=0) + pos = paddle.concat(x=[paddle.to_tensor(data=pos, dtype= + 'float32'), paddle.to_tensor(data=surf_pos, dtype='float32' + )], axis=0) + x = paddle.concat(x=[paddle.to_tensor(data=init, dtype= + 'float32'), paddle.to_tensor(data=surf_init, dtype= + 'float32')], axis=0) + y = paddle.concat(x=[paddle.to_tensor(data=target, dtype= + 'float32'), paddle.to_tensor(data=surf_target, dtype= + 'float32')], axis=0) + else: + surf_bool = internal.point_data['U'][:, 0] == 0 + geom = -internal.point_data['implicit_distance'][:, None] + Uinf, alpha = float(s.split('_')[2]), float(s.split('_')[3] + ) * np.pi / 180 + u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2 + ) * np.ones_like( + internal.point_data['U'][:, :1]) + normal = np.zeros_like(u) + normal[surf_bool] = reorganize(aerofoil.points[:, :2], internal + .points[surf_bool, :2], -aerofoil.point_data['Normals'][:, :2]) + attr = np.concatenate([u, geom, normal, internal.point_data['U' + ][:, :2], internal.point_data['p'][:, None], internal. + point_data['nut'][:, None]], axis=-1) + pos = internal.points[:, :2] + init = np.concatenate([pos, attr[:, :5]], axis=1) + target = attr[:, 5:] + surf = paddle.to_tensor(data=surf_bool) + pos = paddle.to_tensor(data=pos, dtype='float32') + x = paddle.to_tensor(data=init, dtype='float32') + y = paddle.to_tensor(data=target, dtype='float32') + if norm and coef_norm is None: + if k == 0: + old_length = tuple(init.shape)[0] + mean_in = init.mean(axis=0, dtype=np.double) + mean_out = target.mean(axis=0, dtype=np.double) + else: + new_length = old_length + tuple(init.shape)[0] + mean_in += (init.sum(axis=0, dtype=np.double) - tuple(init. + shape)[0] * mean_in) / new_length + mean_out += (target.sum(axis=0, dtype=np.double) - tuple( + init.shape)[0] * mean_out) / new_length + old_length = new_length + data = Data(pos=pos, x=x, y=y, surf=surf.astype(dtype='bool')) + dataset.append(data) + if norm and coef_norm is None: + mean_in = mean_in.astype(np.single) + mean_out = mean_out.astype(np.single) + for k, data in enumerate(dataset): + if k == 0: + old_length = tuple(data.x.numpy().shape)[0] + std_in = ((data.x.numpy() - mean_in) ** 2).sum(axis=0, + dtype=np.double) / old_length + std_out = ((data.y.numpy() - mean_out) ** 2).sum(axis=0, + dtype=np.double) / old_length + else: + new_length = old_length + tuple(data.x.numpy().shape)[0] + std_in += (((data.x.numpy() - mean_in) ** 2).sum(axis=0, + dtype=np.double) - tuple(data.x.numpy().shape)[ + 0] * std_in + ) / new_length + std_out += (((data.y.numpy() - mean_out) ** 2).sum(axis=0, + dtype=np.double) - tuple(data.x.numpy().shape)[ + 0] * std_out + ) / new_length + old_length = new_length + std_in = np.sqrt(std_in).astype(np.single) + std_out = np.sqrt(std_out).astype(np.single) + for data in dataset: + data.x = (data.x - mean_in) / (std_in + 1e-08) + data.y = (data.y - mean_out) / (std_out + 1e-08) + coef_norm = mean_in, std_in, mean_out, std_out + dataset = dataset, coef_norm + elif coef_norm is not None: + for data in dataset: + data.x = (data.x - coef_norm[0]) / (coef_norm[1] + 1e-08) + data.y = (data.y - coef_norm[2]) / (coef_norm[3] + 1e-08) + return dataset + +# class CFDataset: +# def __init__(self, set, norm=False, coef_norm=None, crop=None, sample=None, n_boot=int(500000.0), surf_ratio=0.1, my_path='/data/path'): +# """ +# Create a list of simulation to input in a Paddle DataLoader. Simulation are transformed by keeping vertices of the CFD mesh or +# by sampling (uniformly or via the mesh density) points in the simulation cells. +# +# Args: +# set (list): List of geometry names to include in the dataset. +# norm (bool, optional): If norm is set to ``True``, the mean and the standard deviation of the dataset will be computed and returned. +# Moreover, the dataset will be normalized by these quantities. Ignored when ``coef_norm`` is not None. Default: ``False`` +# coef_norm (tuple, optional): This has to be a tuple of the form (mean input, std input, mean output, std ouput) if not None. +# The dataset generated will be normalized by those quantites. Default: ``None`` +# crop (list, optional): List of the vertices of the rectangular [xmin, xmax, ymin, ymax] box to crop simulations. Default: ``None`` +# sample (string, optional): Type of sampling. If ``None``, no sampling strategy is applied and the nodes of the CFD mesh are returned. +# If ``uniform`` or ``mesh`` is chosen, uniform or mesh density sampling is applied on the domain. Default: ``None`` +# n_boot (int, optional): Used only if sample is not None, gives the size of the sampling for each simulation. Default: ``int(5e5)`` +# surf_ratio (float, optional): Used only if sample is not None, gives the ratio of point over the airfoil to sample with respect to point +# in the volume. Default: ``0.1`` +# """ +# self.set = set +# self.norm = norm +# self.coef_norm = coef_norm +# self.crop = crop +# self.sample = sample +# self.n_boot = n_boot +# self.surf_ratio = surf_ratio +# self.my_path = my_path +# self.dataset = [] +# self.mean_in, self.std_in, self.mean_out, self.std_out = None, None, None, None +# +# # Load the dataset +# self._load_dataset() +# +# # Compute normalization if required +# if self.norm and self.coef_norm is None: +# self._compute_normalization() +# self._apply_normalization() +# elif self.coef_norm is not None: +# self.mean_in, self.std_in, self.mean_out, self.std_out = self.coef_norm +# self._apply_normalization() +# +# +# def _load_dataset(self): +# """ +# Load all samples into the dataset. +# """ +# for k, s in enumerate(tqdm(self.set, desc="Loading dataset")): +# data = self._load_single_sample(s, k) +# self.dataset.append(data) +# +# def _load_single_sample(self, s, k): +# """ +# Load a single sample and return a Data object. +# """ +# internal = pv.read(os.path.join(self.my_path, s, s + '_internal.vtu')) +# aerofoil = pv.read(os.path.join(self.my_path, s, s + '_aerofoil.vtp')) +# internal = internal.compute_cell_sizes(length=False, volume=False) +# +# # Apply cropping if specified +# if self.crop is not None: +# bounds = self.crop[0], self.crop[1], self.crop[2], self.crop[3], 0, 1 +# internal = internal.clip_box(bounds=bounds, invert=False, crinkle=True) +# +# # Sampling logic +# if self.sample is not None: +# pos, x, y, surf = self._sample_data(internal, aerofoil, s) +# else: +# surf_bool = internal.point_data['U'][:, 0] == 0 +# geom = -internal.point_data['implicit_distance'][:, None] +# Uinf, alpha = float(s.split('_')[2]), float(s.split('_')[3]) * np.pi / 180 +# u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2) * np.ones_like( +# internal.point_data['U'][:, :1] +# ) +# normal = np.zeros_like(u) +# normal[surf_bool] = reorganize( +# aerofoil.points[:, :2], internal.points[surf_bool, :2], -aerofoil.point_data['Normals'][:, :2] +# ) +# attr = np.concatenate( +# [u, geom, normal, internal.point_data['U'][:, :2], internal.point_data['p'][:, None], internal.point_data['nut'][:, None]], +# axis=-1 +# ) +# pos = paddle.to_tensor(data=internal.points[:, :2], dtype='float32') +# x = paddle.to_tensor(data=attr[:, :5], dtype='float32') +# y = paddle.to_tensor(data=attr[:, 5:], dtype='float32') +# surf = paddle.to_tensor(data=surf_bool, dtype='bool') +# +# # 检查 x 是否为空 +# if x is None or x.size == 0: +# raise ValueError( +# f"Failed to load x for sample {s} at index {k}. Check input files or preprocessing logic.") +# +# # print(f"Loaded sample {s}: x.shape={x.shape}, y.shape={y.shape}") +# return Data(pos=pos, x=x, y=y, surf=surf) +# +# def _sample_data(self, internal, aerofoil, s): +# """ +# Perform sampling on the data and return sampled points and attributes. +# """ +# if self.sample == 'uniform': +# p = internal.cell_data['Area'] / internal.cell_data['Area'].sum() +# sampled_cell_indices = np.random.choice(internal.n_cells, size=self.n_boot, p=p) +# surf_p = aerofoil.cell_data['Length'] / aerofoil.cell_data['Length'].sum() +# sampled_line_indices = np.random.choice(aerofoil.n_cells, size=int(self.n_boot * self.surf_ratio), p=surf_p) +# elif self.sample == 'mesh': +# sampled_cell_indices = np.random.choice(internal.n_cells, size=self.n_boot) +# sampled_line_indices = np.random.choice(aerofoil.n_cells, size=int(self.n_boot * self.surf_ratio)) +# +# cell_dict = internal.cells.reshape(-1, 5)[sampled_cell_indices, 1:] +# cell_points = internal.points[cell_dict] +# line_dict = aerofoil.lines.reshape(-1, 3)[sampled_line_indices, 1:] +# line_points = aerofoil.points[line_dict] +# +# geom = -internal.point_data['implicit_distance'][cell_dict, None] +# Uinf, alpha = float(s.split('_')[2]), float(s.split('_')[3]) * np.pi / 180 +# u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2) * np.ones_like(internal.point_data['U'][cell_dict, :1]) +# normal = np.zeros_like(u) +# surf_geom = np.zeros_like(aerofoil.point_data['U'][line_dict, :1]) +# surf_u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2) * np.ones_like(aerofoil.point_data['U'][line_dict, :1]) +# surf_normal = -aerofoil.point_data['Normals'][line_dict, :2] +# +# attr = np.concatenate( +# [u, geom, normal, internal.point_data['U'][cell_dict, :2], internal.point_data['p'][cell_dict, None], internal.point_data['nut'][cell_dict, None]], +# axis=-1 +# ) +# surf_attr = np.concatenate( +# [surf_u, surf_geom, surf_normal, aerofoil.point_data['U'][line_dict, :2], aerofoil.point_data['p'][line_dict, None], aerofoil.point_data['nut'][line_dict, None]], +# axis=-1 +# ) +# +# sampled_points = cell_sampling_2d(cell_points, attr) +# surf_sampled_points = cell_sampling_1d(line_points, surf_attr) +# +# pos = paddle.concat( +# [paddle.to_tensor(sampled_points[:, :2], dtype='float32'), paddle.to_tensor(surf_sampled_points[:, :2], dtype='float32')], axis=0 +# ) +# x = paddle.concat( +# [paddle.to_tensor(sampled_points[:, :7], dtype='float32'), paddle.to_tensor(surf_sampled_points[:, :7], dtype='float32')], axis=0 +# ) +# y = paddle.concat( +# [paddle.to_tensor(sampled_points[:, 7:], dtype='float32'), paddle.to_tensor(surf_sampled_points[:, 7:], dtype='float32')], axis=0 +# ) +# surf = paddle.concat( +# [paddle.zeros(shape=[len(sampled_points)]), paddle.ones(shape=[len(surf_sampled_points)])], axis=0 +# ) +# +# return pos, x, y, surf +# +# def _compute_normalization(self): +# """ +# Compute mean and std for normalization. +# """ +# print("Computing normalization...") +# for k, data in enumerate(self.dataset): +# if data.x is None: +# raise ValueError(f"Data.x is None for sample at index {k}") +# x, y = data.x.numpy(), data.y.numpy() +# if k == 0: +# self.mean_in = x.mean(axis=0, dtype=np.double) +# self.std_in = x.std(axis=0, dtype=np.double) +# self.mean_out = y.mean(axis=0, dtype=np.double) +# self.std_out = y.std(axis=0, dtype=np.double) +# else: +# self.mean_in += x.mean(axis=0, dtype=np.double) +# self.std_in += x.std(axis=0, dtype=np.double) +# self.mean_out += y.mean(axis=0, dtype=np.double) +# self.std_out += y.std(axis=0, dtype=np.double) +# +# # # 检查 mean 和 std 是否正确 +# # if self.mean_in is None or self.std_in is None: +# # raise ValueError("Failed to compute mean or std for input features.") +# # print(f"Mean input: {self.mean_in}, Std input: {self.std_in}") +# # print(f"Mean output: {self.mean_out}, Std output: {self.std_out}") +# +# def _apply_normalization(self): +# """ +# Apply normalization to the dataset. +# """ +# for data in self.dataset: +# if data.x is None: +# raise ValueError(f"Data.x is None for sample {data}. Check data loading process.") +# # print(f"Normalizing data.x: {data.x.shape}, mean: {self.mean_in.shape}, std: {self.std_in.shape}") +# data.x = (data.x - self.mean_in) / (self.std_in + 1e-8) +# data.y = (data.y - self.mean_out) / (self.std_out + 1e-8) +# +# def __len__(self): +# """ +# Return the length of the dataset. +# """ +# return len(self.dataset) +# +# def __getitem__(self, idx): +# """ +# Get a single item from the dataset. +# """ +# data = self.dataset[idx] +# print(f"Returning sample {idx}: {data}") +# return data +# +# def __call__(self): +# """ +# Make the class callable to maintain compatibility with the original function style. +# """ +# if self.norm: +# return self.dataset, (self.mean_in, self.std_in, self.mean_out, self.std_out) +# else: +# return self.dataset +# +# def get(self, idx): +# data = self.datalist[idx] +# return data \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/radius.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/radius.py new file mode 100644 index 0000000000..fe4c1543dc --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/radius.py @@ -0,0 +1,210 @@ +import paddle +from typing import Optional +# from custom_setup_ops import custom_radius + + +# def radius( +# x: paddle.Tensor, +# y: paddle.Tensor, +# r: float, +# batch_x: Optional[paddle.Tensor] = None, +# batch_y: Optional[paddle.Tensor] = None, +# max_num_neighbors: int = 32, +# num_workers: int = 32, +# batch_size: Optional[int] = None, +# ) -> paddle.Tensor: +# r"""Finds for each element in :obj:`y` all points in :obj:`x` within +# distance :obj:`r`. +# +# Args: +# x (Tensor): Node feature matrix +# :math:`\mathbf{X} \in \mathbb{R}^{N \times F}`. +# y (Tensor): Node feature matrix +# :math:`\mathbf{Y} \in \mathbb{R}^{M \times F}`. +# r (float): The radius. +# batch_x (LongTensor, optional): Batch vector +# :math:`\mathbf{b} \in {\{ 0, \ldots, B-1\}}^N`, which assigns each +# node to a specific example. :obj:`batch_x` needs to be sorted. +# (default: :obj:`None`) +# batch_y (LongTensor, optional): Batch vector +# :math:`\mathbf{b} \in {\{ 0, \ldots, B-1\}}^M`, which assigns each +# node to a specific example. :obj:`batch_y` needs to be sorted. +# (default: :obj:`None`) +# max_num_neighbors (int, optional): The maximum number of neighbors to +# return for each element in :obj:`y`. +# If the number of actual neighbors is greater than +# :obj:`max_num_neighbors`, returned neighbors are picked randomly. +# (default: :obj:`32`) +# num_workers (int): Number of workers to use for computation. Has no +# effect in case :obj:`batch_x` or :obj:`batch_y` is not +# :obj:`None`, or the input lies on the GPU. (default: :obj:`1`) +# batch_size (int, optional): The number of examples :math:`B`. +# Automatically calculated if not given. (default: :obj:`None`) +# +# .. code-block:: python +# +# import paddle +# from paddle_cluster import radius +# +# x = paddle.to_tensor([[-1, -1], [-1, 1], [1, -1], [1, 1]], dtype='float32') +# batch_x = paddle.to_tensor([0, 0, 0, 0], dtype='int64') +# y = paddle.to_tensor([[-1, 0], [1, 0]], dtype='float32') +# batch_y = paddle.to_tensor([0, 0], dtype='int64') +# assign_index = radius(x, y, 1.5, batch_x, batch_y) +# """ +# +# if x.numel() == 0 or y.numel() == 0: +# return paddle.empty(shape=[2, 0], dtype='int64') +# +# x = x.reshape([-1, 1]) if x.dim() == 1 else x +# y = y.reshape([-1, 1]) if y.dim() == 1 else y +# x, y = x.contiguous(), y.contiguous() +# +# if batch_size is None: +# batch_size = 1 +# if batch_x is not None: +# assert x.shape[0] == batch_x.numel() +# batch_size = int(batch_x.max()) + 1 +# if batch_y is not None: +# assert y.shape[0] == batch_y.numel() +# batch_size = max(batch_size, int(batch_y.max()) + 1) +# assert batch_size > 0 +# +# ptr_x: Optional[paddle.Tensor] = None +# ptr_y: Optional[paddle.Tensor] = None +# +# if batch_size > 1: +# assert batch_x is not None +# assert batch_y is not None +# arange = paddle.arange(batch_size + 1, dtype='int64', device=x.place) +# ptr_x = paddle.bucketize(arange, batch_x) +# ptr_y = paddle.bucketize(arange, batch_y) +# +# out = custom_radius(x, y, r, max_num_neighbors, ignore_same_index=False) +# +# # 在 Python 端进行转置 +# out_transposed = paddle.transpose(out, [1, 0]) +# +# # 交换两行 +# out_swapped = paddle.concat([out_transposed[1].unsqueeze(0), out_transposed[0].unsqueeze(0)], axis=0) +# +# return out_swapped +from scipy.spatial import cKDTree +from concurrent.futures import ThreadPoolExecutor +from tqdm import tqdm + + +def radius( + x: paddle.Tensor, + y: paddle.Tensor, + r: float, + batch_x: Optional[paddle.Tensor] = None, + batch_y: Optional[paddle.Tensor] = None, + max_num_neighbors: int = 32, + num_workers: int = 32, + batch_size: Optional[int] = None, +) -> paddle.Tensor: + if x.numel() == 0 or y.numel() == 0: + return paddle.empty([2, 0], dtype='int64', place=x.place) + + x = x.reshape([-1, 1]) if x.ndim == 1 else x + y = y.reshape([-1, 1]) if y.ndim == 1 else y + + if batch_size is None: + batch_size = 1 + if batch_x is not None: + assert x.shape[0] == batch_x.numel() + batch_size = int(batch_x.max()) + 1 + if batch_y is not None: + assert y.shape[0] == batch_y.numel() + batch_size = max(batch_size, int(batch_y.max()) + 1) + assert batch_size > 0 + + x = paddle.concat([x, 2 * r * batch_x.reshape([-1, 1])], axis=-1) if batch_x is not None else x + y = paddle.concat([y, 2 * r * batch_y.reshape([-1, 1])], axis=-1) if batch_y is not None else y + + # 使用 cKDTree 创建 KD 树(只支持 CPU) + tree = cKDTree(x.numpy()) + + # 执行多线程查询 + def query_neighbors(idx): + _, indices = tree.query(y[idx].numpy(), k=max_num_neighbors, distance_upper_bound=r + 1e-8) + row = [idx] * len(indices) + return row, indices + + rows, cols = [], [] + with ThreadPoolExecutor(max_workers=num_workers) as executor: + results = executor.map(query_neighbors, range(y.shape[0])) + for row, col in results: + rows.extend(row) + cols.extend(col) + + row_tensor = paddle.to_tensor(rows, dtype='int64') + col_tensor = paddle.to_tensor(cols, dtype='int64') + mask = col_tensor < tree.n + + return paddle.stack([row_tensor[mask], col_tensor[mask]], axis=0) + + +def radius_graph( + x: paddle.Tensor, + r: float, + batch: Optional[paddle.Tensor] = None, + loop: bool = False, + max_num_neighbors: int = 32, + flow: str = 'source_to_target', + num_workers: int = 32, + batch_size: Optional[int] = None, +) -> paddle.Tensor: + r"""Computes graph edges to all points within a given distance. + + Args: + x (Tensor): Node feature matrix + :math:`\mathbf{X} \in \mathbb{R}^{N \times F}`. + r (float): The radius. + batch (LongTensor, optional): Batch vector + :math:`\mathbf{b} \in {\{ 0, \ldots, B-1\}}^N`, which assigns each + node to a specific example. :obj:`batch` needs to be sorted. + (default: :obj:`None`) + loop (bool, optional): If :obj:`True`, the graph will contain + self-loops. (default: :obj:`False`) + max_num_neighbors (int, optional): The maximum number of neighbors to + return for each element. + If the number of actual neighbors is greater than + :obj:`max_num_neighbors`, returned neighbors are picked randomly. + (default: :obj:`32`) + flow (string, optional): The flow direction when used in combination + with message passing (:obj:`"source_to_target"` or + :obj:`"target_to_source"`). (default: :obj:`"source_to_target"`) + num_workers (int): Number of workers to use for computation. Has no + effect in case :obj:`batch` is not :obj:`None`, or the input lies + on the GPU. (default: :obj:`1`) + batch_size (int, optional): The number of examples :math:`B`. + Automatically calculated if not given. (default: :obj:`None`) + + :rtype: :class:`LongTensor` + + .. code-block:: python + + import paddle + from paddle_cluster import radius_graph + + x = paddle.to_tensor([[-1, -1], [-1, 1], [1, -1], [1, 1]], dtype='float32') + batch = paddle.to_tensor([0, 0, 0, 0], dtype='int64') + edge_index = radius_graph(x, r=1.5, batch=batch, loop=False) + """ + + assert flow in ['source_to_target', 'target_to_source'] + edge_index = radius(x, x, r, batch, batch, + max_num_neighbors if loop else max_num_neighbors + 1, + num_workers, batch_size) + if flow == 'source_to_target': + row, col = edge_index[1], edge_index[0] + else: + row, col = edge_index[0], edge_index[1] + + if not loop: + mask = row != col + row, col = row[mask], col[mask] + + return paddle.stack([row, col], axis=0) \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main.py new file mode 100644 index 0000000000..e6fb6fdaf6 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main.py @@ -0,0 +1,101 @@ +import paddle +import os +import argparse, yaml, json +import train +import utils.metrics as metrics +from dataset.dataset import Dataset +import numpy as np + +parser = argparse.ArgumentParser() +parser.add_argument('--model', help= +'The model you want to train, choose between MLP, GraphSAGE, PointNet, GUNet' + , type=str) +parser.add_argument('-n', '--nmodel', help= +'Number of trained models for standard deviation estimation (default: 1)', + default=1, type=int) +parser.add_argument('-w', '--weight', help= +'Weight in front of the surface loss (default: 1)', default=1, type=float) +parser.add_argument('-t', '--task', help= +'Task to train on. Choose between "full", "scarce", "reynolds" and "aoa" (default: full)' + , default='full', type=str) +parser.add_argument('-s', '--score', help= +'If you want to compute the score of the models on the associated test set. (default: 0)' + , default=1, type=int) +parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') +parser.add_argument('--my_path', default='data/naca/Dataset', type=str) +parser.add_argument('--save_path', default='metrics', type=str) +args = parser.parse_args() + + +with open(args.my_path + '/manifest.json', 'r') as f: + manifest = json.load(f) +manifest_train = manifest[args.task + '_train'] +test_dataset = manifest[args.task + '_test' + ] if args.task != 'scarce' else manifest['full_test'] +n = int(0.1 * len(manifest_train)) + +print(n) +train_dataset = manifest_train[:-n] +val_dataset = manifest_train[-n:] + + +print('start load data') +train_dataset, coef_norm = Dataset(train_dataset, norm=True, sample=None, + my_path=args.my_path) +val_dataset = Dataset(val_dataset, sample=None, coef_norm=coef_norm, + my_path=args.my_path) + + +print('load data finish') + + +n_gpu = paddle.device.cuda.device_count() +use_cuda = n_gpu > 0 and 0 <= args.gpu < n_gpu +device = f'gpu:{args.gpu}' if use_cuda else 'cpu' +print(device) + +if use_cuda: + print('Using GPU') +else: + print('Using CPU') + +with open('params.yaml', 'r') as f: + hparams = yaml.safe_load(f)[args.model] + +models = [] + +if args.model == 'Transolver': + from models.Transolver import Transolver + + model = Transolver(n_hidden=256, n_layers=8, space_dim=7, fun_dim=0, + n_head=8, mlp_ratio=2, out_dim=4, slice_num=32, unified_pos=1, + device=device).to(device) + +log_path = os.path.join(args.save_path, args.task, args.model) +print('start training') +model = train.main(device, train_dataset, val_dataset, model, hparams, + log_path, criterion='MSE_weighted', val_iter=10, reg=args.weight, + name_mod=args.model, val_sample=True) +print('end training') +models.append(model) + +model_path = os.path.join(args.save_path, args.task, args.model, args.model) +paddle.save(model.state_dict(), model_path) + +if bool(args.score): + print('start score') + s = args.task + '_test' if args.task != 'scarce' else 'full_test' + coefs = metrics.Results_test(device, [models], [hparams], coef_norm, args.my_path, path_out='scores', + n_test=3, criterion='MSE', s=s) + np.save(os.path.join('scores', args.task, 'true_coefs'), coefs[0]) + np.save(os.path.join('scores', args.task, 'pred_coefs_mean'), coefs[1]) + np.save(os.path.join('scores', args.task, 'pred_coefs_std'), coefs[2]) + for n, file in enumerate(coefs[3]): + np.save(os.path.join('scores', args.task, 'true_surf_coefs_' + str( + n)), file) + for n, file in enumerate(coefs[4]): + np.save(os.path.join('scores', args.task, 'surf_coefs_' + str(n)), file + ) + np.save(os.path.join('scores', args.task, 'true_bls'), coefs[5]) + np.save(os.path.join('scores', args.task, 'bls'), coefs[6]) + print('end score') diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main_evaluation.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main_evaluation.py new file mode 100644 index 0000000000..6e1ac6c5e7 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main_evaluation.py @@ -0,0 +1,87 @@ +import paddle +import os +import yaml, json +import utils.metrics as metrics +from dataset.dataset import Dataset +import argparse +import numpy as np +from models.Transolver import Transolver + +parser = argparse.ArgumentParser() +parser.add_argument('--my_path', default='/data/path', type=str) +parser.add_argument('--save_path', default='./', type=str) +parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') + +args = parser.parse_args() + +n_gpu = paddle.device.cuda.device_count() +use_cuda = n_gpu > 0 and 0 <= args.gpu < n_gpu +device = f'gpu:{args.gpu}' if use_cuda else 'cpu' + +print(device) +if use_cuda: + print('Using GPU') +else: + print('Using CPU') + +mod = Transolver( + n_hidden=256, + n_layers=8, + space_dim=7, + fun_dim=0, + n_head=8, + mlp_ratio=2, + out_dim=4, + slice_num=32, + unified_pos=1, + device=device +).to(device) + +data_root_dir = args.my_path +ckpt_root_dir = args.save_path +tasks = ['full'] + +for task in tasks: + print('Generating results for task ' + task + '...') + s = task + '_test' if task != 'scarce' else 'full_test' + s_train = task + '_train' + data_dir = os.path.join(data_root_dir, 'Dataset') + with open(os.path.join(data_dir, 'manifest.json'), 'r') as f: + manifest = json.load(f) + + manifest_train = manifest[s_train] + n = int(0.1 * len(manifest_train)) + + train_dataset = manifest_train[:-n] + + _, coef_norm = Dataset(train_dataset, norm=True, sample=None, my_path= + data_dir) + model_names = ['Transolver'] + models = [] + hparams = [] + for model in model_names: + model_path = os.path.join(ckpt_root_dir, 'metrics', task, model, "Transolver.pdparams") + + mod.set_state_dict(paddle.load(model_path)) + + # mod = [m.to(device) for m in mod] + + models.append(mod) + + with open('params.yaml', 'r') as f: + hparam = yaml.safe_load(f)[model] + hparams.append(hparam) + results_dir = os.path.join(ckpt_root_dir, 'scores', task) + + coefs = metrics.Results_test(device, models, hparams, coef_norm, + data_dir, results_dir, n_test=3, criterion='MSE', s=s) + # print(coefs) + np.save(os.path.join(results_dir, 'true_coefs'), coefs[0]) + np.save(os.path.join(results_dir, 'pred_coefs_mean'), coefs[1]) + np.save(os.path.join(results_dir, 'pred_coefs_std'), coefs[2]) + for n, file in enumerate(coefs[3]): + np.save(os.path.join(results_dir, 'true_surf_coefs_' + str(n)), file) + for n, file in enumerate(coefs[4]): + np.save(os.path.join(results_dir, 'surf_coefs_' + str(n)), file) + np.save(os.path.join(results_dir, 'true_bls'), coefs[5]) + np.save(os.path.join(results_dir, 'bls'), coefs[6]) diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GUNet.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GUNet.py new file mode 100644 index 0000000000..1e44c6d6d0 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GUNet.py @@ -0,0 +1,157 @@ +import paddle +import torch_geometric.nn as nng +import random + + +def DownSample(id, x, edge_index, pos_x, pool, pool_ratio, r, max_neighbors): + y = x.clone() + n = int(x.shape[0]) + if pool is not None: + y, _, _, _, id_sampled, _ = pool(y, edge_index) + else: + k = int((pool_ratio * paddle.to_tensor(data=n, dtype='float32')).ceil() + ) + id_sampled = random.sample(range(n), k) + id_sampled = paddle.to_tensor(data=id_sampled, dtype='int64') + y = y[id_sampled] + pos_x = pos_x[id_sampled] + id.append(id_sampled) + edge_index_sampled = nng.radius_graph(x=pos_x.detach(), r=r, loop=True, + max_num_neighbors=max_neighbors) + return y, edge_index_sampled + + +def UpSample(x, pos_x_up, pos_x_down): + cluster = nng.nearest(pos_x_up, pos_x_down) + x_up = x[cluster] + return x_up + + +class GUNet(paddle.nn.Layer): + + def __init__(self, hparams, encoder, decoder): + super(GUNet, self).__init__() + self.L = hparams['nb_scale'] + self.layer = hparams['layer'] + self.pool_type = hparams['pool'] + self.pool_ratio = hparams['pool_ratio'] + self.list_r = hparams['list_r'] + self.size_hidden_layers = hparams['size_hidden_layers'] + self.size_hidden_layers_init = hparams['size_hidden_layers'] + self.max_neighbors = hparams['max_neighbors'] + self.dim_enc = hparams['encoder'][-1] + self.bn_bool = hparams['batchnorm'] + self.res = hparams['res'] + self.head = 2 + self.activation = paddle.nn.ReLU() + self.encoder = encoder + self.decoder = decoder + self.down_layers = paddle.nn.LayerList() + if self.pool_type != 'random': + self.pool = paddle.nn.LayerList() + else: + self.pool = None + if self.layer == 'SAGE': + self.down_layers.append(nng.SAGEConv(in_channels=self.dim_enc, + out_channels=self.size_hidden_layers)) + bn_in = self.size_hidden_layers + elif self.layer == 'GAT': + self.down_layers.append(nng.GATConv(in_channels=self.dim_enc, + out_channels=self.size_hidden_layers, heads=self.head, + add_self_loops=False, concat=True)) + bn_in = self.head * self.size_hidden_layers + if self.bn_bool == True: + self.bn = paddle.nn.LayerList() + self.bn.append(nng.BatchNorm(in_channels=bn_in, + track_running_stats=False)) + else: + self.bn = None + for n in range(1, self.L): + if self.pool_type != 'random': + self.pool.append(nng.TopKPooling(in_channels=self. + size_hidden_layers, ratio=self.pool_ratio[n - 1], + nonlinearity=paddle.nn.functional.sigmoid)) + if self.layer == 'SAGE': + self.down_layers.append(nng.SAGEConv(in_channels=self. + size_hidden_layers, out_channels=2 * self. + size_hidden_layers)) + self.size_hidden_layers = 2 * self.size_hidden_layers + bn_in = self.size_hidden_layers + elif self.layer == 'GAT': + self.down_layers.append(nng.GATConv(in_channels=self.head * + self.size_hidden_layers, out_channels=self. + size_hidden_layers, heads=2, add_self_loops=False, + concat=True)) + if self.bn_bool == True: + self.bn.append(nng.BatchNorm(in_channels=bn_in, + track_running_stats=False)) + self.up_layers = paddle.nn.LayerList() + if self.layer == 'SAGE': + self.up_layers.append(nng.SAGEConv(in_channels=3 * self. + size_hidden_layers_init, out_channels=self.dim_enc)) + self.size_hidden_layers_init = 2 * self.size_hidden_layers_init + elif self.layer == 'GAT': + self.up_layers.append(nng.GATConv(in_channels=2 * self.head * + self.size_hidden_layers, out_channels=self.dim_enc, heads=2, + add_self_loops=False, concat=False)) + if self.bn_bool == True: + self.bn.append(nng.BatchNorm(in_channels=self.dim_enc, + track_running_stats=False)) + for n in range(1, self.L - 1): + if self.layer == 'SAGE': + self.up_layers.append(nng.SAGEConv(in_channels=3 * self. + size_hidden_layers_init, out_channels=self. + size_hidden_layers_init)) + bn_in = self.size_hidden_layers_init + self.size_hidden_layers_init = 2 * self.size_hidden_layers_init + elif self.layer == 'GAT': + self.up_layers.append(nng.GATConv(in_channels=2 * self.head * + self.size_hidden_layers, out_channels=self. + size_hidden_layers, heads=2, add_self_loops=False, + concat=True)) + if self.bn_bool == True: + self.bn.append(nng.BatchNorm(in_channels=bn_in, + track_running_stats=False)) + + def forward(self, data): + x, edge_index = data.x, data.edge_index + id = [] + edge_index_list = [edge_index.clone()] + pos_x_list = [] + z = self.encoder(x) + if self.res: + z_res = z.clone() + z = self.down_layers[0](z, edge_index) + if self.bn_bool == True: + z = self.bn[0](z) + z = self.activation(z) + z_list = [z.clone()] + for n in range(self.L - 1): + pos_x = x[:, :2] if n == 0 else pos_x[id[n - 1]] + pos_x_list.append(pos_x.clone()) + if self.pool_type != 'random': + z, edge_index = DownSample(id, z, edge_index, pos_x, self. + pool[n], self.pool_ratio[n], self.list_r[n], self. + max_neighbors) + else: + z, edge_index = DownSample(id, z, edge_index, pos_x, None, + self.pool_ratio[n], self.list_r[n], self.max_neighbors) + edge_index_list.append(edge_index.clone()) + z = self.down_layers[n + 1](z, edge_index) + if self.bn_bool == True: + z = self.bn[n + 1](z) + z = self.activation(z) + z_list.append(z.clone()) + pos_x_list.append(pos_x[id[-1]].clone()) + for n in range(self.L - 1, 0, -1): + z = UpSample(z, pos_x_list[n - 1], pos_x_list[n]) + z = paddle.concat(x=[z, z_list[n - 1]], axis=1) + z = self.up_layers[n - 1](z, edge_index_list[n - 1]) + if self.bn_bool == True: + z = self.bn[self.L + n - 1](z) + z = self.activation(z) if n != 1 else z + del (z_list, pos_x_list, edge_index_list) + if self.res: + z = z + z_res + z = self.decoder(z) + return z diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GraphSAGE.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GraphSAGE.py new file mode 100644 index 0000000000..93880d59d5 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GraphSAGE.py @@ -0,0 +1,43 @@ +import paddle +import torch_geometric.nn as nng + + +class GraphSAGE(paddle.nn.Layer): + + def __init__(self, hparams, encoder, decoder): + super(GraphSAGE, self).__init__() + self.nb_hidden_layers = hparams['nb_hidden_layers'] + self.size_hidden_layers = hparams['size_hidden_layers'] + self.bn_bool = hparams['bn_bool'] + self.activation = paddle.nn.ReLU() + self.encoder = encoder + self.decoder = decoder + self.in_layer = nng.SAGEConv(in_channels=hparams['encoder'][-1], + out_channels=self.size_hidden_layers) + self.hidden_layers = paddle.nn.LayerList() + for n in range(self.nb_hidden_layers - 1): + self.hidden_layers.append(nng.SAGEConv(in_channels=self. + size_hidden_layers, out_channels=self.size_hidden_layers)) + self.out_layer = nng.SAGEConv(in_channels=self.size_hidden_layers, + out_channels=hparams['decoder'][0]) + if self.bn_bool: + self.bn = paddle.nn.LayerList() + for n in range(self.nb_hidden_layers): + self.bn.append(paddle.nn.BatchNorm1D(num_features=self. + size_hidden_layers)) + + def forward(self, data): + z, edge_index = data.x, data.edge_index + z = self.encoder(z) + z = self.in_layer(z, edge_index) + if self.bn_bool: + z = self.bn[0](z) + z = self.activation(z) + for n in range(self.nb_hidden_layers - 1): + z = self.hidden_layers[n](z, edge_index) + if self.bn_bool: + z = self.bn[n + 1](z) + z = self.activation(z) + z = self.out_layer(z, edge_index) + z = self.decoder(z) + return z diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/MLP.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/MLP.py new file mode 100644 index 0000000000..8b420b0e11 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/MLP.py @@ -0,0 +1,58 @@ +import paddle +from torch_geometric.nn import Linear + + +class MLP(paddle.nn.Layer): + """A multi-layer perception (MLP) model. + + Args: + channel_list (List[int]): List of input, intermediate and output + channels. :obj:`len(channel_list) - 1` denotes the number of layers + of the MLP. + dropout (float, optional): Dropout probability of each hidden + embedding. (default: :obj:`0.`) + batch_norm (bool, optional): If set to :obj:`False`, will not make use + of batch normalization. (default: :obj:`True`) + relu_first (bool, optional): If set to :obj:`True`, ReLU activation is + applied before batch normalization. (default: :obj:`False`) + """ + + def __init__(self, channel_list, dropout=0.0, batch_norm=True, + relu_first=False): + super().__init__() + assert len(channel_list) >= 2 + self.channel_list = channel_list + self.dropout = dropout + self.relu_first = relu_first + self.lins = paddle.nn.LayerList() + for dims in zip(self.channel_list[:-1], self.channel_list[1:]): + self.lins.append(Linear(*dims)) + self.norms = paddle.nn.LayerList() + for dim in zip(self.channel_list[1:-1]): + self.norms.append(paddle.nn.BatchNorm1D(num_features=dim) if + batch_norm else paddle.nn.Identity()) + self.reset_parameters() + + def reset_parameters(self): + for lin in self.lins: + lin.reset_parameters() + for norm in self.norms: + if hasattr(norm, 'reset_parameters'): + norm.reset_parameters() + + def forward(self, x: paddle.Tensor) ->paddle.Tensor: + """""" + x = self.lins[0](x) + for lin, norm in zip(self.lins[1:], self.norms): + if self.relu_first: + x = x.relu_() + x = norm(x) + if not self.relu_first: + x = x.relu_() + x = paddle.nn.functional.dropout(x=x, p=self.dropout, training= + self.training) + x = lin.forward(x) + return x + + def __repr__(self) ->str: + return f'{self.__class__.__name__}({str(self.channel_list)[1:-1]})' diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/NN.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/NN.py new file mode 100644 index 0000000000..1138e8671b --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/NN.py @@ -0,0 +1,23 @@ +import paddle +from models.MLP import MLP + + +class NN(paddle.nn.Layer): + + def __init__(self, hparams, encoder, decoder): + super(NN, self).__init__() + self.nb_hidden_layers = hparams['nb_hidden_layers'] + self.size_hidden_layers = hparams['size_hidden_layers'] + self.bn_bool = hparams['bn_bool'] + self.activation = paddle.nn.ReLU() + self.encoder = encoder + self.decoder = decoder + self.dim_enc = hparams['encoder'][-1] + self.nn = MLP([self.dim_enc] + [self.size_hidden_layers] * self. + nb_hidden_layers + [self.dim_enc], batch_norm=self.bn_bool) + + def forward(self, data): + z = self.encoder(data.x) + z = self.nn(z) + z = self.decoder(z) + return z diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/PointNet.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/PointNet.py new file mode 100644 index 0000000000..4438f534da --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/PointNet.py @@ -0,0 +1,41 @@ +import sys +# sys.path.append('../../utils') +from utils import paddle_aux +import paddle +import torch_geometric.nn as nng +from models.MLP import MLP + + +class PointNet(paddle.nn.Layer): + + def __init__(self, hparams, encoder, decoder): + super(PointNet, self).__init__() + self.base_nb = hparams['base_nb'] + self.in_block = MLP([hparams['encoder'][-1], self.base_nb, self. + base_nb * 2], batch_norm=False) + self.max_block = MLP([self.base_nb * 2, self.base_nb * 4, self. + base_nb * 8, self.base_nb * 32], batch_norm=False) + self.out_block = MLP([self.base_nb * (32 + 2), self.base_nb * 16, + self.base_nb * 8, self.base_nb * 4], batch_norm=False) + self.encoder = encoder + self.decoder = decoder + self.fcfinal = paddle.nn.Linear(in_features=self.base_nb * 4, + out_features=hparams['encoder'][-1]) + + def forward(self, data): + z, batch = data.x.float(), data.batch.long() + z = self.encoder(z) + z = self.in_block(z) + global_coef = self.max_block(z) + global_coef = nng.global_max_pool(global_coef, batch=batch) + nb_points = paddle.zeros(shape=tuple(global_coef.shape)[0]) + for i in range(batch.max() + 1): + nb_points[i] = (batch == i).sum() + nb_points = nb_points.astype(dtype='int64') + global_coef = paddle.repeat_interleave(x=global_coef, repeats= + nb_points, axis=0) + z = paddle.concat(x=[z, global_coef], axis=1) + z = self.out_block(z) + z = self.fcfinal(z) + z = self.decoder(z) + return z diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/Transolver.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/Transolver.py new file mode 100644 index 0000000000..35e4c39be4 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/Transolver.py @@ -0,0 +1,208 @@ +import sys +from utils import paddle_aux +import paddle +import numpy as np +from paddle.nn.initializer import TruncatedNormal, Constant +from einops import rearrange, repeat +ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': + paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. + LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': + paddle.nn.ELU, 'silu': paddle.nn.Silu} + + +class Physics_Attention_Irregular_Mesh(paddle.nn.Layer): + + def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64): + super().__init__() + inner_dim = dim_head * heads + self.dim_head = dim_head + self.heads = heads + self.scale = dim_head ** -0.5 + self.softmax = paddle.nn.Softmax(axis=-1) + self.dropout = paddle.nn.Dropout(p=dropout) + self.temperature = paddle.base.framework.EagerParamBase.from_tensor( + tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) + self.in_project_x = paddle.nn.Linear(in_features=dim, out_features= + inner_dim) + self.in_project_fx = paddle.nn.Linear(in_features=dim, out_features + =inner_dim) + self.in_project_slice = paddle.nn.Linear(in_features=dim_head, + out_features=slice_num) + for l in [self.in_project_slice]: + init_Orthogonal = paddle.nn.initializer.Orthogonal() + init_Orthogonal(l.weight) + self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= + inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) + + def forward(self, x): + B, N, C = tuple(x.shape) + fx_mid = self.in_project_fx(x).reshape(B, N, self.heads, self.dim_head + ).transpose(perm=[0, 2, 1, 3]).contiguous() + x_mid = self.in_project_x(x).reshape(B, N, self.heads, self.dim_head + ).transpose(perm=[0, 2, 1, 3]).contiguous() + slice_weights = self.softmax(self.in_project_slice(x_mid) / self. + temperature) + slice_norm = slice_weights.sum(axis=2) + slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) + slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( + repeat_times=[1, 1, 1, self.dim_head]) + q_slice_token = self.to_q(slice_token) + k_slice_token = self.to_k(slice_token) + v_slice_token = self.to_v(slice_token) + dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( + perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) + ) * self.scale + attn = self.softmax(dots) + attn = self.dropout(attn) + out_slice_token = paddle.matmul(x=attn, y=v_slice_token) + out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights + ) + out_x = rearrange(out_x, 'b h n d -> b n (h d)') + return self.to_out(out_x) + + +class MLP(paddle.nn.Layer): + + def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', + res=True): + super(MLP, self).__init__() + if act in ACTIVATION.keys(): + act = ACTIVATION[act] + else: + raise NotImplementedError + self.n_input = n_input + self.n_hidden = n_hidden + self.n_output = n_output + self.n_layers = n_layers + self.res = res + self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features + =n_input, out_features=n_hidden), act()) + self.linear_post = paddle.nn.Linear(in_features=n_hidden, + out_features=n_output) + self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), + act()) for _ in range(n_layers)]) + + def forward(self, x): + x = self.linear_pre(x) + for i in range(self.n_layers): + if self.res: + x = self.linears[i](x) + x + else: + x = self.linears[i](x) + x = self.linear_post(x) + return x + + +class Transolver_block(paddle.nn.Layer): + """Transformer encoder block.""" + + def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act + ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32): + super().__init__() + self.last_layer = last_layer + self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.Attn = Physics_Attention_Irregular_Mesh(hidden_dim, heads= + num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, + slice_num=slice_num) + self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, + n_layers=0, res=False, act=act) + self.mlp_new = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, + n_layers=0, res=False, act=act) + if self.last_layer: + self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, + out_features=out_dim) + + def forward(self, fx): + fx = self.Attn(self.ln_1(fx)) + fx + fx = self.mlp(self.ln_2(fx)) + fx + if self.last_layer: + return self.mlp2(self.ln_3(fx)) + else: + return fx + + +class Transolver(paddle.nn.Layer): + + def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0, + n_head=8, act='gelu', mlp_ratio=1, fun_dim=1, out_dim=1, slice_num= + 32, ref=8, unified_pos=False, device='cuda:1'): + super(Transolver, self).__init__() + self.__name__ = 'Transolver' + self.ref = ref + self.device = device + self.unified_pos = unified_pos + if self.unified_pos: + self.preprocess = MLP(fun_dim + space_dim + self.ref * self.ref, + n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) + else: + self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, + n_hidden, n_layers=0, res=False, act=act) + self.n_hidden = n_hidden + self.space_dim = space_dim + self.blocks = paddle.nn.LayerList(sublayers=[Transolver_block( + num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, + mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, + last_layer=_ == n_layers - 1) for _ in range(n_layers)]) + self.initialize_weights() + self.placeholder = paddle.base.framework.EagerParamBase.from_tensor( + tensor=1 / n_hidden * paddle.rand(shape=[n_hidden], dtype='float32')) + + def initialize_weights(self): + self.apply(self._init_weights) + + def _init_weights(self, m): + if isinstance(m, paddle.nn.Linear): + trunc_normal = TruncatedNormal(mean=0.0, std=0.02) + trunc_normal(m.weight) + if m.bias is not None: + constant = Constant(value=0.0) + constant(m.bias) + elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): + constant = Constant(value=0.0) + constant(m.bias) + constant = Constant(value=1.0) + constant(m.weight) + + def get_grid(self, my_pos): + batchsize = tuple(my_pos.shape)[0] + gridx = paddle.to_tensor(data=np.linspace(-2, 4, self.ref), dtype= + 'float32') + gridx = gridx.reshape(1, self.ref, 1, 1).tile(repeat_times=[ + batchsize, 1, self.ref, 1]) + gridy = paddle.to_tensor(data=np.linspace(-1.5, 1.5, self.ref), + dtype='float32') + gridy = gridy.reshape(1, 1, self.ref, 1).tile(repeat_times=[ + batchsize, self.ref, 1, 1]) + grid_ref = paddle.concat(x=(gridx, gridy), axis=-1).to(self.device + ).reshape(batchsize, self.ref ** 2, 2) + pos = paddle.sqrt(x=paddle.sum(x=(my_pos[:, :, None, :] - grid_ref[ + :, None, :, :]) ** 2, axis=-1)).reshape(batchsize, tuple(my_pos + .shape)[1], self.ref * self.ref).contiguous() + return pos + + def forward(self, data): + x, fx, T = data.x, None, None + x = paddle.cast(x, dtype="float32") + x = x[None, :, :] + if self.unified_pos: + new_pos = self.get_grid(data.pos[None, :, :]) + # print(f"x origin dtype: {x.dtype}, new_pos origin dtype: {new_pos.dtype}") + x = paddle.concat(x=(x, new_pos), axis=-1) + if fx is not None: + fx = paddle.concat(x=(x, fx), axis=-1) + fx = self.preprocess(fx) + else: + fx = self.preprocess(x) + fx = fx + self.placeholder[None, None, :] + for block in self.blocks: + fx = block(fx) + return fx[0] diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/params.yaml b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/params.yaml new file mode 100644 index 0000000000..f75f70f171 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/params.yaml @@ -0,0 +1,64 @@ +#GraphSAGE: +# encoder: [ 7, 64, 64, 8 ] +# decoder: [ 8, 64, 64, 4 ] +# +# nb_hidden_layers: 3 +# size_hidden_layers: 64 +# batch_size: 1 +# nb_epochs: 398 +# lr: 0.001 +# max_neighbors: 64 +# bn_bool: True +# subsampling: 32000 +# r: 0.05 + +Transolver: + batch_size: 1 + nb_epochs: 398 +# nb_epochs: 1 + lr: 0.001 + max_neighbors: 64 + subsampling: 32000 + r: 0.05 + +#PointNet: +# encoder: [ 7, 64, 64, 8 ] +# decoder: [ 8, 64, 64, 4 ] +# +# base_nb: 8 +# batch_size: 1 +# nb_epochs: 398 +# lr: 0.001 +# subsampling: 32000 +# +#MLP: +# encoder: [ 7, 64, 64, 8 ] +# decoder: [ 8, 64, 64, 4 ] +# +# nb_hidden_layers: 3 +# size_hidden_layers: 64 +# batch_size: 1 +# nb_epochs: 398 +# lr: 0.001 +# bn_bool: True +# subsampling: 32000 + +#GUNet: +# encoder: [ 7, 64, 64, 8 ] +# decoder: [ 8, 64, 64, 4 ] +# +# layer: 'SAGE' +# pool: 'random' +# nb_scale: 5 +# pool_ratio: [ .5, .5, .5, .5 ] +# list_r: [ .05, .2, .5, 1, 10 ] +# size_hidden_layers: 8 +# batchnorm: True +# res: False +# +# batch_size: 1 +# nb_epochs: 398 +# lr: 0.001 +# max_neighbors: 64 +# subsampling: 32000 +# r: 0.05 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Evaluation.sh b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Evaluation.sh new file mode 100644 index 0000000000..850ce0f231 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Evaluation.sh @@ -0,0 +1,3 @@ +export CUDA_VISIBLE_DEVICES=3 + +python main_evaluation.py --my_path data/naca/ \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/GraphSAGE.sh b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/GraphSAGE.sh new file mode 100644 index 0000000000..7a05aaca90 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/GraphSAGE.sh @@ -0,0 +1,3 @@ +export CUDA_VISIBLE_DEVICES=4 + +python main.py --model GraphSAGE -t full --my_path data/naca/Dataset --score 1 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Transolver.sh b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Transolver.sh new file mode 100644 index 0000000000..920d2bc7e4 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Transolver.sh @@ -0,0 +1,3 @@ +export CUDA_VISIBLE_DEVICES=3 + +python main.py --model Transolver -t full --my_path data/naca/Dataset --score 1 --gpu 0 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/train.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/train.py new file mode 100644 index 0000000000..44bec7e5b2 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/train.py @@ -0,0 +1,376 @@ +from typing import Tuple, List +from dataset.dataset import Data +import paddle +import os +import random +import numpy as np +import matplotlib.pyplot as plt +import seaborn as sns +import time, json +from paddle.io import DataLoader +from tqdm import tqdm +from pathlib import Path +from dataset.radius import radius_graph +import os.path as osp + +random.seed(42) + +def serialize_data(data): + if isinstance(data, (list, tuple)): + return [serialize_data(item) for item in data] + elif hasattr(data, 'tolist'): + return data.tolist() # 将 Tensor 转换为列表 + elif isinstance(data, dict): + return {k: serialize_data(v) for k, v in data.items()} + return data # 如果是基础数据类型,直接返回 + + +def custom_collate_fn(batch: List['Data']): + """自定义collate_fn,用于处理单个Data类型的数据项,直接返回单个数据和shape。""" + # print(f"Batch received in collate_fn: {batch}") + # 直接返回单个 Data 和 shape + return batch + + +def get_nb_trainable_params(model): + """ + Return the number of trainable parameters + """ + model_parameters = filter(lambda p: not p.stop_gradient, model.parameters() + ) + return sum([np.prod(tuple(p.shape)) for p in model_parameters]) + + +def train(device, model, train_loader, optimizer, scheduler, criterion='MSE', reg=1): + model.train() + avg_loss_per_var = paddle.zeros(shape=[4]) + avg_loss = paddle.to_tensor(0.0) + avg_loss_surf_var = paddle.zeros(shape=[4]) + avg_loss_vol_var = paddle.zeros(shape=[4]) + avg_loss_surf = paddle.to_tensor(0.0) + avg_loss_vol = paddle.to_tensor(0.0) + iter = 0 + + for data in train_loader.dataset: + data_clone = data.clone() + data_clone = data_clone.to(device) + + optimizer.clear_gradients(set_to_zero=False) + out = model(data_clone) + targets = data_clone.y + # Define loss criterion based on input criterion + if criterion in ['MSE', 'MSE_weighted']: + loss_criterion = paddle.nn.MSELoss(reduction='none') + elif criterion == 'MAE': + loss_criterion = paddle.nn.L1Loss(reduction='none') + + loss_per_var = loss_criterion(out, targets).mean(axis=0) + total_loss = loss_per_var.mean() + # Calculate surface and volume losses + loss_surf_var = loss_criterion(out[data_clone.surf, :], targets[data_clone.surf, :]).mean(axis=0) + loss_vol_var = loss_criterion(out[~data_clone.surf, :], targets[~data_clone.surf, :]).mean(axis=0) + loss_surf = loss_surf_var.mean() + loss_vol = loss_vol_var.mean() + + # Backpropagate depending on criterion + if criterion == 'MSE_weighted': + (loss_vol + reg * loss_surf).backward() + else: + total_loss.backward() + + optimizer.step() + scheduler.step() + + # Accumulate metrics + avg_loss_per_var += loss_per_var + avg_loss += total_loss + avg_loss_surf_var += loss_surf_var + avg_loss_vol_var += loss_vol_var + avg_loss_surf += loss_surf + avg_loss_vol += loss_vol + iter += 1 + + # Compute averages + return (avg_loss / iter).numpy(), (avg_loss_per_var / iter).numpy(), (avg_loss_surf_var / iter).numpy(), ( + avg_loss_vol_var / iter).numpy(), (avg_loss_surf / iter).numpy(), (avg_loss_vol / iter).numpy() + + +@paddle.no_grad() +def test(device, model, test_loader, criterion='MSE'): + model.eval() + avg_loss_per_var = paddle.zeros(shape=[4]) + avg_loss = paddle.to_tensor(0.0) + avg_loss_surf_var = paddle.zeros(shape=[4]) + avg_loss_vol_var = paddle.zeros(shape=[4]) + avg_loss_surf = paddle.to_tensor(0.0) + avg_loss_vol = paddle.to_tensor(0.0) + iter = 0 + + for data in test_loader.dataset: + data_clone = data.clone() + data_clone = data_clone.to(device) + out = model(data_clone) + targets = data_clone.y + + # Define loss criterion + if criterion in ['MSE', 'MSE_weighted']: + loss_criterion = paddle.nn.MSELoss(reduction='none') + elif criterion == 'MAE': + loss_criterion = paddle.nn.L1Loss(reduction='none') + + # Calculate losses + loss_per_var = loss_criterion(out, targets).mean(axis=0) + loss = loss_per_var.mean() + loss_surf_var = loss_criterion(out[data_clone.surf, :], targets[data_clone.surf, :]).mean(axis=0) + loss_vol_var = loss_criterion(out[~data_clone.surf, :], targets[~data_clone.surf, :]).mean(axis=0) + loss_surf = loss_surf_var.mean() + loss_vol = loss_vol_var.mean() + + # Accumulate metrics + avg_loss_per_var += loss_per_var + avg_loss += loss + avg_loss_surf_var += loss_surf_var + avg_loss_vol_var += loss_vol_var + avg_loss_surf += loss_surf + avg_loss_vol += loss_vol + iter += 1 + + # Compute averages + return (avg_loss / iter).numpy(), (avg_loss_per_var / iter).numpy(), (avg_loss_surf_var / iter).numpy(), ( + avg_loss_vol_var / iter).numpy(), (avg_loss_surf / iter).numpy(), (avg_loss_vol / iter).numpy() + + +class NumpyEncoder(json.JSONEncoder): + + def default(self, obj): + if isinstance(obj, np.ndarray): + return obj.tolist() + return json.JSONEncoder.default(self, obj) + + +def main(device, train_dataset, val_dataset, Net, hparams, path, criterion= +'MSE', reg=1, val_iter=10, name_mod='GraphSAGE', val_sample=True): + """ + Args: + device (str): device on which you want to do the computation. + train_dataset (list): list of the data in the training set. + val_dataset (list): list of the data in the validation set. + Net (class): network to train. + hparams (dict): hyper parameters of the network. + path (str): where to save the trained model and the figures. + criterion (str, optional): chose between 'MSE', 'MAE', and 'MSE_weigthed'. The latter is the volumetric MSE plus the surface MSE computed independently. Default: 'MSE'. + reg (float, optional): weigth for the surface loss when criterion is 'MSE_weighted'. Default: 1. + val_iter (int, optional): number of epochs between each validation step. Default: 10. + name_mod (str, optional): type of model. Default: 'GraphSAGE'. + """ + Path(path).mkdir(parents=True, exist_ok=True) + model = Net.to(device) + optimizer = paddle.optimizer.Adam(parameters=model.parameters(), + learning_rate=hparams['lr'], weight_decay=0.0) + tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=(len(train_dataset) // + hparams['batch_size'] + 1) * hparams['nb_epochs'], + max_learning_rate=hparams['lr']) + optimizer.set_lr_scheduler(tmp_lr) + lr_scheduler = tmp_lr + val_loader = DataLoader(val_dataset, batch_size=1, collate_fn=custom_collate_fn) + start = time.time() + train_loss_surf_list = [] + train_loss_vol_list = [] + loss_surf_var_list = [] + loss_vol_var_list = [] + val_surf_list = [] + val_vol_list = [] + val_surf_var_list = [] + val_vol_var_list = [] + pbar_train = tqdm(range(hparams['nb_epochs']), position=0) + for epoch in pbar_train: + train_dataset_sampled = [] + for data in train_dataset: + # data_sampled = data.clone() + data_sampled = data + idx = random.sample(range(data_sampled.x.shape[0]), hparams[ + 'subsampling']) + + idx = paddle.to_tensor(data=idx) + data_sampled.pos = data_sampled.pos[idx] + data_sampled.x = data_sampled.x[idx] + data_sampled.y = data_sampled.y[idx] + data_sampled.surf = data_sampled.surf[idx] + + if name_mod != 'PointNet' and name_mod != 'MLP': + data_sampled.pos = data_sampled.pos.cpu() + edge_index = radius_graph(x=data_sampled.pos, r=hparams['r'], loop=True, + max_num_neighbors=int(hparams['max_neighbors'])) + + # 将 edge_index 转换为 Paddle 张量 + data_sampled.edge_index = paddle.to_tensor(edge_index, dtype="int64") + + train_dataset_sampled.append(data_sampled) + + train_loader = DataLoader(train_dataset_sampled, batch_size=hparams['batch_size'], + shuffle=True, collate_fn=custom_collate_fn) + + + del train_dataset_sampled + train_loss, _, loss_surf_var, loss_vol_var, loss_surf, loss_vol = ( + train(device, model, train_loader, optimizer, lr_scheduler, + criterion, reg=reg)) + + print('epoch: ' + str(epoch)) + print('train_loss: ' + str(train_loss)) + print('loss_vol: ' + str(loss_vol)) + print('loss_surf: ' + str(loss_surf)) + if criterion == 'MSE_weighted': + train_loss = reg * loss_surf + loss_vol + del train_loader + train_loss_surf_list.append(loss_surf) + train_loss_vol_list.append(loss_vol) + loss_surf_var_list.append(loss_surf_var) + loss_vol_var_list.append(loss_vol_var) + if val_iter is not None: + if epoch % val_iter == val_iter - 1 or epoch == 0: + if val_sample: + val_surf_vars, val_vol_vars, val_surfs, val_vols = [], [ + ], [], [] + for i in range(20): + val_dataset_sampled = [] + for data in val_dataset: + # data_sampled = data.clone() + data_sampled = data + idx = random.sample(range(data_sampled.x.shape[0]), hparams['subsampling']) + idx = paddle.to_tensor(data=idx) + data_sampled.pos = data_sampled.pos[idx] + data_sampled.x = data_sampled.x[idx] + data_sampled.y = data_sampled.y[idx] + data_sampled.surf = data_sampled.surf[idx] + if name_mod != 'PointNet' and name_mod != 'MLP': + data_sampled.pos = data_sampled.pos.cpu() + edge_index = radius_graph(x=data_sampled.pos, r=hparams['r'], loop=True, + max_num_neighbors=int(hparams['max_neighbors'])) + + # 将 edge_index 转换为 Paddle 张量 + data_sampled.edge_index = paddle.to_tensor(edge_index, dtype="int64") + + val_dataset_sampled.append(data_sampled) + val_loader = DataLoader(val_dataset_sampled, + batch_size=1, shuffle=True, collate_fn=custom_collate_fn) + del val_dataset_sampled + (val_loss, _, val_surf_var, val_vol_var, val_surf, + val_vol) = test(device, model, val_loader, + criterion) + del val_loader + val_surf_vars.append(val_surf_var) + val_vol_vars.append(val_vol_var) + val_surfs.append(val_surf) + val_vols.append(val_vol) + val_surf_var = np.array(val_surf_vars).mean(axis=0) + val_vol_var = np.array(val_vol_vars).mean(axis=0) + val_surf = np.array(val_surfs).mean(axis=0) + val_vol = np.array(val_vols).mean(axis=0) + else: + (val_loss, _, val_surf_var, val_vol_var, val_surf, val_vol + ) = test(device, model, val_loader, criterion) + print('=====validation=====') + print('epoch: ' + str(epoch)) + print('val_vol: ' + str(val_vol)) + print('val_surf: ' + str(val_surf)) + if criterion == 'MSE_weigthed': + val_loss = reg * val_surf + val_vol + val_surf_list.append(val_surf) + val_vol_list.append(val_vol) + val_surf_var_list.append(val_surf_var) + val_vol_var_list.append(val_vol_var) + pbar_train.set_postfix(train_loss=train_loss, loss_surf= + loss_surf, val_loss=val_loss, val_surf=val_surf) + else: + pbar_train.set_postfix(train_loss=train_loss, loss_surf= + loss_surf, val_loss=val_loss, val_surf=val_surf) + else: + pbar_train.set_postfix(train_loss=train_loss, loss_surf=loss_surf) + loss_surf_var_list = np.array(loss_surf_var_list) + loss_vol_var_list = np.array(loss_vol_var_list) + val_surf_var_list = np.array(val_surf_var_list) + val_vol_var_list = np.array(val_vol_var_list) + end = time.time() + time_elapsed = end - start + params_model = get_nb_trainable_params(model).astype('float') + print('Number of parameters:', params_model) + print('Time elapsed: {0:.2f} seconds'.format(time_elapsed)) + + # 保存模型权重 + model_path = os.path.join(path, f"model_{hparams['nb_epochs']}.pdparams") + paddle.save(model.state_dict(), model_path) + + sns.set() + fig_train_surf, ax_train_surf = plt.subplots(figsize=(20, 5)) + ax_train_surf.plot(train_loss_surf_list, label='Mean loss') + ax_train_surf.plot(loss_surf_var_list[:, 0], label='$v_x$ loss') + ax_train_surf.plot(loss_surf_var_list[:, 1], label='$v_y$ loss') + ax_train_surf.plot(loss_surf_var_list[:, 2], label='$p$ loss') + ax_train_surf.plot(loss_surf_var_list[:, 3], label='$\\nu_t$ loss') + ax_train_surf.set_xlabel('epochs') + ax_train_surf.set_yscale('log') + ax_train_surf.set_title('Train losses over the surface') + ax_train_surf.legend(loc='best') + fig_train_surf.savefig(os.path.join(path, 'train_loss_surf.png'), dpi= + 150, bbox_inches='tight') + fig_train_vol, ax_train_vol = plt.subplots(figsize=(20, 5)) + ax_train_vol.plot(train_loss_vol_list, label='Mean loss') + ax_train_vol.plot(loss_vol_var_list[:, 0], label='$v_x$ loss') + ax_train_vol.plot(loss_vol_var_list[:, 1], label='$v_y$ loss') + ax_train_vol.plot(loss_vol_var_list[:, 2], label='$p$ loss') + ax_train_vol.plot(loss_vol_var_list[:, 3], label='$\\nu_t$ loss') + ax_train_vol.set_xlabel('epochs') + ax_train_vol.set_yscale('log') + ax_train_vol.set_title('Train losses over the volume') + ax_train_vol.legend(loc='best') + fig_train_vol.savefig(os.path.join(path, 'train_loss_vol.png'), dpi=150, + bbox_inches='tight') + if val_iter is not None: + fig_val_surf, ax_val_surf = plt.subplots(figsize=(20, 5)) + ax_val_surf.plot(val_surf_list, label='Mean loss') + ax_val_surf.plot(val_surf_var_list[:, 0], label='$v_x$ loss') + ax_val_surf.plot(val_surf_var_list[:, 1], label='$v_y$ loss') + ax_val_surf.plot(val_surf_var_list[:, 2], label='$p$ loss') + ax_val_surf.plot(val_surf_var_list[:, 3], label='$\\nu_t$ loss') + ax_val_surf.set_xlabel('epochs') + ax_val_surf.set_yscale('log') + ax_val_surf.set_title('Validation losses over the surface') + ax_val_surf.legend(loc='best') + fig_val_surf.savefig(os.path.join(path, 'val_loss_surf.png'), dpi= + 150, bbox_inches='tight') + fig_val_vol, ax_val_vol = plt.subplots(figsize=(20, 5)) + ax_val_vol.plot(val_vol_list, label='Mean loss') + ax_val_vol.plot(val_vol_var_list[:, 0], label='$v_x$ loss') + ax_val_vol.plot(val_vol_var_list[:, 1], label='$v_y$ loss') + ax_val_vol.plot(val_vol_var_list[:, 2], label='$p$ loss') + ax_val_vol.plot(val_vol_var_list[:, 3], label='$\\nu_t$ loss') + ax_val_vol.set_xlabel('epochs') + ax_val_vol.set_yscale('log') + ax_val_vol.set_title('Validation losses over the volume') + ax_val_vol.legend(loc='best') + fig_val_vol.savefig(os.path.join(path, 'val_loss_vol.png'), dpi=150, + bbox_inches='tight') + # 确保 hparams 内部的每个值也被序列化 + hparams_serialized = serialize_data(hparams) + + if val_iter is not None: + with open(osp.join(path, name_mod + '_log.json'), 'a') as f: + json.dump( + serialize_data({ + 'regression': 'Total', + 'loss': 'MSE', + 'nb_parameters': params_model, + 'time_elapsed': time_elapsed, + 'hparams': hparams_serialized, # 使用序列化后的 hparams + 'train_loss_surf': train_loss_surf_list[-1], + 'train_loss_surf_var': loss_surf_var_list[-1], + 'train_loss_vol': train_loss_vol_list[-1], + 'train_loss_vol_var': loss_vol_var_list[-1], + 'val_loss_surf': val_surf_list[-1], + 'val_loss_surf_var': val_surf_var_list[-1], + 'val_loss_vol': val_vol_list[-1], + 'val_loss_vol_var': val_vol_var_list[-1], + }), f, indent=12, cls=NumpyEncoder + ) + return model diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics.py new file mode 100644 index 0000000000..92cfbe5065 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics.py @@ -0,0 +1,437 @@ +import sys +# sys.path.append('../../utils') +from typing import Tuple, List +from dataset.dataset import Data +from utils import paddle_aux +import os +import paddle +import pathlib +import numpy as np +import scipy as sc +from dataset.radius import radius_graph +from paddle.io import DataLoader +import pyvista as pv +import json +import seaborn as sns +import random +import time +import utils.metrics_NACA as metrics_NACA +from utils.reorganize import reorganize +from dataset.dataset import Dataset +from tqdm import tqdm +NU = np.array(1.56e-05) + + +def custom_collate_fn(batch: List['Data']): + """自定义collate_fn,用于处理单个Data类型的数据项,直接返回单个数据和shape。""" + # print(f"Batch received in collate_fn: {batch}") + # 直接返回单个 Data 和 shape + return batch + +class NumpyEncoder(json.JSONEncoder): + + def default(self, obj): + if isinstance(obj, np.ndarray): + return obj.tolist() + return json.JSONEncoder.default(self, obj) + + +def rsquared(predict, true): + """ + Args: + predict (tensor): Predicted values, shape (N, *) + true (tensor): True values, shape (N, *) + + Out: + rsquared (tensor): Coefficient of determination of the prediction, shape (*,) + """ + mean = true.mean(axis=0) + return 1 - ((true - predict) ** 2).sum(axis=0) / ((true - mean) ** 2).sum( + axis=0) + + +def rel_err(a, b): + return np.abs((a - b) / a) + + +def WallShearStress(Jacob_U, normals): + S = 0.5 * (Jacob_U + Jacob_U.transpose(0, 2, 1)) + S = S - S.trace(axis1=1, axis2=2).reshape(-1, 1, 1) * np.eye(2)[None] / 3 + ShearStress = 2 * NU.reshape(-1, 1, 1) * S + ShearStress = (ShearStress * normals[:, :2].reshape(-1, 1, 2)).sum(axis=2) + return ShearStress + + +@paddle.no_grad() +def Infer_test(device, models, hparams, data, coef_norm=None): + outs = [paddle.zeros_like(x=data.y)] * len(models) + n_out = paddle.zeros_like(x=data.y[:, :1]) + idx_points = set(map(tuple, data.pos[:, :2].numpy())) + cond = True + i = 0 + while cond: + i += 1 + data_sampled = data.clone() + idx = random.sample(range(data_sampled.x.shape[0]), hparams[0][ + 'subsampling']) + idx = paddle.to_tensor(data=idx) + idx_points = idx_points - set(map(tuple, data_sampled.pos[idx, :2]. + numpy())) + data_sampled.pos = data_sampled.pos[idx] + data_sampled.x = data_sampled.x[idx] + data_sampled.y = data_sampled.y[idx] + data_sampled.surf = data_sampled.surf[idx] + # data_sampled.batch = data_sampled.batch[idx] + + out = [paddle.zeros_like(x=data.y)] * len(models) + tim = np.zeros(len(models)) + for n, model in enumerate(models): + try: + data_sampled.pos = data_sampled.pos.cpu() + edge_index = radius_graph(x=data_sampled.pos, r=hparams[n]['r'], loop=True, + max_num_neighbors=int(hparams[n]['max_neighbors'])) + data_sampled.edge_index = paddle.to_tensor(edge_index, dtype="int64") + except KeyError: + data_sampled.edge_index = None + model.eval() + data_sampled = data_sampled.to(device) + start = time.time() + o = model(data_sampled) + tim[n] += time.time() - start + out[n][idx] = o.cpu() + outs[n] = outs[n] + out[n] + n_out[idx] = n_out[idx] + paddle.ones_like(x=n_out[idx]) + cond = len(idx_points) > 0 + for n, out in enumerate(outs): + outs[n] = out / n_out + if coef_norm is not None: + outs[n][data.surf, :2] = -paddle.to_tensor(data=coef_norm[2][ + None, :2]) * paddle.ones_like(x=out[data.surf, :2]) / (paddle + .to_tensor(data=coef_norm[3][None, :2]) + 1e-08) + outs[n][data.surf, 3] = -paddle.to_tensor(data=coef_norm[2][3] + ) * paddle.ones_like(x=out[data.surf, 3]) / (paddle. + to_tensor(data=coef_norm[3][3]) + 1e-08) + else: + outs[n][data.surf, :2] = paddle.zeros_like(x=out[data.surf, :2]) + outs[n][data.surf, 3] = paddle.zeros_like(x=out[data.surf, 3]) + return outs, tim / i + + +def Airfoil_test(internal, airfoil, outs, coef_norm, bool_surf): + internals = [] + airfoils = [] + for out in outs: + intern = internal.copy() + aerofoil = airfoil.copy() + point_mesh = intern.points[bool_surf, :2] + point_surf = aerofoil.points[:, :2] + out = (out * (coef_norm[3] + 1e-08) + coef_norm[2]).numpy() + out[bool_surf.numpy(), :2] = np.zeros_like(out[bool_surf.numpy(), :2]) + out[bool_surf.numpy(), 3] = np.zeros_like(out[bool_surf.numpy(), 3]) + intern.point_data['U'][:, :2] = out[:, :2] + intern.point_data['p'] = out[:, 2] + intern.point_data['nut'] = out[:, 3] + surf_p = intern.point_data['p'][bool_surf] + surf_p = reorganize(point_mesh, point_surf, surf_p) + aerofoil.point_data['p'] = surf_p + intern = intern.ptc(pass_point_data=True) + aerofoil = aerofoil.ptc(pass_point_data=True) + internals.append(intern) + airfoils.append(aerofoil) + return internals, airfoils + + +def Airfoil_mean(internals, airfoils): + oi_point = np.zeros((internals[0].points.shape[0], 4)) + oi_cell = np.zeros((tuple(internals[0].cell_data['U'].shape)[0], 4)) + oa_point = np.zeros((airfoils[0].points.shape[0], 4)) + oa_cell = np.zeros((tuple(airfoils[0].cell_data['U'].shape)[0], 4)) + for k in range(len(internals)): + oi_point[:, :2] += internals[k].point_data['U'][:, :2] + oi_point[:, 2] += internals[k].point_data['p'] + oi_point[:, 3] += internals[k].point_data['nut'] + oi_cell[:, :2] += internals[k].cell_data['U'][:, :2] + oi_cell[:, 2] += internals[k].cell_data['p'] + oi_cell[:, 3] += internals[k].cell_data['nut'] + oa_point[:, :2] += airfoils[k].point_data['U'][:, :2] + oa_point[:, 2] += airfoils[k].point_data['p'] + oa_point[:, 3] += airfoils[k].point_data['nut'] + oa_cell[:, :2] += airfoils[k].cell_data['U'][:, :2] + oa_cell[:, 2] += airfoils[k].cell_data['p'] + oa_cell[:, 3] += airfoils[k].cell_data['nut'] + oi_point = oi_point / len(internals) + oi_cell = oi_cell / len(internals) + oa_point = oa_point / len(airfoils) + oa_cell = oa_cell / len(airfoils) + internal_mean = internals[0].copy() + internal_mean.point_data['U'][:, :2] = oi_point[:, :2] + internal_mean.point_data['p'] = oi_point[:, 2] + internal_mean.point_data['nut'] = oi_point[:, 3] + internal_mean.cell_data['U'][:, :2] = oi_cell[:, :2] + internal_mean.cell_data['p'] = oi_cell[:, 2] + internal_mean.cell_data['nut'] = oi_cell[:, 3] + airfoil_mean = airfoils[0].copy() + airfoil_mean.point_data['U'][:, :2] = oa_point[:, :2] + airfoil_mean.point_data['p'] = oa_point[:, 2] + airfoil_mean.point_data['nut'] = oa_point[:, 3] + airfoil_mean.cell_data['U'][:, :2] = oa_cell[:, :2] + airfoil_mean.cell_data['p'] = oa_cell[:, 2] + airfoil_mean.cell_data['nut'] = oa_cell[:, 3] + return internal_mean, airfoil_mean + + +def Compute_coefficients(internals, airfoils, bool_surf, Uinf, angle, + keep_vtk=False): + coefs = [] + if keep_vtk: + new_internals = [] + new_airfoils = [] + for internal, airfoil in zip(internals, airfoils): + intern = internal.copy() + aerofoil = airfoil.copy() + point_mesh = intern.points[bool_surf, :2] + point_surf = aerofoil.points[:, :2] + intern = intern.compute_derivative(scalars='U', gradient='pred_grad') + surf_grad = intern.point_data['pred_grad'].reshape(-1, 3, 3)[ + bool_surf, :2, :2] + surf_p = intern.point_data['p'][bool_surf] + surf_grad = reorganize(point_mesh, point_surf, surf_grad) + surf_p = reorganize(point_mesh, point_surf, surf_p) + Wss_pred = WallShearStress(surf_grad, -aerofoil.point_data['Normals']) + aerofoil.point_data['wallShearStress'] = Wss_pred + aerofoil.point_data['p'] = surf_p + intern = intern.ptc(pass_point_data=True) + aerofoil = aerofoil.ptc(pass_point_data=True) + WP_int = -aerofoil.cell_data['p'][:, None] * aerofoil.cell_data[ + 'Normals'][:, :2] + Wss_int = (aerofoil.cell_data['wallShearStress'] * aerofoil. + cell_data['Length'].reshape(-1, 1)).sum(axis=0) + WP_int = (WP_int * aerofoil.cell_data['Length'].reshape(-1, 1)).sum( + axis=0) + force = Wss_int - WP_int + alpha = angle * np.pi / 180 + basis = np.array([[np.cos(alpha), np.sin(alpha)], [-np.sin(alpha), + np.cos(alpha)]]) + force_rot = basis @ force + coef = 2 * force_rot / Uinf ** 2 + coefs.append(coef) + if keep_vtk: + new_internals.append(intern) + new_airfoils.append(aerofoil) + if keep_vtk: + return coefs, new_internals, new_airfoils + else: + return coefs + + +def Results_test(device, models, hparams, coef_norm, path_in, path_out, + n_test=3, criterion='MSE', x_bl=[0.2, 0.4, 0.6, 0.8], s='full_test'): + """ + Compute criterion scores for the fields over the volume and the surface, and for the force coefficients. Also compute Spearman's correlation scores + for the force coefficients and the relative error for the wall shear stress and the pressure over the airfoil. Outputs the true, the mean predicted + and the std predicted integrated force coefficients, the true and mean predicted local force coefficients (at the surface of airfoils) and the true + mean predicted boundary layers at chord x_bl. + + Args: + device (str): Device on which you do the prediction. + models (torch_geometric.nn.Module): List of models to predict with. It is a list of a list of different training of the same model. + For example, it can be [model_MLP, model_GraphSAGE] where model_MLP is itself a list of the form [MLP_1, MLP_2]. + hparams (list): List of dictionnaries of hyperparameters of the models. + coef_norm (tuple): Tuple of the form (mean_in, mean_out, std_in, std_out) for the denormalization of the data. + path_in (str): Path to find the manifest.json file and the dataset. + path_out (str): Path to write the scores. + n_test (int, optional): Number of airfoils on which you want to infer (they will be drawn randomly in the given set). Default: ``3`` + criterion(str, optional): Criterion for the fields scores. Choose between MSE and MAE. Default: ``"MSE"`` + x_bl (list, optional): List of chord where the extract boundary layer prediction will be extracted. Default: ``[.2, .4, .6, .8]`` + s (str, optional): Dataset in which the simulation names are going to be sampled. Default: ``"full_test"`` + """ + sns.set() + pathlib.Path(path_out).mkdir(parents=True, exist_ok=True) + with open(os.path.join(path_in, 'manifest.json'), 'r') as f: + manifest = json.load(f) + + test_dataset = manifest[s] + + idx = random.sample(range(len(test_dataset)), k=n_test) + + # 确保 idx 是 Paddle 的 Tensor 类型 + idx = paddle.to_tensor(idx) + + paddle.sort(x=idx), paddle.argsort(x=idx) + + test_dataset_vtk = Dataset(test_dataset, sample=None, coef_norm= + coef_norm, my_path=path_in) + + test_loader = DataLoader(test_dataset_vtk, shuffle=False, collate_fn=custom_collate_fn) + if criterion == 'MSE': + criterion = paddle.nn.MSELoss(reduction='none') + elif criterion == 'MAE': + criterion = paddle.nn.L1Loss(reduction='none') + scores_vol = [] + scores_surf = [] + scores_force = [] + scores_p = [] + scores_wss = [] + internals = [] + airfoils = [] + true_internals = [] + true_airfoils = [] + times = [] + true_coefs = [] + pred_coefs = [] + for i, model in enumerate(models): + # model = [models[n][i] for n in range(len(models))] + model = [model] + avg_loss_per_var = np.zeros((len(model), 4)) + avg_loss = np.zeros(len(model)) + avg_loss_surf_var = np.zeros((len(model), 4)) + avg_loss_vol_var = np.zeros((len(model), 4)) + avg_loss_surf = np.zeros(len(model)) + avg_loss_vol = np.zeros(len(model)) + avg_rel_err_force = np.zeros((len(model), 2)) + avg_loss_p = np.zeros(len(model)) + avg_loss_wss = np.zeros((len(model), 2)) + internal = [] + airfoil = [] + pred_coef = [] + for j, data in enumerate(tqdm(test_loader.dataset)): + Uinf, angle = float(test_dataset[j].split('_')[2]), float( + test_dataset[j].split('_')[3]) + outs, tim = Infer_test(device, model, hparams, data, coef_norm= + coef_norm) + times.append(tim) + intern = pv.read(os.path.join(path_in, test_dataset[j], + test_dataset[j] + '_internal.vtu')) + aerofoil = pv.read(os.path.join(path_in, test_dataset[j], + test_dataset[j] + '_aerofoil.vtp')) + tc, true_intern, true_airfoil = Compute_coefficients([intern], + [aerofoil], data.surf, Uinf, angle, keep_vtk=True) + tc, true_intern, true_airfoil = tc[0], true_intern[0 + ], true_airfoil[0] + + intern, aerofoil = Airfoil_test(intern, aerofoil, outs, coef_norm, data.surf) + pc, intern, aerofoil = Compute_coefficients(intern, aerofoil, data.surf, Uinf, angle, keep_vtk=True) + + if i == 0: + true_coefs.append(tc) + pred_coef.append(pc) + if j in idx: + internal.append(intern) + airfoil.append(aerofoil) + if i == 0: + true_internals.append(true_intern) + true_airfoils.append(true_airfoil) + for n, out in enumerate(outs): + loss_per_var = criterion(out, data.y).mean(axis=0) + loss = loss_per_var.mean() + loss_surf_var = criterion(out[data.surf, :], data.y[data. + surf, :]).mean(axis=0) + loss_vol_var = criterion(out[~data.surf, :], data.y[~data. + surf, :]).mean(axis=0) + loss_surf = loss_surf_var.mean() + loss_vol = loss_vol_var.mean() + avg_loss_per_var[n] += loss_per_var.cpu().numpy() + avg_loss[n] += loss.cpu().numpy() + avg_loss_surf_var[n] += loss_surf_var.cpu().numpy() + avg_loss_vol_var[n] += loss_vol_var.cpu().numpy() + avg_loss_surf[n] += loss_surf.cpu().numpy() + avg_loss_vol[n] += loss_vol.cpu().numpy() + avg_rel_err_force[n] += rel_err(tc, pc[n]) + avg_loss_wss[n] += rel_err(true_airfoil.point_data[ + 'wallShearStress'], aerofoil[n].point_data[ + 'wallShearStress']).mean(axis=0) + avg_loss_p[n] += rel_err(true_airfoil.point_data['p'], + aerofoil[n].point_data['p']).mean(axis=0) + + internals.append(internal) + airfoils.append(airfoil) + pred_coefs.append(pred_coef) + score_var = np.array(avg_loss_per_var) / len(test_loader) + score = np.array(avg_loss) / len(test_loader) + score_surf_var = np.array(avg_loss_surf_var) / len(test_loader) + score_vol_var = np.array(avg_loss_vol_var) / len(test_loader) + score_surf = np.array(avg_loss_surf) / len(test_loader) + score_vol = np.array(avg_loss_vol) / len(test_loader) + score_force = np.array(avg_rel_err_force) / len(test_loader) + score_p = np.array(avg_loss_p) / len(test_loader) + score_wss = np.array(avg_loss_wss) / len(test_loader) + score = score_surf + score_vol + scores_vol.append(score_vol_var) + scores_surf.append(score_surf_var) + scores_force.append(score_force) + scores_p.append(score_p) + scores_wss.append(score_wss) + scores_vol = np.array(scores_vol) + scores_surf = np.array(scores_surf) + scores_force = np.array(scores_force) + scores_p = np.array(scores_p) + scores_wss = np.array(scores_wss) + times = np.array(times) + true_coefs = np.array(true_coefs) + pred_coefs = np.array(pred_coefs) + pred_coefs_mean = pred_coefs.mean(axis=0) + pred_coefs_std = pred_coefs.std(axis=0) + + + spear_coefs = [] + + for j in range(pred_coefs.shape[0]): + spear_coef = [] + for k in range(pred_coefs.shape[2]): + spear_drag = sc.stats.spearmanr(true_coefs[:, 0], pred_coefs[j, :, k, 0])[0] + spear_lift = sc.stats.spearmanr(true_coefs[:, 1], pred_coefs[j, :, k, 1])[0] + spear_coef.append([spear_drag, spear_lift]) + spear_coefs.append(spear_coef) + + + spear_coefs = np.array(spear_coefs) + + + with open(os.path.join(path_out, 'score.json'), 'w') as f: + json.dump({'mean_time': times.mean(axis=0), 'std_time': times.std( + axis=0), 'mean_score_vol': scores_vol.mean(axis=0), + 'std_score_vol': scores_vol.std(axis=0), 'mean_score_surf': + scores_surf.mean(axis=0), 'std_score_surf': scores_surf.std( + axis=0), 'mean_rel_p': scores_p.mean(axis=0), 'std_rel_p': + scores_p.std(axis=0), 'mean_rel_wss': scores_wss.mean(axis=0), + 'std_rel_wss': scores_wss.std(axis=0), 'mean_score_force': + scores_force.mean(axis=0), 'std_score_force': scores_force.std( + axis=0), 'spearman_coef_mean': spear_coefs.mean(axis=0), + 'spearman_coef_std': spear_coefs.std(axis=0)}, f, indent=4, cls + =NumpyEncoder) + surf_coefs = [] + true_surf_coefs = [] + bls = [] + true_bls = [] + for i in range(len(internals[0])): + aero_name = test_dataset[idx[i]] + true_internal = true_internals[i] + true_airfoil = true_airfoils[i] + surf_coef = [] + bl = [] + for j in range(len(internals[0][0])): + internal_mean, airfoil_mean = Airfoil_mean([internals[k][i][j] for + k in range(len(internals))], [airfoils[k][i][j] for k in + range(len(airfoils))]) + internal_mean.save(os.path.join(path_out, test_dataset[idx[i]] + + '_' + str(j) + '.vtu')) + surf_coef.append(np.array(metrics_NACA.surface_coefficients( + airfoil_mean, aero_name))) + b = [] + for x in x_bl: + b.append(np.array(metrics_NACA.boundary_layer(airfoil_mean, + internal_mean, aero_name, x))) + bl.append(np.array(b)) + true_surf_coefs.append(np.array(metrics_NACA.surface_coefficients( + true_airfoil, aero_name))) + true_bl = [] + for x in x_bl: + true_bl.append(np.array(metrics_NACA.boundary_layer( + true_airfoil, true_internal, aero_name, x))) + true_bls.append(np.array(true_bl)) + surf_coefs.append(np.array(surf_coef)) + bls.append(np.array(bl)) + true_bls = np.array(true_bls) + bls = np.array(bls) + return (true_coefs, pred_coefs_mean, pred_coefs_std, true_surf_coefs, + surf_coefs, true_bls, bls) diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics_NACA.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics_NACA.py new file mode 100644 index 0000000000..c299523268 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics_NACA.py @@ -0,0 +1,191 @@ +import numpy as np +import matplotlib.pyplot as plt +import seaborn as sns +from utils.naca_generator import camber_line +sns.set() +RHO = 1.184 +NU = 1.56e-05 +C = 346.1 +P_ref = 101300.0 + + +def surface_coefficients(airfoil, aero_name, compressible=False, extrado=False + ): + u_inf = float(aero_name.split('_')[2]) + digits = list(map(float, aero_name.split('_')[4:-1])) + if compressible: + qInf = 0.5 * u_inf ** 2 * RHO + else: + qInf = 0.5 * u_inf ** 2 + if extrado: + camber = camber_line(digits, airfoil.points[:, 0])[0] + idx_extrado = airfoil.points[:, 1] > camber + points = airfoil.points[:, 0] + pressure = airfoil.point_data['p'] + wss = np.linalg.norm(airfoil.point_data['wallShearStress'][:, :2], axis=1) + c_p = np.concatenate([points[:, None], pressure[:, None] / qInf], axis=1) + c_l = np.concatenate([points[:, None], wss[:, None] / qInf], axis=1) + if extrado: + return c_p, c_l, idx_extrado + else: + return c_p, c_l + + +def compare_surface_coefs(coefs1, coefs2, extrado=True, path=None): + ycp1, ycp2, c_p1, c_p2 = coefs1[0][:, 0], coefs2[0][:, 0], coefs1[0][:, 1 + ], coefs2[0][:, 1] + ycl1, ycl2, c_f1, c_f2 = coefs1[1][:, 0], coefs2[1][:, 0], coefs1[1][:, 1 + ], coefs2[1][:, 1] + fig, ax = plt.subplots(2, figsize=(20, 10)) + if extrado: + n_extrado1, n_extrado2 = coefs1[2], coefs2[2] + ax[0].scatter(ycp1[:n_extrado1], c_p1[:n_extrado1], label='Extrado 1') + ax[0].scatter(ycp1[n_extrado1:], c_p1[n_extrado1:], color='r', + marker='x', label='Intrado 1') + ax[0].scatter(ycp2[:n_extrado2], c_p2[:n_extrado2], color='y', + label='Extrado Target') + ax[0].scatter(ycp2[n_extrado2:], c_p2[n_extrado2:], color='g', + marker='x', label='Intrado Target') + ax[1].scatter(ycl1[:n_extrado1], c_f1[:n_extrado1], label='Extrado 1') + ax[1].scatter(ycl1[n_extrado1:], c_f1[n_extrado1:], color='r', + marker='x', label='Intrado 1') + ax[1].scatter(ycl2[:n_extrado2], c_f2[:n_extrado2], color='y', + label='Extrado Target') + ax[1].scatter(ycl2[n_extrado2:], c_f2[n_extrado2:], color='g', + marker='x', label='Intrado Target') + else: + ax[0].scatter(ycp1, c_p1, label='Experiment 1') + ax[0].scatter(ycp2, c_p2, color='y', label='Experiment Target') + ax[1].scatter(ycl1, c_f1, label='Experiment 1') + ax[1].scatter(ycl2, c_f2, color='y', label='Experiment Targer') + ax[0].invert_yaxis() + ax[0].set_xlabel('x/c') + ax[1].set_xlabel('x/c') + ax[0].set_ylabel('$C_p$') + ax[1].set_ylabel('$C_f$') + ax[0].set_title('Pressure coefficient') + ax[1].set_title('Skin friction coefficient') + ax[0].legend(loc='best') + ax[1].legend(loc='best') + if path != None: + fig.savefig(path + 'surface_coefs.png', bbox_inches='tight', dpi=150) + + +def boundary_layer(airfoil, internal, aero_name, x, y=0.001, resolution=int + (1000.0), direction='normals', rotation=False, extrado=True): + u_inf = float(aero_name.split('_')[2]) + digits = list(map(float, aero_name.split('_')[4:-1])) + camber = camber_line(digits, airfoil.points[:, 0])[0] + idx_extrado = airfoil.points[:, 1] > camber + if extrado: + arg = np.argmin(np.abs(airfoil.points[idx_extrado, 0] - x)) + 1 + arg = np.argwhere(idx_extrado.cumsum() == arg).min() + else: + arg = np.argmin(np.abs(airfoil.points[~idx_extrado, 0] - x)) + 1 + arg = np.argwhere((~idx_extrado).cumsum() == arg).min() + if direction == 'normals': + normals = -airfoil.point_data['Normals'][arg] + elif direction == 'y': + normals = np.array([0, 2 * int(extrado) - 1, 0]) + a, b = airfoil.points[arg], airfoil.points[arg] + y * normals + bl = internal.sample_over_line(a, b, resolution=resolution) + if rotation: + rot = np.array([[0, 1, 0], [-1, 0, 0], [0, 0, 1]]) + u = (bl.point_data['U'] * (rot @ normals)).sum(axis=1) + v = (bl.point_data['U'] * normals).sum(axis=1) + else: + u = bl.point_data['U'][:, 0] + v = bl.point_data['U'][:, 1] + nut = bl.point_data['nut'] + yc = bl.points[:, 1] - a[1] + return yc, u / u_inf, v / u_inf, nut / NU + + +def compare_boundary_layer(coefs1, coefs2, ylim=0.1, path=None, ylog=False): + yc1, u1, v1, nut1 = coefs1 + yc2, u2, v2, nut2 = coefs2 + fig, ax = plt.subplots(1, 3, figsize=(30, 10)) + ax[0].scatter(u1, yc1, label='Experiment 1') + ax[0].scatter(u2, yc2, label='Experiment 2', color='r', marker='x') + ax[0].set_xlabel('$u/U_\\infty$') + ax[0].set_ylabel('$(y-y_0)/c$') + ax[0].legend(loc='best') + ax[1].scatter(v1, yc1, label='Experiment 1') + ax[1].scatter(v2, yc2, label='Experiment 2', color='r', marker='x') + ax[1].set_xlabel('$v/U_\\infty$') + ax[1].set_ylabel('$(y-y_0)/c$') + ax[1].legend(loc='best') + ax[2].scatter(nut1, yc1, label='Experience 1') + ax[2].scatter(nut2, yc2, label='Experience 2', color='r', marker='x') + ax[2].set_xlabel('$\\nu_t/\\nu$') + ax[2].set_ylabel('$(y-y_0)/c$') + ax[2].legend(loc='best') + if ylog: + ax[0].set_yscale('log') + ax[1].set_yscale('log') + ax[2].set_yscale('log') + if path != None: + fig.savefig(path + 'boundary_layer.png', bbox_inches='tight', dpi=150) + + +def plot_residuals(path, params): + datas = dict() + if params['turbulence'] == 'SA': + fields = ['Ux', 'Uy', 'p', 'nuTilda'] + elif params['turbulence'] == 'SST': + fields = ['Ux', 'Uy', 'p', 'k', 'omega'] + for field in fields: + data = np.loadtxt(path + 'logs/' + field + '_0')[:, 1] + datas[field] = data + if params['turbulence'] == 'SA': + fig, ax = plt.subplots(2, 2, figsize=(20, 20)) + ax[1, 1].plot(datas['nuTilda']) + ax[1, 1].set_yscale('log') + ax[1, 1].set_title('nuTilda residual') + ax[1, 1].set_xlabel('Number of iterations') + elif params['turbulence'] == 'SST': + fig, ax = plt.subplots(3, 2, figsize=(30, 20)) + ax[1, 1].plot(datas['k']) + ax[1, 1].set_yscale('log') + ax[1, 1].set_title('k residual') + ax[1, 1].set_xlabel('Number of iterations') + ax[2, 0].plot(datas['omega']) + ax[2, 0].set_yscale('log') + ax[2, 0].set_title('omega residual') + ax[2, 0].set_xlabel('Number of iterations') + ax[0, 0].plot(datas['Ux']) + ax[0, 0].set_yscale('log') + ax[0, 0].set_title('Ux residual') + ax[0, 1].plot(datas['Uy']) + ax[0, 1].set_yscale('log') + ax[0, 1].set_title('Uy residual') + ax[1, 0].plot(datas['p']) + ax[1, 0].set_yscale('log') + ax[1, 0].set_title('p residual') + ax[1, 0].set_xlabel('Number of iterations') + fig.savefig(path + 'residuals.png', bbox_inches='tight', dpi=150) + return datas + + +def plot_coef_convergence(path, params): + datas = dict() + datas['c_d'] = np.loadtxt(path + + 'postProcessing/forceCoeffs1/0/coefficient.dat')[:, 1] + datas['c_l'] = np.loadtxt(path + + 'postProcessing/forceCoeffs1/0/coefficient.dat')[:, 3] + c_d, c_l = datas['c_d'][-1], datas['c_l'][-1] + fig, ax = plt.subplots(2, figsize=(30, 15)) + ax[0].plot(datas['c_d']) + ax[0].set_ylim([0.5 * c_d, 1.5 * c_d]) + ax[0].set_title('Drag coefficient') + ax[0].set_xlabel('Number of iterations') + ax[0].set_ylabel('$C_D$') + ax[1].plot(datas['c_l']) + ax[1].set_title('Lift coefficient') + ax[1].set_ylim([0.5 * c_l, 1.5 * c_l]) + ax[1].set_ylabel('$C_L$') + ax[1].set_xlabel('Number of iterations') + print('Drag coefficient: {0:.5}, lift coefficient: {1:.5}'.format(c_d, c_l) + ) + fig.savefig(path + 'coef_convergence.png', bbox_inches='tight', dpi=150) + return datas, c_d, c_l diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/naca_generator.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/naca_generator.py new file mode 100644 index 0000000000..cd223647e8 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/naca_generator.py @@ -0,0 +1,112 @@ +import numpy as np + + +def thickness_dist(t, x, CTE=True): + if CTE: + a = -0.1036 + else: + a = -0.1015 + return 5 * t * (0.2969 * np.sqrt(x) - 0.126 * x - 0.3516 * x ** 2 + + 0.2843 * x ** 3 + a * x ** 4) + + +def camber_line(params, x): + y_c = np.zeros_like(x) + dy_c = np.zeros_like(x) + if len(params) == 2: + m = params[0] / 100 + p = params[1] / 10 + if p == 0: + dy_c = -2 * m * x + return y_c, dy_c + elif p == 1: + dy_c = 2 * m * (1 - x) + return y_c, dy_c + mask1 = x < p + mask2 = x >= p + y_c[mask1] = m / p ** 2 * (2 * p * x[mask1] - x[mask1] ** 2) + dy_c[mask1] = 2 * m / p ** 2 * (p - x[mask1]) + y_c[mask2] = m / (1 - p) ** 2 * (1 - 2 * p + 2 * p * x[mask2] - x[ + mask2] ** 2) + dy_c[mask2] = 2 * m / (1 - p) ** 2 * (p - x[mask2]) + elif len(params) == 3: + l, p, q = params + c_l, x_f = 3 / 20 * l, p / 20 + f = lambda x: x * (1 - np.sqrt(x / 3)) - x_f + df = lambda x: 1 - 3 * np.sqrt(x / 3) / 2 + old_m = 0.5 + cond = True + while cond: + new_m = np.max([old_m - f(old_m) / df(old_m), 0]) + cond = np.abs(old_m - new_m) > 1e-15 + old_m = new_m + m = old_m + r = (3 * m - 7 * m ** 2 + 8 * m ** 3 - 4 * m ** 4) / np.sqrt(m * (1 - + m)) - 3 / 2 * (1 - 2 * m) * (np.pi / 2 - np.arcsin(1 - 2 * m)) + k_1 = c_l / r + mask1 = x <= m + mask2 = x > m + if q == 0: + y_c[mask1] = k_1 * (x[mask1] ** 3 - 3 * m * x[mask1] ** 2 + m ** + 2 * (3 - m) * x[mask1]) + dy_c[mask1] = k_1 * (3 * x[mask1] ** 2 - 6 * m * x[mask1] + m ** + 2 * (3 - m)) + y_c[mask2] = k_1 * m ** 3 * (1 - x[mask2]) + dy_c[mask2] = -k_1 * m ** 3 * np.ones_like(dy_c[mask2]) + elif q == 1: + k = (3 * (m - x_f) ** 2 - m ** 3) / (1 - m) ** 3 + y_c[mask1] = k_1 * ((x[mask1] - m) ** 3 - k * (1 - m) ** 3 * x[ + mask1] - m ** 3 * x[mask1] + m ** 3) + dy_c[mask1] = k_1 * (3 * (x[mask1] - m) ** 2 - k * (1 - m) ** 3 - + m ** 3) + y_c[mask2] = k_1 * (k * (x[mask2] - m) ** 3 - k * (1 - m) ** 3 * + x[mask2] - m ** 3 * x[mask2] + m ** 3) + dy_c[mask2] = k_1 * (3 * k * (x[mask2] - m) ** 2 - k * (1 - m) ** + 3 - m ** 3) + else: + raise ValueError( + 'Q must be 0 for normal camber or 1 for reflex camber.') + else: + raise ValueError( + 'The first input must be a tuple of the 2 or 3 digits that represent the camber line.' + ) + return y_c, dy_c + + +def naca_generator(params, nb_samples=400, scale=1, origin=(0, 0), + cosine_spacing=True, verbose=True, CTE=True): + if len(params) == 3: + params_c = params[:2] + t = params[2] / 100 + if verbose: + print( + f'Generating naca M = {params_c[0]}, P = {params_c[1]}, XX = {t * 100}' + ) + elif len(params) == 4: + params_c = params[:3] + t = params[3] / 100 + if verbose: + print( + f'Generating naca L = {params_c[0]}, P = {params_c[1]}, Q = {params_c[2]}, XX = {t * 100}' + ) + else: + raise ValueError( + 'The first argument must be a tuple of the 4 or 5 digits of the airfoil.' + ) + if cosine_spacing: + beta = np.pi * np.linspace(1, 0, nb_samples + 1, endpoint=True) + x = (1 - np.cos(beta)) / 2 + else: + x = np.linspace(1, 0, nb_samples + 1, endpoint=True) + y_c, dy_c = camber_line(params_c, x) + y_t = thickness_dist(t, x, CTE) + theta = np.arctan(dy_c) + x_u = x - y_t * np.sin(theta) + x_l = x + y_t * np.sin(theta) + y_u = y_c + y_t * np.cos(theta) + y_l = y_c - y_t * np.cos(theta) + x = np.concatenate([x_u, x_l[:-1][::-1]], axis=0) + y = np.concatenate([y_u, y_l[:-1][::-1]], axis=0) + pos = np.stack([x * scale + origin[0], y * scale + origin[1]], axis=-1) + pos[0], pos[-1] = np.array([1, 0]), np.array([1, 0]) + return pos diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/reorganize.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/reorganize.py new file mode 100644 index 0000000000..11b895f269 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/reorganize.py @@ -0,0 +1,13 @@ +import numpy as np + + +def reorganize(in_order_points, out_order_points, quantity_to_reordered): + n = out_order_points.shape[0] + idx = np.zeros(n) + for i in range(n): + cond = out_order_points[i] == in_order_points + cond = cond[:, 0] * cond[:, 1] + idx[i] = np.argwhere(cond)[0][0] + idx = idx.astype('int') + assert (in_order_points[idx] == out_order_points).all() + return quantity_to_reordered[idx] diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/README.md b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/README.md new file mode 100644 index 0000000000..544abb579a --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/README.md @@ -0,0 +1,98 @@ +# Transolver for PDE Solving + +We evaluate [Transolver](https://arxiv.org/abs/2402.02366) with six widely used PDE-solving benchmarks, which is provided by [FNO and GeoFNO](https://github.com/neuraloperator/neuraloperator). + +**Transolver achieves 22% averaged relative promotion over the previous second-best model, presenting favorable efficiency and scalibility.** + +

+ +

+Table 1. Comparison in six standard benchmarks. Relative L2 is recorded. +

+ + +## Get Started + +1. Install Python 3.8. For convenience, execute the following command. + +```bash +pip install -r requirements.txt +``` + +2. Prepare Data. You can obtain experimental datasets from the following links. + + +| Dataset | Task | Geometry | Link | +| ------------- | --------------------------------------- | --------------- | ------------------------------------------------------------ | +| Elasticity | Estimate material inner stress | Point Cloud | [[Google Cloud]](https://drive.google.com/drive/folders/1YBuaoTdOSr_qzaow-G-iwvbUI7fiUzu8) | +| Plasticity | Estimate material deformation over time | Structured Mesh | [[Google Cloud]](https://drive.google.com/drive/folders/1YBuaoTdOSr_qzaow-G-iwvbUI7fiUzu8) | +| Navier-Stokes | Predict future fluid velocity | Regular Grid | [[Google Cloud]](https://drive.google.com/drive/folders/1UnbQh2WWc6knEHbLn-ZaXrKUZhp7pjt-) | +| Darcy | Estimate fluid pressure through medium | Regular Grid | [[Google Cloud]](https://drive.google.com/drive/folders/1UnbQh2WWc6knEHbLn-ZaXrKUZhp7pjt-) | +| AirFoil | Estimate airflow velocity around airfoil | Structured Mesh | [[Google Cloud]](https://drive.google.com/drive/folders/1YBuaoTdOSr_qzaow-G-iwvbUI7fiUzu8) | +| Pipe | Estimate fluid velocity in a pipe | Structured Mesh | [[Google Cloud]](https://drive.google.com/drive/folders/1YBuaoTdOSr_qzaow-G-iwvbUI7fiUzu8) | + +3. Train and evaluate model. We provide the experiment scripts of all benchmarks under the folder `./scripts/`. You can reproduce the experiment results as the following examples: + +```bash +bash scripts/Transolver_Elas.sh # for Elasticity +bash scripts/Transolver_Plas.sh # for Plasticity +bash scripts/Transolver_NS.sh # for Navier-Stokes +bash scripts/Transolver_Darcy.sh # for Darcy +bash scripts/Transolver_Airfoil.sh # for Airfoil +bash scripts/Transolver_Pipe.sh # for Pipe +``` + + Note: You need to change the argument `--data_path` to your dataset path. + +4. Develop your own model. Here are the instructions: + + - Add the model file under folder `./models/`. + - Add the model name into `./model_dict.py`. + - Add a script file under folder `./scripts/` and change the argument `--model`. + +## Visualization + +Transolver can handle PDEs under various geometrics well, such as predicting the future fluid and estimating the [[shock wave]](https://en.wikipedia.org/wiki/Shock_wave) around airfoil. + +

+ +

+Figure 1. Case study of different models. +

+ +## PDE Solving at Scale + +To align with previous model, we only experiment with 8-layer Transolver in the main text. Actually, you can easily obtain a better performance by **scaling up Transolver**. The relative L2 generally decreases when we adding more layers. + +

+ +

+Figure 2. Scaling up Transolver: relative L2 curve w.r.t. model layers. +

+ +## Citation + +If you find this repo useful, please cite our paper. + +``` +@inproceedings{wu2024Transolver, + title={Transolver: A Fast Transformer Solver for PDEs on General Geometries}, + author={Haixu Wu and Huakun Luo and Haowen Wang and Jianmin Wang and Mingsheng Long}, + booktitle={International Conference on Machine Learning}, + year={2024} +} +``` + +## Contact + +If you have any questions or want to use the code, please contact [wuhx23@mails.tsinghua.edu.cn](mailto:wuhx23@mails.tsinghua.edu.cn). + +## Acknowledgement + +We appreciate the following github repos a lot for their valuable code base or datasets: + +https://github.com/neuraloperator/neuraloperator + +https://github.com/neuraloperator/Geo-FNO + +https://github.com/thuml/Latent-Spectral-Models diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py new file mode 100644 index 0000000000..be16e76cba --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py @@ -0,0 +1,210 @@ +import sys +# sys.path.append('../../utils') +from utils import paddle_aux +import os +import paddle +import argparse +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +import numpy as np +from tqdm import * +from utils.testloss import TestLoss +from model_dict import get_model +parser = argparse.ArgumentParser('Training Transformer') +parser.add_argument('--lr', type=float, default=0.001) +parser.add_argument('--epochs', type=int, default=500) +parser.add_argument('--weight_decay', type=float, default=1e-05) +parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') +parser.add_argument('--n-hidden', type=int, default=128, help='hidden dim') +parser.add_argument('--n-layers', type=int, default=8, help='layers') +parser.add_argument('--n-heads', type=int, default=8) +parser.add_argument('--batch-size', type=int, default=4) +parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') +parser.add_argument('--max_grad_norm', type=float, default=0.1) +parser.add_argument('--downsamplex', type=int, default=1) +parser.add_argument('--downsampley', type=int, default=1) +parser.add_argument('--mlp_ratio', type=int, default=1) +parser.add_argument('--dropout', type=float, default=0.0) +parser.add_argument('--unified_pos', type=int, default=0) +parser.add_argument('--ref', type=int, default=8) +parser.add_argument('--slice_num', type=int, default=64) +parser.add_argument('--eval', type=int, default=1) +parser.add_argument('--save_name', type=str, default='airfoil_Transolver') +parser.add_argument('--data_path', type=str, default='data/fno/airfoil/naca') +args = parser.parse_args() +eval = args.eval +save_name = args.save_name +n_gpu = paddle.device.cuda.device_count() +use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 +device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') + + +def count_parameters(model): + total_params = 0 + for name, parameter in model.named_parameters(): + if not not parameter.stop_gradient: + continue + params = parameter.size + total_params += params + print(f'Total Trainable Params: {total_params}') + return total_params + + +def main(): + INPUT_X = args.data_path + '/NACA_Cylinder_X.npy' + INPUT_Y = args.data_path + '/NACA_Cylinder_Y.npy' + OUTPUT_Sigma = args.data_path + '/NACA_Cylinder_Q.npy' + ntrain = 1000 + ntest = 200 + r1 = args.downsamplex + r2 = args.downsampley + s1 = int((221 - 1) / r1 + 1) + s2 = int((51 - 1) / r2 + 1) + inputX = np.load(INPUT_X) + inputX = paddle.to_tensor(data=inputX, dtype='float32') + inputY = np.load(INPUT_Y) + inputY = paddle.to_tensor(data=inputY, dtype='float32') + input = paddle.stack(x=[inputX, inputY], axis=-1) + output = np.load(OUTPUT_Sigma)[:, 4] + output = paddle.to_tensor(data=output, dtype='float32') + print(tuple(input.shape), tuple(output.shape)) + x_train = input[:ntrain, ::r1, ::r2][:, :s1, :s2] + y_train = output[:ntrain, ::r1, ::r2][:, :s1, :s2] + x_test = input[ntrain:ntrain + ntest, ::r1, ::r2][:, :s1, :s2] + y_test = output[ntrain:ntrain + ntest, ::r1, ::r2][:, :s1, :s2] + x_train = x_train.reshape(ntrain, -1, 2) + x_test = x_test.reshape(ntest, -1, 2) + y_train = y_train.reshape(ntrain, -1) + y_test = y_test.reshape(ntest, -1) + train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + x_train, x_train, y_train]), batch_size=args.batch_size, shuffle=True) + test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + x_test, x_test, y_test]), batch_size=args.batch_size, shuffle=False) + print('Dataloading is over.') + model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, + n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, + Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=0, out_dim=1, + slice_num=args.slice_num, ref=args.ref, unified_pos=args. + unified_pos, H=s1, W=s2).to(device) + optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), + learning_rate=args.lr, weight_decay=args.weight_decay) + print(args) + print(model) + count_parameters(model) + tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * + args.epochs, max_learning_rate=args.lr) + optimizer.set_lr_scheduler(tmp_lr) + scheduler = tmp_lr + myloss = TestLoss(size_average=False) + if eval: + model.set_state_dict(state_dict=paddle.load(path=str( + './checkpoints/' + save_name + '.pt'))) + model.eval() + if not os.path.exists('./results/' + save_name + '/'): + os.makedirs('./results/' + save_name + '/') + rel_err = 0.0 + showcase = 10 + id = 0 + with paddle.no_grad(): + for pos, fx, y in test_loader: + id += 1 + x, fx, y = pos.to(device), fx.to(device), y.to(device) + out = model(x, None).squeeze(axis=-1) + tl = myloss(out, y).item() + rel_err += tl + if id < showcase: + print(id) + plt.axis('off') + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] + .detach().cpu().numpy(), x[0, :, 1].reshape(221, 51 + )[40:180, :35].detach().cpu().numpy(), np.zeros([ + 140, 35]), shading='auto', edgecolors='black', + linewidths=0.1) + plt.colorbar() + plt.savefig(os.path.join('./results/' + save_name + '/', + 'input_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] + .detach().cpu().numpy(), x[0, :, 1].reshape(221, 51 + )[40:180, :35].detach().cpu().numpy(), out[0, :]. + reshape(221, 51)[40:180, :35].detach().cpu().numpy( + ), shading='auto', cmap='coolwarm') + plt.colorbar() + plt.clim(0, 1.2) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'pred_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] + .detach().cpu().numpy(), x[0, :, 1].reshape(221, 51 + )[40:180, :35].detach().cpu().numpy(), y[0, :]. + reshape(221, 51)[40:180, :35].detach().cpu().numpy( + ), shading='auto', cmap='coolwarm') + plt.colorbar() + plt.clim(0, 1.2) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'gt_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] + .detach().cpu().numpy(), x[0, :, 1].reshape(221, 51 + )[40:180, :35].detach().cpu().numpy(), out[0, :]. + reshape(221, 51)[40:180, :35].detach().cpu().numpy( + ) - y[0, :].reshape(221, 51)[40:180, :35].detach(). + cpu().numpy(), shading='auto', cmap='coolwarm') + plt.colorbar() + plt.clim(-0.2, 0.2) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'error_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + rel_err /= ntest + print('rel_err:{}'.format(rel_err)) + else: + for ep in range(args.epochs): + model.train() + train_loss = 0 + for pos, fx, y in train_loader: + x, fx, y = pos.to(device), fx.to(device), y.to(device) + optimizer.clear_gradients(set_to_zero=False) + out = model(x, None).squeeze(axis=-1) + loss = myloss(out, y) + loss.backward() + if args.max_grad_norm is not None: + paddle.nn.utils.clip_grad_norm_(parameters=model. + parameters(), max_norm=args.max_grad_norm) + optimizer.step() + train_loss += loss.item() + scheduler.step() + train_loss = train_loss / ntrain + print('Epoch {} Train loss : {:.5f}'.format(ep, train_loss)) + model.eval() + rel_err = 0.0 + with paddle.no_grad(): + for pos, fx, y in test_loader: + x, fx, y = pos.to(device), fx.to(device), y.to(device) + out = model(x, None).squeeze(axis=-1) + tl = myloss(out, y).item() + rel_err += tl + rel_err /= ntest + print('rel_err:{}'.format(rel_err)) + if ep % 100 == 0: + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + + +if __name__ == '__main__': + main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_darcy.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_darcy.py new file mode 100644 index 0000000000..ff104324c5 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_darcy.py @@ -0,0 +1,249 @@ +import sys +import os +import paddle +import paddle.nn.functional as F +import argparse +import numpy as np +import scipy.io as scio +from tqdm import * +from utils.testloss import TestLoss +from einops import rearrange +from model_dict import get_model +from utils.normalizer import UnitTransformer +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +parser = argparse.ArgumentParser('Training Transolver') +parser.add_argument('--lr', type=float, default=0.001) +parser.add_argument('--epochs', type=int, default=500) +parser.add_argument('--weight_decay', type=float, default=1e-05) +parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') +parser.add_argument('--n-hidden', type=int, default=128, help='hidden dim') +parser.add_argument('--n-layers', type=int, default=8, help='layers') +parser.add_argument('--n-heads', type=int, default=8) +parser.add_argument('--batch-size', type=int, default=4) +parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') +parser.add_argument('--max_grad_norm', type=float, default=0.1) +parser.add_argument('--downsample', type=int, default=5) +parser.add_argument('--mlp_ratio', type=int, default=1) +parser.add_argument('--dropout', type=float, default=0.0) +parser.add_argument('--ntrain', type=int, default=1000) +parser.add_argument('--unified_pos', type=int, default=1) +parser.add_argument('--ref', type=int, default=8) +parser.add_argument('--slice_num', type=int, default=64) +parser.add_argument('--eval', type=int, default=1) +parser.add_argument('--save_name', type=str, default='darcy_UniPDE') +parser.add_argument('--data_path', type=str, default='data/fno') +args = parser.parse_args() +n_gpu = paddle.device.cuda.device_count() +use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 +device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') +train_path = args.data_path + '/piececonst_r421_N1024_smooth1.mat' +test_path = args.data_path + '/piececonst_r421_N1024_smooth2.mat' +ntrain = args.ntrain +ntest = 200 +epochs = 500 +eval = args.eval +save_name = args.save_name + +paddle.disable_signal_handler() + +def count_parameters(model): + total_params = 0 + for name, parameter in model.named_parameters(): + if not not parameter.stop_gradient: + continue + params = parameter.size + total_params += params + print(f'Total Trainable Params: {total_params}') + return total_params + + +def central_diff(x: paddle.Tensor, h, resolution): + x = rearrange(x, 'b (h w) c -> b h w c', h=resolution, w=resolution) + x = F.pad(x, pad=(1, 1, 1, 1), mode='constant', value=0) + grad_x = (x[:, 1:-1, 2:, :] - x[:, 1:-1, :-2, :]) / (2 * h) + grad_y = (x[:, 2:, 1:-1, :] - x[:, :-2, 1:-1, :]) / (2 * h) + return grad_x, grad_y + + +def main(): + r = args.downsample + h = int((421 - 1) / r + 1) + s = h + dx = 1.0 / s + train_data = scio.loadmat(train_path) + x_train = train_data['coeff'][:ntrain, ::r, ::r][:, :s, :s] + x_train = x_train.reshape(ntrain, -1) + x_train = paddle.to_tensor(data=x_train).astype(dtype='float32') + y_train = train_data['sol'][:ntrain, ::r, ::r][:, :s, :s] + y_train = y_train.reshape(ntrain, -1) + y_train = paddle.to_tensor(data=y_train) + test_data = scio.loadmat(test_path) + x_test = test_data['coeff'][:ntest, ::r, ::r][:, :s, :s] + x_test = x_test.reshape(ntest, -1) + x_test = paddle.to_tensor(data=x_test).astype(dtype='float32') + y_test = test_data['sol'][:ntest, ::r, ::r][:, :s, :s] + y_test = y_test.reshape(ntest, -1) + y_test = paddle.to_tensor(data=y_test) + x_normalizer = UnitTransformer(x_train) + y_normalizer = UnitTransformer(y_train) + x_train = x_normalizer.encode(x_train) + x_test = x_normalizer.encode(x_test) + y_train = y_normalizer.encode(y_train) + x_normalizer.to(device) + y_normalizer.to(device) + x = np.linspace(0, 1, s) + y = np.linspace(0, 1, s) + x, y = np.meshgrid(x, y) + pos = np.c_[x.flatten(), y.flatten()] + pos = paddle.to_tensor(data=pos, dtype='float32').unsqueeze(axis=0) + pos_train = pos.tile(repeat_times=[ntrain, 1, 1]) + pos_test = pos.tile(repeat_times=[ntest, 1, 1]) + print('Dataloading is over.') + train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + pos_train, x_train, y_train]), batch_size=args.batch_size, shuffle=True + ) + test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + pos_test, x_test, y_test]), batch_size=args.batch_size, shuffle=False) + model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, + n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, + Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=1, out_dim=1, + slice_num=args.slice_num, ref=args.ref, unified_pos=args. + unified_pos, H=s, W=s).to(device) + optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), + learning_rate=args.lr, weight_decay=args.weight_decay) + print(args) + print(model) + count_parameters(model) + tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * + epochs, max_learning_rate=args.lr) + optimizer.set_lr_scheduler(tmp_lr) + scheduler = tmp_lr + myloss = TestLoss(size_average=False) + de_x = TestLoss(size_average=False) + de_y = TestLoss(size_average=False) + if eval: + print('model evaluation') + print(s, s) + model.set_state_dict(state_dict=paddle.load(path=str( + './checkpoints/' + save_name + '.pt'))) + model.eval() + showcase = 10 + id = 0 + if not os.path.exists('./results/' + save_name + '/'): + os.makedirs('./results/' + save_name + '/') + with paddle.no_grad(): + rel_err = 0.0 + with paddle.no_grad(): + for x, fx, y in test_loader: + id += 1 + x, fx, y = x.to(device), fx.to(device), y.to(device) + out = model(x, fx=fx.unsqueeze(axis=-1)).squeeze(axis=-1) + out = y_normalizer.decode(out) + tl = myloss(out, y).item() + rel_err += tl + if id < showcase: + print(id) + plt.figure() + plt.axis('off') + plt.imshow(out[0, :].reshape(85, 85).detach().cpu() + .numpy(), cmap='coolwarm') + plt.colorbar() + plt.savefig(os.path.join('./results/' + save_name + + '/', 'case_' + str(id) + '_pred.pdf')) + plt.close() + plt.figure() + plt.axis('off') + plt.imshow(y[0, :].reshape(85, 85).detach().cpu(). + numpy(), cmap='coolwarm') + plt.colorbar() + plt.savefig(os.path.join('./results/' + save_name + + '/', 'case_' + str(id) + '_gt.pdf')) + plt.close() + plt.figure() + plt.axis('off') + plt.imshow((y[0, :] - out[0, :]).reshape(85, 85). + detach().cpu().numpy(), cmap='coolwarm') + plt.colorbar() + plt.clim(-0.0005, 0.0005) + plt.savefig(os.path.join('./results/' + save_name + + '/', 'case_' + str(id) + '_error.pdf')) + plt.close() + plt.figure() + plt.axis('off') + plt.imshow(fx[0, :].unsqueeze(axis=-1).reshape(85, + 85).detach().cpu().numpy(), cmap='coolwarm') + plt.colorbar() + plt.savefig(os.path.join('./results/' + save_name + + '/', 'case_' + str(id) + '_input.pdf')) + plt.close() + rel_err /= ntest + print('rel_err:{}'.format(rel_err)) + else: + for ep in range(args.epochs): + model.train() + train_loss = 0 + reg = 0 + for x, fx, y in train_loader: + x, fx, y = x.to(device), fx.to(device), y.to(device) + optimizer.clear_gradients(set_to_zero=False) + out = model(x, fx=fx.unsqueeze(axis=-1)).squeeze(axis=-1) + out = y_normalizer.decode(out) + y = y_normalizer.decode(y) + l2loss = myloss(out, y) + out = rearrange(out.unsqueeze(axis=-1), + 'b (h w) c -> b c h w', h=s) + out = out[..., 1:-1, 1:-1].contiguous() + out = F.pad(out, pad=(1, 1, 1, 1), mode='constant', value=0) + out = rearrange(out, 'b c h w -> b (h w) c') + gt_grad_x, gt_grad_y = central_diff(y.unsqueeze(axis=-1), dx, s + ) + pred_grad_x, pred_grad_y = central_diff(out, dx, s) + deriv_loss = de_x(pred_grad_x, gt_grad_x) + de_y(pred_grad_y, + gt_grad_y) + loss = 0.1 * deriv_loss + l2loss + loss.backward() + if args.max_grad_norm is not None: + paddle.nn.utils.clip_grad_norm_(parameters=model. + parameters(), max_norm=args.max_grad_norm) + optimizer.step() + train_loss += l2loss.item() + reg += deriv_loss.item() + scheduler.step() + train_loss /= ntrain + reg /= ntrain + print('Epoch {} Reg : {:.5f} Train loss : {:.5f}'.format(ep, + reg, train_loss)) + model.eval() + rel_err = 0.0 + id = 0 + with paddle.no_grad(): + for x, fx, y in test_loader: + id += 1 + if id == 2: + vis = True + else: + vis = False + x, fx, y = x.to(device), fx.to(device), y.to(device) + out = model(x, fx=fx.unsqueeze(axis=-1)).squeeze(axis=-1) + out = y_normalizer.decode(out) + tl = myloss(out, y).item() + rel_err += tl + rel_err /= ntest + print('rel_err:{}'.format(rel_err)) + if ep % 100 == 0: + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + + +if __name__ == '__main__': + main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_elas.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_elas.py new file mode 100644 index 0000000000..79d17bde90 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_elas.py @@ -0,0 +1,189 @@ +import os +import paddle +import argparse +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +import numpy as np +from tqdm import * +from utils.testloss import TestLoss +from model_dict import get_model +from utils.normalizer import UnitTransformer +parser = argparse.ArgumentParser('Training Transformer') +parser.add_argument('--lr', type=float, default=0.001) +parser.add_argument('--epochs', type=int, default=500) +parser.add_argument('--weight_decay', type=float, default=1e-05) +parser.add_argument('--model', type=str, default='Transolver_Irregular_Mesh') +parser.add_argument('--n-hidden', type=int, default=128, help='hidden dim') +parser.add_argument('--n-layers', type=int, default=8, help='layers') +parser.add_argument('--n-heads', type=int, default=8) +parser.add_argument('--batch-size', type=int, default=1) +parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') +parser.add_argument('--max_grad_norm', type=float, default=0.1) +parser.add_argument('--downsample', type=int, default=5) +parser.add_argument('--mlp_ratio', type=int, default=1) +parser.add_argument('--dropout', type=float, default=0.0) +parser.add_argument('--ntrain', type=int, default=1000) +parser.add_argument('--unified_pos', type=int, default=0) +parser.add_argument('--ref', type=int, default=8) +parser.add_argument('--slice_num', type=int, default=64) +parser.add_argument('--eval', type=int, default=1) +parser.add_argument('--save_name', type=str, default='elas_Transolver') +parser.add_argument('--data_path', type=str, default='data/fno') +args = parser.parse_args() +eval = args.eval +save_name = args.save_name + +n_gpu = paddle.device.cuda.device_count() +use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 +device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') + +def count_parameters(model): + total_params = 0 + for name, parameter in model.named_parameters(): + if not not parameter.stop_gradient: + continue + params = parameter.size + total_params += params + print(f'Total Trainable Params: {total_params}') + return total_params + + +def main(): + ntrain = args.ntrain + ntest = 200 + PATH_Sigma = (args.data_path + + '/elasticity/Meshes/Random_UnitCell_sigma_10.npy') + PATH_XY = args.data_path + '/elasticity/Meshes/Random_UnitCell_XY_10.npy' + input_s = np.load(PATH_Sigma) + input_s = paddle.to_tensor(data=input_s, dtype='float32').transpose(perm + =[1, 0]) + input_xy = np.load(PATH_XY) + input_xy = paddle.to_tensor(data=input_xy, dtype='float32').transpose(perm + =[2, 0, 1]) + train_s = input_s[:ntrain] + test_s = input_s[-ntest:] + train_xy = input_xy[:ntrain] + test_xy = input_xy[-ntest:] + print(tuple(input_s.shape), tuple(input_xy.shape)) + y_normalizer = UnitTransformer(train_s) + train_s = y_normalizer.encode(train_s) + y_normalizer.to(device) + train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + train_xy, train_xy, train_s]), batch_size=args.batch_size, shuffle=True + ) + test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + test_xy, test_xy, test_s]), batch_size=args.batch_size, shuffle=False) + print('Dataloading is over.') + model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, + n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, + Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=0, out_dim=1, + slice_num=args.slice_num, ref=args.ref, unified_pos=args.unified_pos + ).to(device) + optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), + learning_rate=args.lr, weight_decay=args.weight_decay) + print(args) + print(model) + count_parameters(model) + tmp_lr = paddle.optimizer.lr.CosineAnnealingDecay(T_max=args.epochs, + learning_rate=optimizer.get_lr()) + optimizer.set_lr_scheduler(tmp_lr) + scheduler = tmp_lr + myloss = TestLoss(size_average=False) + if eval: + model.set_state_dict(state_dict=paddle.load(path=str( + './checkpoints/' + save_name + '.pt'))) + model.eval() + if not os.path.exists('./results/' + save_name + '/'): + os.makedirs('./results/' + save_name + '/') + rel_err = 0.0 + showcase = 10 + id = 0 + with paddle.no_grad(): + for pos, fx, y in test_loader: + id += 1 + x, fx, y = pos.to(device), fx.to(device), y.to(device) + out = model(x, None).squeeze(axis=-1) + out = y_normalizer.decode(out) + tl = myloss(out, y).item() + rel_err += tl + if id < showcase: + print(id) + plt.axis('off') + plt.scatter(x=fx[0, :, 0].detach().cpu().numpy(), y=fx[ + 0, :, 1].detach().cpu().numpy(), c=y[0, :].detach() + .cpu().numpy(), cmap='coolwarm') + plt.colorbar() + plt.clim(0, 1000) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'gt_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.scatter(x=fx[0, :, 0].detach().cpu().numpy(), y=fx[ + 0, :, 1].detach().cpu().numpy(), c=out[0, :].detach + ().cpu().numpy(), cmap='coolwarm') + plt.colorbar() + plt.clim(0, 1000) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'pred_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.scatter(x=fx[0, :, 0].detach().cpu().numpy(), y=fx[ + 0, :, 1].detach().cpu().numpy(), c=(y[0, :] - out[0, + :]).detach().cpu().numpy(), cmap='coolwarm') + plt.clim(-8, 8) + plt.colorbar() + plt.savefig(os.path.join('./results/' + save_name + '/', + 'error_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + rel_err /= ntest + print('rel_err : {}'.format(rel_err)) + else: + for ep in range(args.epochs): + model.train() + train_loss = 0 + for pos, fx, y in train_loader: + x, fx, y = pos.to(device), fx.to(device), y.to(device) + optimizer.clear_gradients(set_to_zero=False) + out = model(x, None).squeeze(axis=-1) + out = y_normalizer.decode(out) + y = y_normalizer.decode(y) + loss = myloss(out, y) + loss.backward() + if args.max_grad_norm is not None: + paddle.nn.utils.clip_grad_norm_(parameters=model. + parameters(), max_norm=args.max_grad_norm) + optimizer.step() + train_loss += loss.item() + scheduler.step() + train_loss = train_loss / ntrain + print('Epoch {} Train loss : {:.5f}'.format(ep, train_loss)) + model.eval() + rel_err = 0.0 + with paddle.no_grad(): + for pos, fx, y in test_loader: + x, fx, y = pos.to(device), fx.to(device), y.to(device) + out = model(x, None).squeeze(axis=-1) + out = y_normalizer.decode(out) + tl = myloss(out, y).item() + rel_err += tl + rel_err /= ntest + print('rel_err : {}'.format(rel_err)) + if ep % 100 == 0: + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + + +if __name__ == '__main__': + main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_ns.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_ns.py new file mode 100644 index 0000000000..cacbecfd81 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_ns.py @@ -0,0 +1,231 @@ +import sys +# sys.path.append('../../utils') +from utils import paddle_aux +import os +import paddle +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +import argparse +import scipy.io as scio +import numpy as np +from tqdm import * +from utils.testloss import TestLoss +from model_dict import get_model +parser = argparse.ArgumentParser('Training Transformer') +parser.add_argument('--lr', type=float, default=0.001) +parser.add_argument('--epochs', type=int, default=500) +parser.add_argument('--weight_decay', type=float, default=1e-05) +parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') +parser.add_argument('--n-hidden', type=int, default=256, help='hidden dim') +parser.add_argument('--n-layers', type=int, default=8, help='layers') +parser.add_argument('--n-heads', type=int, default=8) +parser.add_argument('--batch-size', type=int, default=2) +parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') +parser.add_argument('--max_grad_norm', type=float, default=None) +parser.add_argument('--downsample', type=int, default=1) +parser.add_argument('--mlp_ratio', type=int, default=1) +parser.add_argument('--dropout', type=float, default=0.0) +parser.add_argument('--unified_pos', type=int, default=1) +parser.add_argument('--ref', type=int, default=8) +parser.add_argument('--slice_num', type=int, default=32) +parser.add_argument('--eval', type=int, default=1) +parser.add_argument('--save_name', type=str, default='ns_Transolver') +parser.add_argument('--data_path', type=str, default='data/fno') +args = parser.parse_args() +n_gpu = paddle.device.cuda.device_count() +use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 +device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') +data_path = (args.data_path + + '/NavierStokes_V1e-5_N1200_T20/NavierStokes_V1e-5_N1200_T20.mat') +ntrain = 1000 +ntest = 200 +T_in = 10 +T = 10 +step = 1 +eval = args.eval +save_name = args.save_name + + +def count_parameters(model): + total_params = 0 + for name, parameter in model.named_parameters(): + if not not parameter.stop_gradient: + continue + params = parameter.size + total_params += params + print(f'Total Trainable Params: {total_params}') + return total_params + + +def main(): + r = args.downsample + h = int((64 - 1) / r + 1) + data = scio.loadmat(data_path) + print(tuple(data['u'].shape)) + train_a = data['u'][:ntrain, ::r, ::r, :T_in][:, :h, :h, :] + train_a = train_a.reshape(tuple(train_a.shape)[0], -1, tuple(train_a. + shape)[-1]) + train_a = paddle.to_tensor(data=train_a) + train_u = data['u'][:ntrain, ::r, ::r, T_in:T + T_in][:, :h, :h, :] + train_u = train_u.reshape(tuple(train_u.shape)[0], -1, tuple(train_u. + shape)[-1]) + train_u = paddle.to_tensor(data=train_u) + test_a = data['u'][-ntest:, ::r, ::r, :T_in][:, :h, :h, :] + test_a = test_a.reshape(tuple(test_a.shape)[0], -1, tuple(test_a.shape)[-1] + ) + test_a = paddle.to_tensor(data=test_a) + test_u = data['u'][-ntest:, ::r, ::r, T_in:T + T_in][:, :h, :h, :] + test_u = test_u.reshape(tuple(test_u.shape)[0], -1, tuple(test_u.shape)[-1] + ) + test_u = paddle.to_tensor(data=test_u) + x = np.linspace(0, 1, h) + y = np.linspace(0, 1, h) + x, y = np.meshgrid(x, y) + pos = np.c_[x.flatten(), y.flatten()] + pos = paddle.to_tensor(data=pos, dtype='float32').unsqueeze(axis=0) + pos_train = pos.tile(repeat_times=[ntrain, 1, 1]) + pos_test = pos.tile(repeat_times=[ntest, 1, 1]) + train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + pos_train, train_a, train_u]), batch_size=args.batch_size, shuffle=True + ) + test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + pos_test, test_a, test_u]), batch_size=args.batch_size, shuffle=False) + print('Dataloading is over.') + model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, + n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, + Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=T_in, out_dim=1, + slice_num=args.slice_num, ref=args.ref, unified_pos=args. + unified_pos, H=h, W=h).to(device) + optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), + learning_rate=args.lr, weight_decay=args.weight_decay) + print(args) + print(model) + count_parameters(model) + tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * + args.epochs, max_learning_rate=args.lr) + optimizer.set_lr_scheduler(tmp_lr) + scheduler = tmp_lr + myloss = TestLoss(size_average=False) + if eval: + model.set_state_dict(state_dict=paddle.load(path=str( + './checkpoints/' + save_name + '.pt'))) + model.eval() + showcase = 10 + id = 0 + if not os.path.exists('./results/' + save_name + '/'): + os.makedirs('./results/' + save_name + '/') + test_l2_full = 0 + with paddle.no_grad(): + for x, fx, yy in test_loader: + id += 1 + x, fx, yy = x.to(device), fx.to(device), yy.to(device) + bsz = tuple(x.shape)[0] + for t in range(0, T, step): + im = model(x, fx=fx) + fx = paddle.concat(x=(fx[..., step:], im), axis=-1) + if t == 0: + pred = im + else: + pred = paddle.concat(x=(pred, im), axis=-1) + if id < showcase: + print(id) + plt.figure() + plt.axis('off') + plt.imshow(im[0, :, 0].reshape(64, 64).detach().cpu(). + numpy(), cmap='coolwarm') + plt.colorbar() + plt.clim(-3, 3) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'case_' + str(id) + '_pred_' + str(20) + '.pdf')) + plt.close() + plt.figure() + plt.axis('off') + plt.imshow(yy[0, :, t].reshape(64, 64).detach().cpu(). + numpy(), cmap='coolwarm') + plt.colorbar() + plt.clim(-3, 3) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'case_' + str(id) + '_gt_' + str(20) + '.pdf')) + plt.close() + plt.figure() + plt.axis('off') + plt.imshow((im[0, :, 0].reshape(64, 64) - yy[0, :, t]. + reshape(64, 64)).detach().cpu().numpy(), cmap= + 'coolwarm') + plt.colorbar() + plt.clim(-2, 2) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'case_' + str(id) + '_error_' + str(20) + '.pdf')) + plt.close() + test_l2_full += myloss(pred.reshape(bsz, -1), yy.reshape( + bsz, -1)).item() + print(test_l2_full / ntest) + else: + for ep in range(args.epochs): + model.train() + train_l2_step = 0 + train_l2_full = 0 + for x, fx, yy in train_loader: + loss = 0 + x, fx, yy = x.to(device), fx.to(device), yy.to(device) + bsz = tuple(x.shape)[0] + for t in range(0, T, step): + y = yy[..., t:t + step] + im = model(x, fx=fx) + loss += myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) + if t == 0: + pred = im + else: + pred = paddle.concat(x=(pred, im), axis=-1) + fx = paddle.concat(x=(fx[..., step:], y), axis=-1) + train_l2_step += loss.item() + train_l2_full += myloss(pred.reshape(bsz, -1), yy.reshape( + bsz, -1)).item() + optimizer.clear_gradients(set_to_zero=False) + loss.backward() + if args.max_grad_norm is not None: + paddle.nn.utils.clip_grad_norm_(parameters=model. + parameters(), max_norm=args.max_grad_norm) + optimizer.step() + scheduler.step() + test_l2_step = 0 + test_l2_full = 0 + model.eval() + with paddle.no_grad(): + for x, fx, yy in test_loader: + loss = 0 + x, fx, yy = x.to(device), fx.to(device), yy.to(device) + bsz = tuple(x.shape)[0] + for t in range(0, T, step): + y = yy[..., t:t + step] + im = model(x, fx=fx) + loss += myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) + if t == 0: + pred = im + else: + pred = paddle.concat(x=(pred, im), axis=-1) + fx = paddle.concat(x=(fx[..., step:], im), axis=-1) + test_l2_step += loss.item() + test_l2_full += myloss(pred.reshape(bsz, -1), yy. + reshape(bsz, -1)).item() + print( + 'Epoch {} , train_step_loss:{:.5f} , train_full_loss:{:.5f} , test_step_loss:{:.5f} , test_full_loss:{:.5f}' + .format(ep, train_l2_step / ntrain / (T / step), + train_l2_full / ntrain, test_l2_step / ntest / (T / step), + test_l2_full / ntest)) + if ep % 100 == 0: + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + + +if __name__ == '__main__': + main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py new file mode 100644 index 0000000000..2b63a87a66 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py @@ -0,0 +1,221 @@ +import sys +# sys.path.append('../../utils') +from utils import paddle_aux +import os +import paddle +import argparse +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +parser = argparse.ArgumentParser('Training Transformer') +parser.add_argument('--lr', type=float, default=0.001) +parser.add_argument('--epochs', type=int, default=500) +parser.add_argument('--weight_decay', type=float, default=1e-05) +parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') +parser.add_argument('--n-hidden', type=int, default=128, help='hidden dim') +parser.add_argument('--n-layers', type=int, default=8, help='layers') +parser.add_argument('--n-heads', type=int, default=8) +parser.add_argument('--batch-size', type=int, default=8) +parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') +parser.add_argument('--max_grad_norm', type=float, default=0.1) +parser.add_argument('--downsamplex', type=int, default=1) +parser.add_argument('--downsampley', type=int, default=1) +parser.add_argument('--mlp_ratio', type=int, default=2) +parser.add_argument('--dropout', type=float, default=0.0) +parser.add_argument('--unified_pos', type=int, default=0) +parser.add_argument('--ref', type=int, default=8) +parser.add_argument('--slice_num', type=int, default=64) +parser.add_argument('--eval', type=int, default=1) +parser.add_argument('--save_name', type=str, default='pipe_Transolver') +parser.add_argument('--data_path', type=str, default='data/fno/pipe') +args = parser.parse_args() +eval = args.eval +save_name = args.save_name +import numpy as np +from tqdm import * +from utils.testloss import TestLoss +from model_dict import get_model +from utils.normalizer import UnitTransformer +n_gpu = paddle.device.cuda.device_count() +use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 +device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') + + +def count_parameters(model): + total_params = 0 + for name, parameter in model.named_parameters(): + if not not parameter.stop_gradient: + continue + params = parameter.size + total_params += params + print(f'Total Trainable Params: {total_params}') + return total_params + + +def main(): + INPUT_X = args.data_path + '/Pipe_X.npy' + INPUT_Y = args.data_path + '/Pipe_Y.npy' + OUTPUT_Sigma = args.data_path + '/Pipe_Q.npy' + ntrain = 1000 + ntest = 200 + N = 1200 + r1 = args.downsamplex + r2 = args.downsampley + s1 = int((129 - 1) / r1 + 1) + s2 = int((129 - 1) / r2 + 1) + inputX = np.load(INPUT_X) + inputX = paddle.to_tensor(data=inputX, dtype='float32') + inputY = np.load(INPUT_Y) + inputY = paddle.to_tensor(data=inputY, dtype='float32') + input = paddle.stack(x=[inputX, inputY], axis=-1) + output = np.load(OUTPUT_Sigma)[:, 0] + output = paddle.to_tensor(data=output, dtype='float32') + print(tuple(input.shape), tuple(output.shape)) + x_train = input[:N][:ntrain, ::r1, ::r2][:, :s1, :s2] + y_train = output[:N][:ntrain, ::r1, ::r2][:, :s1, :s2] + x_test = input[:N][-ntest:, ::r1, ::r2][:, :s1, :s2] + y_test = output[:N][-ntest:, ::r1, ::r2][:, :s1, :s2] + x_train = x_train.reshape(ntrain, -1, 2) + x_test = x_test.reshape(ntest, -1, 2) + y_train = y_train.reshape(ntrain, -1) + y_test = y_test.reshape(ntest, -1) + x_normalizer = UnitTransformer(x_train) + y_normalizer = UnitTransformer(y_train) + x_train = x_normalizer.encode(x_train) + x_test = x_normalizer.encode(x_test) + y_train = y_normalizer.encode(y_train) + x_normalizer.to(device) + y_normalizer.to(device) + train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + x_train, x_train, y_train]), batch_size=args.batch_size, shuffle=True) + test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + x_test, x_test, y_test]), batch_size=args.batch_size, shuffle=False) + print('Dataloading is over.') + model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, + n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, + Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=0, out_dim=1, + slice_num=args.slice_num, ref=args.ref, unified_pos=args. + unified_pos, H=s1, W=s2).to(device) + optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), + learning_rate=args.lr, weight_decay=args.weight_decay) + print(args) + print(model) + count_parameters(model) + tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * + args.epochs, max_learning_rate=args.lr) + optimizer.set_lr_scheduler(tmp_lr) + scheduler = tmp_lr + myloss = TestLoss(size_average=False) + if eval: + model.set_state_dict(state_dict=paddle.load(path=str( + './checkpoints/' + save_name + '.pt'))) + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '_resave' + '.pt')) + model.eval() + if not os.path.exists('./results/' + save_name + '/'): + os.makedirs('./results/' + save_name + '/') + rel_err = 0.0 + showcase = 10 + id = 0 + with paddle.no_grad(): + for pos, fx, y in test_loader: + id += 1 + x, fx, y = pos.to(device), fx.to(device), y.to(device) + out = model(x, None).squeeze(axis=-1) + out = y_normalizer.decode(out) + tl = myloss(out, y).item() + rel_err += tl + if id < showcase: + print(id) + plt.axis('off') + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). + cpu().numpy(), x[0, :, 1].reshape(129, 129).detach( + ).cpu().numpy(), np.zeros([129, 129]), shading= + 'auto', edgecolors='black', linewidths=0.1) + plt.colorbar() + plt.savefig(os.path.join('./results/' + save_name + '/', + 'input_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). + cpu().numpy(), x[0, :, 1].reshape(129, 129).detach( + ).cpu().numpy(), out[0, :].reshape(129, 129).detach + ().cpu().numpy(), shading='auto', cmap='coolwarm') + plt.colorbar() + plt.clim(0, 0.3) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'pred_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). + cpu().numpy(), x[0, :, 1].reshape(129, 129).detach( + ).cpu().numpy(), y[0, :].reshape(129, 129).detach() + .cpu().numpy(), shading='auto', cmap='coolwarm') + plt.colorbar() + plt.clim(0, 0.3) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'gt_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). + cpu().numpy(), x[0, :, 1].reshape(129, 129).detach( + ).cpu().numpy(), out[0, :].reshape(129, 129).detach + ().cpu().numpy() - y[0, :].reshape(129, 129).detach + ().cpu().numpy(), shading='auto', cmap='coolwarm') + plt.colorbar() + plt.clim(-0.02, 0.02) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'error_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + rel_err /= ntest + print('rel_err:{}'.format(rel_err)) + else: + for ep in range(args.epochs): + model.train() + train_loss = 0 + for pos, fx, y in train_loader: + x, fx, y = pos.to(device), fx.to(device), y.to(device) + optimizer.clear_gradients(set_to_zero=False) + out = model(x, None).squeeze(axis=-1) + out = y_normalizer.decode(out) + y = y_normalizer.decode(y) + loss = myloss(out, y) + loss.backward() + if args.max_grad_norm is not None: + paddle.nn.utils.clip_grad_norm_(parameters=model. + parameters(), max_norm=args.max_grad_norm) + optimizer.step() + train_loss += loss.item() + scheduler.step() + train_loss = train_loss / ntrain + print('Epoch {} Train loss : {:.5f}'.format(ep, train_loss)) + model.eval() + rel_err = 0.0 + with paddle.no_grad(): + for pos, fx, y in test_loader: + x, fx, y = pos.to(device), fx.to(device), y.to(device) + out = model(x, None).squeeze(axis=-1) + out = y_normalizer.decode(out) + tl = myloss(out, y).item() + rel_err += tl + rel_err /= ntest + print('rel_err:{}'.format(rel_err)) + if ep % 100 == 0: + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + + +if __name__ == '__main__': + main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_plas.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_plas.py new file mode 100644 index 0000000000..9400eb8b2c --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_plas.py @@ -0,0 +1,291 @@ +import sys + +# sys.path.append('../../utils') +from utils import paddle_aux +import os +import paddle +import argparse +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt + +parser = argparse.ArgumentParser('Training Transformer') +parser.add_argument('--lr', type=float, default=0.001) +parser.add_argument('--epochs', type=int, default=500) +parser.add_argument('--weight_decay', type=float, default=1e-05) +parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') +parser.add_argument('--n-hidden', type=int, default=64, help='hidden dim') +parser.add_argument('--n-layers', type=int, default=3, help='layers') +parser.add_argument('--n-heads', type=int, default=4) +parser.add_argument('--batch-size', type=int, default=8) +parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') +parser.add_argument('--max_grad_norm', type=float, default=None) +parser.add_argument('--downsamplex', type=int, default=1) +parser.add_argument('--downsampley', type=int, default=1) +parser.add_argument('--mlp_ratio', type=int, default=1) +parser.add_argument('--dropout', type=float, default=0.0) +parser.add_argument('--unified_pos', type=int, default=0) +parser.add_argument('--ref', type=int, default=8) +parser.add_argument('--slice_num', type=int, default=32) +parser.add_argument('--eval', type=int, default=1) +parser.add_argument('--save_name', type=str, default='plas_Transolver') +parser.add_argument('--data_path', type=str, default= +'data/fno/plas_N987_T20.mat') +args = parser.parse_args() +eval = args.eval +save_name = args.save_name +import numpy as np +import scipy.io as scio +from tqdm import * +from utils.testloss import TestLoss +from model_dict import get_model +from utils.normalizer import UnitTransformer + +n_gpu = paddle.device.cuda.device_count() +use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 +device = f'gpu:{args.gpu}' if use_cuda else 'cpu' + + +def count_parameters(model): + total_params = 0 + for name, parameter in model.named_parameters(): + if not not parameter.stop_gradient: + continue + params = parameter.size + total_params += params + print(f'Total Trainable Params: {total_params}') + return total_params + + +def random_collate_fn(batch): + shuffled_batch = [] + shuffled_u = None + shuffled_t = None + shuffled_a = None + shuffled_pos = None + for item in batch: + pos = item[0] + t = item[1] + a = item[2] + u = item[3] + num_timesteps = t.shape[0] + permuted_indices = paddle.randperm(n=num_timesteps) + t = t[permuted_indices] + u = u[..., permuted_indices] + if shuffled_t is None: + shuffled_pos = pos.unsqueeze(axis=0) + shuffled_t = t.unsqueeze(axis=0) + shuffled_u = u.unsqueeze(axis=0) + shuffled_a = a.unsqueeze(axis=0) + else: + shuffled_pos = paddle.concat(x=(shuffled_pos, pos.unsqueeze( + axis=0)), axis=0) + shuffled_t = paddle.concat(x=(shuffled_t, t.unsqueeze(axis=0)), + axis=0) + shuffled_u = paddle.concat(x=(shuffled_u, u.unsqueeze(axis=0)), + axis=0) + shuffled_a = paddle.concat(x=(shuffled_a, a.unsqueeze(axis=0)), + axis=0) + shuffled_batch.append(shuffled_pos) + shuffled_batch.append(shuffled_t) + shuffled_batch.append(shuffled_a) + shuffled_batch.append(shuffled_u) + return shuffled_batch + + +def main(): + DATA_PATH = args.data_path + N = 987 + ntrain = 900 + ntest = 80 + s1 = 101 + s2 = 31 + T = 20 + Deformation = 4 + r1 = 1 + r2 = 1 + s1 = int((s1 - 1) / r1 + 1) + s2 = int((s2 - 1) / r2 + 1) + data = scio.loadmat(DATA_PATH) + input = paddle.to_tensor(data=data['input'], dtype='float32') + output = paddle.to_tensor(data=data['output'], dtype='float32').transpose( + perm=paddle_aux.transpose_aux_func(paddle.to_tensor(data=data[ + 'output'], dtype='float32').ndim, -2, -1)) + print(tuple(input.shape), tuple(output.shape)) + x_train = input[:ntrain, ::r1][:, :s1].reshape(ntrain, s1, 1).tile( + repeat_times=[1, 1, s2]) + x_train = x_train.reshape(ntrain, -1, 1) + y_train = output[:ntrain, ::r1, ::r2][:, :s1, :s2] + y_train = y_train.reshape(ntrain, -1, Deformation, T) + x_test = input[-ntest:, ::r1][:, :s1].reshape(ntest, s1, 1).tile( + repeat_times=[1, 1, s2]) + x_test = x_test.reshape(ntest, -1, 1) + y_test = output[-ntest:, ::r1, ::r2][:, :s1, :s2] + y_test = y_test.reshape(ntest, -1, Deformation, T) + print(tuple(x_train.shape), tuple(y_train.shape)) + x_normalizer = UnitTransformer(x_train) + x_train = x_normalizer.encode(x_train) + x_test = x_normalizer.encode(x_test) + x_normalizer.to(device) + x = np.linspace(0, 1, s1) + y = np.linspace(0, 1, s2) + x, y = np.meshgrid(x, y) + pos = np.c_[x.flatten(), y.flatten()] + pos = paddle.to_tensor(data=pos, dtype='float32').unsqueeze(axis=0) + pos_train = pos.tile(repeat_times=[ntrain, 1, 1]) + pos_test = pos.tile(repeat_times=[ntest, 1, 1]) + print('Dataloading is over.') + t = np.linspace(0, 1, T) + t = paddle.to_tensor(data=t, dtype='float32').unsqueeze(axis=0) + t_train = t.tile(repeat_times=[ntrain, 1]) + t_test = t.tile(repeat_times=[ntest, 1]) + train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + pos_train, t_train, x_train, y_train]), batch_size=args.batch_size, + shuffle=True, collate_fn=random_collate_fn) + test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ + pos_test, t_test, x_test, y_test]), batch_size=args.batch_size, + shuffle=False) + print('Dataloading is over.') + model = get_model(args).Model(space_dim=2, n_hidden=args.n_hidden, + n_layers=args.n_layers, Time_Input=True, n_head=args.n_heads, + fun_dim=1, out_dim=Deformation, mlp_ratio=args.mlp_ratio, slice_num + =args.slice_num, unified_pos=args.unified_pos, H=s1, W=s2).to(device) + optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), + learning_rate=args.lr, weight_decay=args.weight_decay) + print(args) + print(model) + count_parameters(model) + tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * + args.epochs, max_learning_rate=args.lr) + optimizer.set_lr_scheduler(tmp_lr) + scheduler = tmp_lr + myloss = TestLoss(size_average=False) + if eval: + model.set_state_dict(state_dict=paddle.load(path=str( + './checkpoints/' + save_name + '.pt'))) + model.eval() + if not os.path.exists('./results/' + save_name + '/'): + os.makedirs('./results/' + save_name + '/') + test_l2_step = 0 + test_l2_full = 0 + showcase = 10 + id = 0 + with paddle.no_grad(): + for x, tim, fx, yy in test_loader: + id += 1 + loss = 0 + x, fx, tim, yy = x.to(device), fx.to(device), tim.to(device + ), yy.to(device) + bsz = tuple(x.shape)[0] + for t in range(T): + y = yy[..., t:t + 1] + input_T = tim[:, t:t + 1].reshape(bsz, 1) + im = model(x, fx, T=input_T) + loss += myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) + if t == 0: + pred = im.unsqueeze(axis=-1) + else: + pred = paddle.concat(x=(pred, im.unsqueeze(axis=-1) + ), axis=-1) + if id < showcase: + print(id) + truth = y[0].reshape(101, 31, 4).squeeze().detach().cpu( + ).numpy() + pred_vis = im[0].reshape(101, 31, 4).squeeze().detach( + ).cpu().numpy() + truth_du = np.linalg.norm(truth[:, :, 2:], axis=-1) + pred_du = np.linalg.norm(pred_vis[:, :, 2:], axis=-1) + plt.axis('off') + plt.scatter(truth[:, :, 0], truth[:, :, 1], 10, + truth_du[:, :], cmap='coolwarm') + plt.colorbar() + plt.clim(0, 6) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'gt_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.scatter(pred_vis[:, :, 0], pred_vis[:, :, 1], 10, + pred_du[:, :], cmap='coolwarm') + plt.colorbar() + plt.clim(0, 6) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'pred_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + plt.axis('off') + plt.scatter(truth[:, :, 0], truth[:, :, 1], 10, pred_du + [:, :] - truth_du[:, :], cmap='coolwarm') + plt.colorbar() + plt.clim(-0.2, 0.2) + plt.savefig(os.path.join('./results/' + save_name + '/', + 'error_' + str(id) + '.pdf'), bbox_inches='tight', + pad_inches=0) + plt.close() + test_l2_step += loss.item() + test_l2_full += myloss(pred.reshape(bsz, -1), yy.reshape( + bsz, -1)).item() + print('test_step_loss:{:.5f} , test_full_loss:{:.5f}'.format( + test_l2_step / ntest / T, test_l2_full / ntest)) + else: + for ep in range(args.epochs): + model.train() + train_l2_step = 0 + for x, tim, fx, yy in train_loader: + x, fx, tim, yy = x.to(device), fx.to(device), tim.to(device + ), yy.to(device) + bsz = tuple(x.shape)[0] + for t in range(T): + y = yy[..., t:t + 1] + input_T = tim[:, t:t + 1].reshape(bsz, 1) + im = model(x, fx, T=input_T) + loss = myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) + train_l2_step += loss.item() + optimizer.clear_gradients(set_to_zero=False) + loss.backward() + if args.max_grad_norm is not None: + paddle.nn.utils.clip_grad_norm_(parameters=model. + parameters(), max_norm=args.max_grad_norm) + optimizer.step() + scheduler.step() + model.eval() + test_l2_step = 0 + test_l2_full = 0 + with paddle.no_grad(): + for x, tim, fx, yy in test_loader: + loss = 0 + x, fx, tim, yy = x.to(device), fx.to(device), tim.to(device + ), yy.to(device) + bsz = tuple(x.shape)[0] + for t in range(T): + y = yy[..., t:t + 1] + input_T = tim[:, t:t + 1].reshape(bsz, 1) + im = model(x, fx, T=input_T) + loss += myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) + if t == 0: + pred = im.unsqueeze(axis=-1) + else: + pred = paddle.concat(x=(pred, im.unsqueeze(axis + =-1)), axis=-1) + test_l2_step += loss.item() + test_l2_full += myloss(pred.reshape(bsz, -1), yy. + reshape(bsz, -1)).item() + print( + 'Epoch {} , train_step_loss:{:.5f} , test_step_loss:{:.5f} , test_full_loss:{:.5f}' + .format(ep, train_l2_step / ntrain / T, test_l2_step / + ntest / T, test_l2_full / ntest)) + if ep % 100 == 0: + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + if not os.path.exists('./checkpoints'): + os.makedirs('./checkpoints') + print('save model') + paddle.save(obj=model.state_dict(), path=os.path.join( + './checkpoints', save_name + '.pt')) + + +if __name__ == '__main__': + main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_E.log new file mode 100644 index 0000000000..781009088c --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_E.log @@ -0,0 +1,310 @@ +W1029 22:06:51.160876 876668 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1029 22:06:51.161404 876668 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +(2490, 221, 51, 2) (2490, 221, 51) +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=4, gpu=0, max_grad_norm=0.1, downsamplex=1, downsampley=1, mlp_ratio=1, dropout=0.0, unified_pos=0, ref=8, slice_num=64, eval=1, save_name='airfoil_Transolver', data_path='data/fno/airfoil/naca') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=2, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp2): Linear(in_features=128, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 2810817 +1 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +2 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +3 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +4 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +5 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +6 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +7 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +8 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +9 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] +rel_err:0.005978186544962227 diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_T.log new file mode 100644 index 0000000000..52b346343d --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_T.log @@ -0,0 +1,1235 @@ +nohup: ignoring input +W1028 15:02:03.884150 51835 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1028 15:02:03.884753 51835 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +(2490, 221, 51, 2) (2490, 221, 51) +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=4, gpu=3, max_grad_norm=0.1, downsamplex=1, downsampley=1, mlp_ratio=1, dropout=0.0, unified_pos=0, ref=8, slice_num=64, eval=0, save_name='airfoil_Transolver', data_path='data/fno/airfoil/naca') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=2, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp2): Linear(in_features=128, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 2810817 +Epoch 0 Train loss : 0.14523 +rel_err:0.11785733968019485 +save model +Epoch 1 Train loss : 0.11357 +rel_err:0.11252781853079796 +Epoch 2 Train loss : 0.10821 +rel_err:0.10848646566271782 +Epoch 3 Train loss : 0.10677 +rel_err:0.1066597981750965 +Epoch 4 Train loss : 0.10587 +rel_err:0.10648426398634911 +Epoch 5 Train loss : 0.10528 +rel_err:0.10491959303617478 +Epoch 6 Train loss : 0.10404 +rel_err:0.10648314863443374 +Epoch 7 Train loss : 0.10429 +rel_err:0.11264177218079567 +Epoch 8 Train loss : 0.10319 +rel_err:0.1046188285946846 +Epoch 9 Train loss : 0.10042 +rel_err:0.09876017257571221 +Epoch 10 Train loss : 0.09934 +rel_err:0.09745430007576943 +Epoch 11 Train loss : 0.09568 +rel_err:0.09495317161083222 +Epoch 12 Train loss : 0.09554 +rel_err:0.09791502222418785 +Epoch 13 Train loss : 0.09397 +rel_err:0.093686915487051 +Epoch 14 Train loss : 0.09329 +rel_err:0.09815885841846467 +Epoch 15 Train loss : 0.09166 +rel_err:0.09676504373550415 +Epoch 16 Train loss : 0.09232 +rel_err:0.0868787844479084 +Epoch 17 Train loss : 0.09331 +rel_err:0.08806699812412262 +Epoch 18 Train loss : 0.09121 +rel_err:0.09117646425962449 +Epoch 19 Train loss : 0.09397 +rel_err:0.0925276418030262 +Epoch 20 Train loss : 0.08963 +rel_err:0.08355952225625515 +Epoch 21 Train loss : 0.08850 +rel_err:0.08684755325317382 +Epoch 22 Train loss : 0.08895 +rel_err:0.08102031618356705 +Epoch 23 Train loss : 0.08389 +rel_err:0.07977232277393341 +Epoch 24 Train loss : 0.08501 +rel_err:0.07699730560183525 +Epoch 25 Train loss : 0.08593 +rel_err:0.08699634194374084 +Epoch 26 Train loss : 0.08279 +rel_err:0.07926241263747215 +Epoch 27 Train loss : 0.08042 +rel_err:0.07285507135093212 +Epoch 28 Train loss : 0.07855 +rel_err:0.08125139012932778 +Epoch 29 Train loss : 0.07658 +rel_err:0.10225468754768371 +Epoch 30 Train loss : 0.07505 +rel_err:0.0675540640950203 +Epoch 31 Train loss : 0.07465 +rel_err:0.07572250336408615 +Epoch 32 Train loss : 0.07443 +rel_err:0.07619010381400586 +Epoch 33 Train loss : 0.07463 +rel_err:0.07679609730839729 +Epoch 34 Train loss : 0.07176 +rel_err:0.08959461107850075 +Epoch 35 Train loss : 0.07341 +rel_err:0.10464169397950172 +Epoch 36 Train loss : 0.07303 +rel_err:0.1091353453695774 +Epoch 37 Train loss : 0.07175 +rel_err:0.060328901037573816 +Epoch 38 Train loss : 0.06239 +rel_err:0.057184441685676574 +Epoch 39 Train loss : 0.06140 +rel_err:0.08513994589447975 +Epoch 40 Train loss : 0.06615 +rel_err:0.06729761250317097 +Epoch 41 Train loss : 0.06588 +rel_err:0.06558167554438114 +Epoch 42 Train loss : 0.06199 +rel_err:0.07656028777360917 +Epoch 43 Train loss : 0.06390 +rel_err:0.06448493547737598 +Epoch 44 Train loss : 0.06520 +rel_err:0.06103455938398838 +Epoch 45 Train loss : 0.06208 +rel_err:0.06177425444126129 +Epoch 46 Train loss : 0.06066 +rel_err:0.05604085117578506 +Epoch 47 Train loss : 0.06190 +rel_err:0.061941518783569335 +Epoch 48 Train loss : 0.06157 +rel_err:0.06619864590466022 +Epoch 49 Train loss : 0.06490 +rel_err:0.056982005536556246 +Epoch 50 Train loss : 0.06539 +rel_err:0.052911465838551525 +Epoch 51 Train loss : 0.05922 +rel_err:0.05602555148303509 +Epoch 52 Train loss : 0.06062 +rel_err:0.09646648094058037 +Epoch 53 Train loss : 0.06603 +rel_err:0.05640562653541565 +Epoch 54 Train loss : 0.05769 +rel_err:0.0729619675129652 +Epoch 55 Train loss : 0.05581 +rel_err:0.04637875534594059 +Epoch 56 Train loss : 0.06116 +rel_err:0.04619808614253998 +Epoch 57 Train loss : 0.05652 +rel_err:0.06823112323880196 +Epoch 58 Train loss : 0.05713 +rel_err:0.053484217748045924 +Epoch 59 Train loss : 0.05752 +rel_err:0.05431403793394565 +Epoch 60 Train loss : 0.05970 +rel_err:0.053357060328125955 +Epoch 61 Train loss : 0.05796 +rel_err:0.05797499291598797 +Epoch 62 Train loss : 0.05913 +rel_err:0.05123690724372864 +Epoch 63 Train loss : 0.05891 +rel_err:0.04666778028011322 +Epoch 64 Train loss : 0.05588 +rel_err:0.05753681391477585 +Epoch 65 Train loss : 0.05233 +rel_err:0.05755040474236012 +Epoch 66 Train loss : 0.05256 +rel_err:0.040946380719542506 +Epoch 67 Train loss : 0.05365 +rel_err:0.04834989473223686 +Epoch 68 Train loss : 0.05708 +rel_err:0.053947582468390466 +Epoch 69 Train loss : 0.05772 +rel_err:0.04606605306267739 +Epoch 70 Train loss : 0.05403 +rel_err:0.043699586391448976 +Epoch 71 Train loss : 0.05259 +rel_err:0.04960521526634693 +Epoch 72 Train loss : 0.05050 +rel_err:0.046114731729030606 +Epoch 73 Train loss : 0.04795 +rel_err:0.05030209414660931 +Epoch 74 Train loss : 0.05025 +rel_err:0.057285284623503685 +Epoch 75 Train loss : 0.05006 +rel_err:0.05115116134285927 +Epoch 76 Train loss : 0.04678 +rel_err:0.048344780057668686 +Epoch 77 Train loss : 0.04567 +rel_err:0.055678809955716134 +Epoch 78 Train loss : 0.04669 +rel_err:0.05831613354384899 +Epoch 79 Train loss : 0.04879 +rel_err:0.06631423629820347 +Epoch 80 Train loss : 0.04621 +rel_err:0.0404022104665637 +Epoch 81 Train loss : 0.04457 +rel_err:0.04175796501338482 +Epoch 82 Train loss : 0.04669 +rel_err:0.049711804166436196 +Epoch 83 Train loss : 0.04398 +rel_err:0.042552329264581204 +Epoch 84 Train loss : 0.04488 +rel_err:0.058814760372042654 +Epoch 85 Train loss : 0.04279 +rel_err:0.046156742796301845 +Epoch 86 Train loss : 0.04087 +rel_err:0.038049018643796444 +Epoch 87 Train loss : 0.04082 +rel_err:0.03686503101140261 +Epoch 88 Train loss : 0.04476 +rel_err:0.03597290221601725 +Epoch 89 Train loss : 0.03840 +rel_err:0.04170403741300106 +Epoch 90 Train loss : 0.03804 +rel_err:0.03662926606833935 +Epoch 91 Train loss : 0.04048 +rel_err:0.04164269365370274 +Epoch 92 Train loss : 0.04396 +rel_err:0.039704625084996226 +Epoch 93 Train loss : 0.04045 +rel_err:0.031223051808774473 +Epoch 94 Train loss : 0.03889 +rel_err:0.04007428679615259 +Epoch 95 Train loss : 0.03806 +rel_err:0.037636208944022656 +Epoch 96 Train loss : 0.03684 +rel_err:0.03017246101051569 +Epoch 97 Train loss : 0.03869 +rel_err:0.041114367842674256 +Epoch 98 Train loss : 0.04062 +rel_err:0.04281697455793619 +Epoch 99 Train loss : 0.04084 +rel_err:0.054446415305137635 +Epoch 100 Train loss : 0.03799 +rel_err:0.03713726446032524 +save model +Epoch 101 Train loss : 0.03669 +rel_err:0.027380025275051595 +Epoch 102 Train loss : 0.03644 +rel_err:0.03233360156416893 +Epoch 103 Train loss : 0.03384 +rel_err:0.0334985363855958 +Epoch 104 Train loss : 0.03455 +rel_err:0.049135174825787546 +Epoch 105 Train loss : 0.03881 +rel_err:0.04215115677565336 +Epoch 106 Train loss : 0.03662 +rel_err:0.03240828067064285 +Epoch 107 Train loss : 0.03696 +rel_err:0.04683084450662136 +Epoch 108 Train loss : 0.03687 +rel_err:0.03486043959856033 +Epoch 109 Train loss : 0.03871 +rel_err:0.034099410846829416 +Epoch 110 Train loss : 0.03579 +rel_err:0.037592824324965475 +Epoch 111 Train loss : 0.03529 +rel_err:0.028865457847714424 +Epoch 112 Train loss : 0.03981 +rel_err:0.04305421866476536 +Epoch 113 Train loss : 0.03793 +rel_err:0.03736187055706978 +Epoch 114 Train loss : 0.03641 +rel_err:0.04084813930094242 +Epoch 115 Train loss : 0.03756 +rel_err:0.033727257773280145 +Epoch 116 Train loss : 0.03915 +rel_err:0.0436081525683403 +Epoch 117 Train loss : 0.03659 +rel_err:0.0333372576162219 +Epoch 118 Train loss : 0.03635 +rel_err:0.03037163056433201 +Epoch 119 Train loss : 0.03351 +rel_err:0.03139364361763 +Epoch 120 Train loss : 0.03272 +rel_err:0.04094542365521193 +Epoch 121 Train loss : 0.03687 +rel_err:0.04094582162797451 +Epoch 122 Train loss : 0.03548 +rel_err:0.0294569182023406 +Epoch 123 Train loss : 0.03124 +rel_err:0.03244741123169661 +Epoch 124 Train loss : 0.03192 +rel_err:0.0250594712048769 +Epoch 125 Train loss : 0.03175 +rel_err:0.02922493774443865 +Epoch 126 Train loss : 0.02849 +rel_err:0.02884758301079273 +Epoch 127 Train loss : 0.03196 +rel_err:0.03311715740710497 +Epoch 128 Train loss : 0.03306 +rel_err:0.04773655921220779 +Epoch 129 Train loss : 0.03550 +rel_err:0.03064180467277765 +Epoch 130 Train loss : 0.03114 +rel_err:0.0394512739405036 +Epoch 131 Train loss : 0.03379 +rel_err:0.03578732784837484 +Epoch 132 Train loss : 0.03349 +rel_err:0.04141188535839319 +Epoch 133 Train loss : 0.03077 +rel_err:0.03526155393570662 +Epoch 134 Train loss : 0.03451 +rel_err:0.034915210977196694 +Epoch 135 Train loss : 0.03336 +rel_err:0.03469283036887646 +Epoch 136 Train loss : 0.03196 +rel_err:0.03213920932263136 +Epoch 137 Train loss : 0.03119 +rel_err:0.03274451021105051 +Epoch 138 Train loss : 0.03177 +rel_err:0.04149192243814468 +Epoch 139 Train loss : 0.03328 +rel_err:0.03950939428061247 +Epoch 140 Train loss : 0.03010 +rel_err:0.023898180834949018 +Epoch 141 Train loss : 0.03384 +rel_err:0.03828835058957338 +Epoch 142 Train loss : 0.03152 +rel_err:0.03183114159852266 +Epoch 143 Train loss : 0.03164 +rel_err:0.02701021160930395 +Epoch 144 Train loss : 0.03136 +rel_err:0.03690276321023703 +Epoch 145 Train loss : 0.03009 +rel_err:0.03169179826974869 +Epoch 146 Train loss : 0.02894 +rel_err:0.027936552800238133 +Epoch 147 Train loss : 0.02930 +rel_err:0.025513547547161577 +Epoch 148 Train loss : 0.02779 +rel_err:0.02746562410145998 +Epoch 149 Train loss : 0.02899 +rel_err:0.033120222017169 +Epoch 150 Train loss : 0.02694 +rel_err:0.024090446680784226 +Epoch 151 Train loss : 0.03198 +rel_err:0.039102406203746796 +Epoch 152 Train loss : 0.03069 +rel_err:0.029871116168797018 +Epoch 153 Train loss : 0.03095 +rel_err:0.028399636559188365 +Epoch 154 Train loss : 0.02597 +rel_err:0.021407430954277516 +Epoch 155 Train loss : 0.03074 +rel_err:0.03655245587229729 +Epoch 156 Train loss : 0.02962 +rel_err:0.021703110672533513 +Epoch 157 Train loss : 0.02684 +rel_err:0.0236118483543396 +Epoch 158 Train loss : 0.02860 +rel_err:0.022180953677743673 +Epoch 159 Train loss : 0.02602 +rel_err:0.02535618741065264 +Epoch 160 Train loss : 0.02481 +rel_err:0.02209777807816863 +Epoch 161 Train loss : 0.02563 +rel_err:0.019353973604738714 +Epoch 162 Train loss : 0.02711 +rel_err:0.03283498790115118 +Epoch 163 Train loss : 0.02863 +rel_err:0.02323191875591874 +Epoch 164 Train loss : 0.02764 +rel_err:0.02608406625688076 +Epoch 165 Train loss : 0.02485 +rel_err:0.025872604548931123 +Epoch 166 Train loss : 0.02846 +rel_err:0.03345104333013296 +Epoch 167 Train loss : 0.02858 +rel_err:0.024768635146319867 +Epoch 168 Train loss : 0.02675 +rel_err:0.02513936161994934 +Epoch 169 Train loss : 0.02435 +rel_err:0.021837730389088393 +Epoch 170 Train loss : 0.02583 +rel_err:0.02035054353997111 +Epoch 171 Train loss : 0.02672 +rel_err:0.02615568373352289 +Epoch 172 Train loss : 0.02542 +rel_err:0.031158587113022804 +Epoch 173 Train loss : 0.02588 +rel_err:0.022898110914975404 +Epoch 174 Train loss : 0.02387 +rel_err:0.03138395600020885 +Epoch 175 Train loss : 0.02502 +rel_err:0.03842408895492554 +Epoch 176 Train loss : 0.02506 +rel_err:0.029162815064191817 +Epoch 177 Train loss : 0.02548 +rel_err:0.028404700346291067 +Epoch 178 Train loss : 0.02370 +rel_err:0.027438699156045913 +Epoch 179 Train loss : 0.02742 +rel_err:0.03543480884283781 +Epoch 180 Train loss : 0.02646 +rel_err:0.027962341979146002 +Epoch 181 Train loss : 0.02222 +rel_err:0.021375177949666976 +Epoch 182 Train loss : 0.02226 +rel_err:0.022262860722839832 +Epoch 183 Train loss : 0.02520 +rel_err:0.01977342853322625 +Epoch 184 Train loss : 0.02227 +rel_err:0.02422435402870178 +Epoch 185 Train loss : 0.02355 +rel_err:0.018040822688490152 +Epoch 186 Train loss : 0.02324 +rel_err:0.027252781316637994 +Epoch 187 Train loss : 0.02424 +rel_err:0.030217116326093675 +Epoch 188 Train loss : 0.02680 +rel_err:0.030404411032795908 +Epoch 189 Train loss : 0.02679 +rel_err:0.020251638032495977 +Epoch 190 Train loss : 0.02175 +rel_err:0.019031534995883705 +Epoch 191 Train loss : 0.02322 +rel_err:0.026248299553990363 +Epoch 192 Train loss : 0.02333 +rel_err:0.023527013957500457 +Epoch 193 Train loss : 0.02427 +rel_err:0.01944233266636729 +Epoch 194 Train loss : 0.02395 +rel_err:0.027516561709344387 +Epoch 195 Train loss : 0.02611 +rel_err:0.025450853649526834 +Epoch 196 Train loss : 0.02610 +rel_err:0.0252588102966547 +Epoch 197 Train loss : 0.02302 +rel_err:0.027197032459080218 +Epoch 198 Train loss : 0.01950 +rel_err:0.016696639303117992 +Epoch 199 Train loss : 0.02001 +rel_err:0.028724121525883675 +Epoch 200 Train loss : 0.02356 +rel_err:0.02053303822875023 +save model +Epoch 201 Train loss : 0.02178 +rel_err:0.018924489114433528 +Epoch 202 Train loss : 0.02032 +rel_err:0.021560513339936735 +Epoch 203 Train loss : 0.02192 +rel_err:0.021257725805044175 +Epoch 204 Train loss : 0.01946 +rel_err:0.020182206500321626 +Epoch 205 Train loss : 0.02098 +rel_err:0.016600167881697415 +Epoch 206 Train loss : 0.02054 +rel_err:0.01863880781456828 +Epoch 207 Train loss : 0.02154 +rel_err:0.02018249886110425 +Epoch 208 Train loss : 0.02282 +rel_err:0.02726397231221199 +Epoch 209 Train loss : 0.02265 +rel_err:0.021800871547311543 +Epoch 210 Train loss : 0.02201 +rel_err:0.02318523745983839 +Epoch 211 Train loss : 0.02074 +rel_err:0.02599921204149723 +Epoch 212 Train loss : 0.01894 +rel_err:0.014660676214843989 +Epoch 213 Train loss : 0.02186 +rel_err:0.01757200438529253 +Epoch 214 Train loss : 0.02228 +rel_err:0.019891685005277396 +Epoch 215 Train loss : 0.02066 +rel_err:0.014801429156213998 +Epoch 216 Train loss : 0.02245 +rel_err:0.02169144421815872 +Epoch 217 Train loss : 0.02087 +rel_err:0.018314131796360017 +Epoch 218 Train loss : 0.02158 +rel_err:0.01771188598126173 +Epoch 219 Train loss : 0.02335 +rel_err:0.01962279062718153 +Epoch 220 Train loss : 0.01901 +rel_err:0.02030123259872198 +Epoch 221 Train loss : 0.01975 +rel_err:0.019665418937802315 +Epoch 222 Train loss : 0.02222 +rel_err:0.02182883281260729 +Epoch 223 Train loss : 0.01777 +rel_err:0.019420494381338357 +Epoch 224 Train loss : 0.02045 +rel_err:0.022932832278311253 +Epoch 225 Train loss : 0.01911 +rel_err:0.019791830983012914 +Epoch 226 Train loss : 0.01939 +rel_err:0.022004335913807155 +Epoch 227 Train loss : 0.01607 +rel_err:0.015088997762650252 +Epoch 228 Train loss : 0.01955 +rel_err:0.02115275975316763 +Epoch 229 Train loss : 0.01994 +rel_err:0.02359381441026926 +Epoch 230 Train loss : 0.02100 +rel_err:0.02187929581850767 +Epoch 231 Train loss : 0.01984 +rel_err:0.029711665585637093 +Epoch 232 Train loss : 0.02013 +rel_err:0.02163966529071331 +Epoch 233 Train loss : 0.01881 +rel_err:0.0242274490557611 +Epoch 234 Train loss : 0.01767 +rel_err:0.016510354690253734 +Epoch 235 Train loss : 0.01445 +rel_err:0.01629553297534585 +Epoch 236 Train loss : 0.01880 +rel_err:0.019065617974847557 +Epoch 237 Train loss : 0.01943 +rel_err:0.01998952019959688 +Epoch 238 Train loss : 0.01728 +rel_err:0.018126903921365737 +Epoch 239 Train loss : 0.02168 +rel_err:0.018028916362673043 +Epoch 240 Train loss : 0.01941 +rel_err:0.015143230650573969 +Epoch 241 Train loss : 0.01569 +rel_err:0.02043427823111415 +Epoch 242 Train loss : 0.01899 +rel_err:0.017290155179798605 +Epoch 243 Train loss : 0.01896 +rel_err:0.018698945622891188 +Epoch 244 Train loss : 0.02072 +rel_err:0.023537562489509584 +Epoch 245 Train loss : 0.01849 +rel_err:0.02638848278671503 +Epoch 246 Train loss : 0.01708 +rel_err:0.0183816253580153 +Epoch 247 Train loss : 0.02028 +rel_err:0.015229552369564772 +Epoch 248 Train loss : 0.01916 +rel_err:0.025257938914000987 +Epoch 249 Train loss : 0.01814 +rel_err:0.016991418339312076 +Epoch 250 Train loss : 0.01337 +rel_err:0.023414023853838443 +Epoch 251 Train loss : 0.01782 +rel_err:0.01359219690784812 +Epoch 252 Train loss : 0.01700 +rel_err:0.016989579405635596 +Epoch 253 Train loss : 0.01804 +rel_err:0.024009614028036596 +Epoch 254 Train loss : 0.01825 +rel_err:0.019503155574202537 +Epoch 255 Train loss : 0.01528 +rel_err:0.018376738503575324 +Epoch 256 Train loss : 0.01479 +rel_err:0.015884564239531756 +Epoch 257 Train loss : 0.01855 +rel_err:0.01510781206190586 +Epoch 258 Train loss : 0.01817 +rel_err:0.014999214075505734 +Epoch 259 Train loss : 0.01606 +rel_err:0.015132107939571142 +Epoch 260 Train loss : 0.01652 +rel_err:0.014289191737771035 +Epoch 261 Train loss : 0.01801 +rel_err:0.015387425143271684 +Epoch 262 Train loss : 0.01606 +rel_err:0.018048782031983138 +Epoch 263 Train loss : 0.01709 +rel_err:0.017271456327289342 +Epoch 264 Train loss : 0.01714 +rel_err:0.012797961188480258 +Epoch 265 Train loss : 0.01550 +rel_err:0.018072120286524294 +Epoch 266 Train loss : 0.01664 +rel_err:0.020242086444050074 +Epoch 267 Train loss : 0.01508 +rel_err:0.01824666678905487 +Epoch 268 Train loss : 0.01576 +rel_err:0.013190642707049846 +Epoch 269 Train loss : 0.01720 +rel_err:0.015459195766597987 +Epoch 270 Train loss : 0.01453 +rel_err:0.015287168268114328 +Epoch 271 Train loss : 0.01647 +rel_err:0.011354679614305497 +Epoch 272 Train loss : 0.01612 +rel_err:0.014125607945024966 +Epoch 273 Train loss : 0.01599 +rel_err:0.011766318399459123 +Epoch 274 Train loss : 0.01453 +rel_err:0.02175653398036957 +Epoch 275 Train loss : 0.01662 +rel_err:0.01615321693941951 +Epoch 276 Train loss : 0.01675 +rel_err:0.01973619433119893 +Epoch 277 Train loss : 0.01502 +rel_err:0.0117818383872509 +Epoch 278 Train loss : 0.01604 +rel_err:0.013820418361574412 +Epoch 279 Train loss : 0.01572 +rel_err:0.021562539469450713 +Epoch 280 Train loss : 0.01702 +rel_err:0.013005399573594333 +Epoch 281 Train loss : 0.01605 +rel_err:0.015868185441941022 +Epoch 282 Train loss : 0.01621 +rel_err:0.01192967001348734 +Epoch 283 Train loss : 0.01330 +rel_err:0.01722338603809476 +Epoch 284 Train loss : 0.01580 +rel_err:0.013130546174943447 +Epoch 285 Train loss : 0.01337 +rel_err:0.014139267448335886 +Epoch 286 Train loss : 0.01471 +rel_err:0.017944134324789047 +Epoch 287 Train loss : 0.01489 +rel_err:0.01680774746462703 +Epoch 288 Train loss : 0.01382 +rel_err:0.01260648213326931 +Epoch 289 Train loss : 0.01274 +rel_err:0.015290051866322756 +Epoch 290 Train loss : 0.01275 +rel_err:0.018740038499236108 +Epoch 291 Train loss : 0.01655 +rel_err:0.015745010673999787 +Epoch 292 Train loss : 0.01293 +rel_err:0.01731371719390154 +Epoch 293 Train loss : 0.01574 +rel_err:0.012598117422312498 +Epoch 294 Train loss : 0.01547 +rel_err:0.01437202725559473 +Epoch 295 Train loss : 0.01589 +rel_err:0.011844997741281987 +Epoch 296 Train loss : 0.01316 +rel_err:0.01556849991902709 +Epoch 297 Train loss : 0.01353 +rel_err:0.01111829223111272 +Epoch 298 Train loss : 0.01422 +rel_err:0.014958542380481958 +Epoch 299 Train loss : 0.01291 +rel_err:0.010663883881643415 +Epoch 300 Train loss : 0.01339 +rel_err:0.012036907561123371 +save model +Epoch 301 Train loss : 0.01297 +rel_err:0.01599690007045865 +Epoch 302 Train loss : 0.01228 +rel_err:0.010655651222914458 +Epoch 303 Train loss : 0.01204 +rel_err:0.009687859006226063 +Epoch 304 Train loss : 0.01316 +rel_err:0.019168463777750732 +Epoch 305 Train loss : 0.01274 +rel_err:0.012396472506225109 +Epoch 306 Train loss : 0.01324 +rel_err:0.018719770945608616 +Epoch 307 Train loss : 0.01217 +rel_err:0.01459754416719079 +Epoch 308 Train loss : 0.01371 +rel_err:0.014401064608246089 +Epoch 309 Train loss : 0.01319 +rel_err:0.013983505293726921 +Epoch 310 Train loss : 0.01223 +rel_err:0.014588892348110677 +Epoch 311 Train loss : 0.01406 +rel_err:0.010450583724305034 +Epoch 312 Train loss : 0.01035 +rel_err:0.013484211657196283 +Epoch 313 Train loss : 0.01297 +rel_err:0.012597935665398836 +Epoch 314 Train loss : 0.01073 +rel_err:0.013127990756183863 +Epoch 315 Train loss : 0.01436 +rel_err:0.014889359008520842 +Epoch 316 Train loss : 0.01227 +rel_err:0.012399544408544898 +Epoch 317 Train loss : 0.01247 +rel_err:0.011946474742144346 +Epoch 318 Train loss : 0.01103 +rel_err:0.014012184608727694 +Epoch 319 Train loss : 0.01151 +rel_err:0.013612432386726141 +Epoch 320 Train loss : 0.01214 +rel_err:0.01082947594113648 +Epoch 321 Train loss : 0.01151 +rel_err:0.012154970532283187 +Epoch 322 Train loss : 0.01264 +rel_err:0.013264298066496849 +Epoch 323 Train loss : 0.01023 +rel_err:0.00912624473683536 +Epoch 324 Train loss : 0.01217 +rel_err:0.014705204758793116 +Epoch 325 Train loss : 0.01234 +rel_err:0.01465585634112358 +Epoch 326 Train loss : 0.01303 +rel_err:0.012486472800374031 +Epoch 327 Train loss : 0.01144 +rel_err:0.01345283716917038 +Epoch 328 Train loss : 0.01020 +rel_err:0.013707407340407372 +Epoch 329 Train loss : 0.01196 +rel_err:0.012227305183187128 +Epoch 330 Train loss : 0.01259 +rel_err:0.010382385030388831 +Epoch 331 Train loss : 0.01218 +rel_err:0.012344762273132802 +Epoch 332 Train loss : 0.01246 +rel_err:0.010926086809486152 +Epoch 333 Train loss : 0.01064 +rel_err:0.009532161466777324 +Epoch 334 Train loss : 0.01065 +rel_err:0.013281373661011458 +Epoch 335 Train loss : 0.01160 +rel_err:0.01640222540125251 +Epoch 336 Train loss : 0.01145 +rel_err:0.012679929900914431 +Epoch 337 Train loss : 0.01104 +rel_err:0.011864523915573955 +Epoch 338 Train loss : 0.01105 +rel_err:0.014798881318420172 +Epoch 339 Train loss : 0.01055 +rel_err:0.012590613262727857 +Epoch 340 Train loss : 0.01155 +rel_err:0.010562917646020652 +Epoch 341 Train loss : 0.01211 +rel_err:0.012111154794692993 +Epoch 342 Train loss : 0.01198 +rel_err:0.009971195971593261 +Epoch 343 Train loss : 0.00885 +rel_err:0.010992286782711745 +Epoch 344 Train loss : 0.01080 +rel_err:0.015280258953571319 +Epoch 345 Train loss : 0.01012 +rel_err:0.012833149582147598 +Epoch 346 Train loss : 0.01004 +rel_err:0.013667950313538313 +Epoch 347 Train loss : 0.00968 +rel_err:0.009058155547827483 +Epoch 348 Train loss : 0.01041 +rel_err:0.010246657459065318 +Epoch 349 Train loss : 0.01052 +rel_err:0.009282448068261147 +Epoch 350 Train loss : 0.00919 +rel_err:0.012406914876773954 +Epoch 351 Train loss : 0.01136 +rel_err:0.011763931903988122 +Epoch 352 Train loss : 0.00950 +rel_err:0.010108867473900319 +Epoch 353 Train loss : 0.00853 +rel_err:0.009305094191804529 +Epoch 354 Train loss : 0.00876 +rel_err:0.008946655942127109 +Epoch 355 Train loss : 0.01165 +rel_err:0.011676096487790347 +Epoch 356 Train loss : 0.01008 +rel_err:0.015994221679866315 +Epoch 357 Train loss : 0.01024 +rel_err:0.009953432260081172 +Epoch 358 Train loss : 0.01037 +rel_err:0.01178542708978057 +Epoch 359 Train loss : 0.00988 +rel_err:0.010822886032983661 +Epoch 360 Train loss : 0.01036 +rel_err:0.012266790112480521 +Epoch 361 Train loss : 0.00841 +rel_err:0.008994275750592352 +Epoch 362 Train loss : 0.00993 +rel_err:0.012180518554523588 +Epoch 363 Train loss : 0.00891 +rel_err:0.008573672724887729 +Epoch 364 Train loss : 0.00875 +rel_err:0.014258126644417644 +Epoch 365 Train loss : 0.00933 +rel_err:0.009809742784127592 +Epoch 366 Train loss : 0.00788 +rel_err:0.007389178117737174 +Epoch 367 Train loss : 0.00894 +rel_err:0.008068569162860513 +Epoch 368 Train loss : 0.00909 +rel_err:0.008773145927116276 +Epoch 369 Train loss : 0.00930 +rel_err:0.009342128839343787 +Epoch 370 Train loss : 0.00856 +rel_err:0.007357347048819065 +Epoch 371 Train loss : 0.00767 +rel_err:0.009846560871228576 +Epoch 372 Train loss : 0.00776 +rel_err:0.008272040439769625 +Epoch 373 Train loss : 0.00722 +rel_err:0.008235230771824718 +Epoch 374 Train loss : 0.00822 +rel_err:0.00903728230856359 +Epoch 375 Train loss : 0.00817 +rel_err:0.010084097292274236 +Epoch 376 Train loss : 0.00905 +rel_err:0.010317463371902704 +Epoch 377 Train loss : 0.00995 +rel_err:0.010251004947349429 +Epoch 378 Train loss : 0.00883 +rel_err:0.010585526358336211 +Epoch 379 Train loss : 0.00894 +rel_err:0.013322328589856625 +Epoch 380 Train loss : 0.00879 +rel_err:0.010140270907431841 +Epoch 381 Train loss : 0.00737 +rel_err:0.00779752298258245 +Epoch 382 Train loss : 0.00774 +rel_err:0.008271290846168995 +Epoch 383 Train loss : 0.00889 +rel_err:0.009567807409912348 +Epoch 384 Train loss : 0.00876 +rel_err:0.009350052196532488 +Epoch 385 Train loss : 0.00794 +rel_err:0.00828689363785088 +Epoch 386 Train loss : 0.00790 +rel_err:0.00938505825586617 +Epoch 387 Train loss : 0.00834 +rel_err:0.009447511844336986 +Epoch 388 Train loss : 0.00653 +rel_err:0.007605856033042074 +Epoch 389 Train loss : 0.00711 +rel_err:0.01075695431791246 +Epoch 390 Train loss : 0.00884 +rel_err:0.008475058879703283 +Epoch 391 Train loss : 0.00805 +rel_err:0.008158171009272337 +Epoch 392 Train loss : 0.00791 +rel_err:0.008598975772038102 +Epoch 393 Train loss : 0.00738 +rel_err:0.00721883456222713 +Epoch 394 Train loss : 0.00718 +rel_err:0.011028424762189388 +Epoch 395 Train loss : 0.00864 +rel_err:0.010181714380159974 +Epoch 396 Train loss : 0.00729 +rel_err:0.008742598928511142 +Epoch 397 Train loss : 0.00772 +rel_err:0.0069395396020263435 +Epoch 398 Train loss : 0.00723 +rel_err:0.00777426352724433 +Epoch 399 Train loss : 0.00700 +rel_err:0.008052469976246358 +Epoch 400 Train loss : 0.00692 +rel_err:0.007945284275338053 +save model +Epoch 401 Train loss : 0.00709 +rel_err:0.007884999560192228 +Epoch 402 Train loss : 0.00735 +rel_err:0.00785357303917408 +Epoch 403 Train loss : 0.00709 +rel_err:0.011053724819794298 +Epoch 404 Train loss : 0.00747 +rel_err:0.008052241569384933 +Epoch 405 Train loss : 0.00699 +rel_err:0.009586189044639468 +Epoch 406 Train loss : 0.00698 +rel_err:0.008567790370434522 +Epoch 407 Train loss : 0.00689 +rel_err:0.007899520015344023 +Epoch 408 Train loss : 0.00659 +rel_err:0.008029903499409557 +Epoch 409 Train loss : 0.00661 +rel_err:0.00710776062682271 +Epoch 410 Train loss : 0.00693 +rel_err:0.007029604688286781 +Epoch 411 Train loss : 0.00636 +rel_err:0.007704149419441819 +Epoch 412 Train loss : 0.00628 +rel_err:0.006770340073853731 +Epoch 413 Train loss : 0.00638 +rel_err:0.007856791261583567 +Epoch 414 Train loss : 0.00681 +rel_err:0.011607611961662769 +Epoch 415 Train loss : 0.00689 +rel_err:0.006771560022607446 +Epoch 416 Train loss : 0.00649 +rel_err:0.007613093685358762 +Epoch 417 Train loss : 0.00592 +rel_err:0.006848622234538197 +Epoch 418 Train loss : 0.00627 +rel_err:0.0076353442575782535 +Epoch 419 Train loss : 0.00624 +rel_err:0.007262547356076538 +Epoch 420 Train loss : 0.00613 +rel_err:0.007393322754651308 +Epoch 421 Train loss : 0.00632 +rel_err:0.007101713065057993 +Epoch 422 Train loss : 0.00637 +rel_err:0.010296841626986861 +Epoch 423 Train loss : 0.00619 +rel_err:0.00956846953369677 +Epoch 424 Train loss : 0.00626 +rel_err:0.008377652885392307 +Epoch 425 Train loss : 0.00596 +rel_err:0.0067759388033300635 +Epoch 426 Train loss : 0.00574 +rel_err:0.009019136000424623 +Epoch 427 Train loss : 0.00558 +rel_err:0.007222613366320729 +Epoch 428 Train loss : 0.00576 +rel_err:0.006808680822141469 +Epoch 429 Train loss : 0.00587 +rel_err:0.006966459061950445 +Epoch 430 Train loss : 0.00591 +rel_err:0.007252018358558416 +Epoch 431 Train loss : 0.00586 +rel_err:0.007980745239183306 +Epoch 432 Train loss : 0.00577 +rel_err:0.007852482181042432 +Epoch 433 Train loss : 0.00546 +rel_err:0.006810514144599438 +Epoch 434 Train loss : 0.00598 +rel_err:0.00700806331820786 +Epoch 435 Train loss : 0.00578 +rel_err:0.007109158132225275 +Epoch 436 Train loss : 0.00526 +rel_err:0.006790396990254521 +Epoch 437 Train loss : 0.00599 +rel_err:0.0064067852823063735 +Epoch 438 Train loss : 0.00567 +rel_err:0.006865559881553054 +Epoch 439 Train loss : 0.00558 +rel_err:0.007029182086698711 +Epoch 440 Train loss : 0.00545 +rel_err:0.007904627667739987 +Epoch 441 Train loss : 0.00577 +rel_err:0.00697546276729554 +Epoch 442 Train loss : 0.00560 +rel_err:0.006672458983957768 +Epoch 443 Train loss : 0.00537 +rel_err:0.0068404429778456685 +Epoch 444 Train loss : 0.00527 +rel_err:0.0065666881203651425 +Epoch 445 Train loss : 0.00497 +rel_err:0.006202767514623702 +Epoch 446 Train loss : 0.00519 +rel_err:0.006426616008393466 +Epoch 447 Train loss : 0.00505 +rel_err:0.0063549278490245345 +Epoch 448 Train loss : 0.00540 +rel_err:0.006265358589589595 +Epoch 449 Train loss : 0.00498 +rel_err:0.006809639204293489 +Epoch 450 Train loss : 0.00526 +rel_err:0.007323792623355985 +Epoch 451 Train loss : 0.00536 +rel_err:0.006350711146369576 +Epoch 452 Train loss : 0.00488 +rel_err:0.006725958497263491 +Epoch 453 Train loss : 0.00529 +rel_err:0.006385013116523623 +Epoch 454 Train loss : 0.00480 +rel_err:0.006463134069927037 +Epoch 455 Train loss : 0.00515 +rel_err:0.006370618902146816 +Epoch 456 Train loss : 0.00500 +rel_err:0.0066153340507298704 +Epoch 457 Train loss : 0.00489 +rel_err:0.00623665053397417 +Epoch 458 Train loss : 0.00477 +rel_err:0.006880685035139322 +Epoch 459 Train loss : 0.00479 +rel_err:0.006774098575115204 +Epoch 460 Train loss : 0.00518 +rel_err:0.006310262619517743 +Epoch 461 Train loss : 0.00483 +rel_err:0.007225700644776225 +Epoch 462 Train loss : 0.00490 +rel_err:0.006325971782207489 +Epoch 463 Train loss : 0.00486 +rel_err:0.0067830056836828585 +Epoch 464 Train loss : 0.00477 +rel_err:0.006708575822412968 +Epoch 465 Train loss : 0.00486 +rel_err:0.00657099112868309 +Epoch 466 Train loss : 0.00459 +rel_err:0.006809292174875736 +Epoch 467 Train loss : 0.00483 +rel_err:0.006505082324147224 +Epoch 468 Train loss : 0.00470 +rel_err:0.006909859739243985 +Epoch 469 Train loss : 0.00463 +rel_err:0.006508436575531959 +Epoch 470 Train loss : 0.00480 +rel_err:0.006870631603524089 +Epoch 471 Train loss : 0.00464 +rel_err:0.0068293229909613725 +Epoch 472 Train loss : 0.00468 +rel_err:0.006161607438698411 +Epoch 473 Train loss : 0.00469 +rel_err:0.006120712552219629 +Epoch 474 Train loss : 0.00464 +rel_err:0.006242757854051888 +Epoch 475 Train loss : 0.00462 +rel_err:0.0070667054876685145 +Epoch 476 Train loss : 0.00464 +rel_err:0.0062638548202812675 +Epoch 477 Train loss : 0.00446 +rel_err:0.0060402280837297435 +Epoch 478 Train loss : 0.00451 +rel_err:0.006431210963055492 +Epoch 479 Train loss : 0.00482 +rel_err:0.0062758921273052696 +Epoch 480 Train loss : 0.00442 +rel_err:0.006744699366390705 +Epoch 481 Train loss : 0.00455 +rel_err:0.006549576194956898 +Epoch 482 Train loss : 0.00431 +rel_err:0.00627907298039645 +Epoch 483 Train loss : 0.00456 +rel_err:0.006248181387782097 +Epoch 484 Train loss : 0.00471 +rel_err:0.006071806829422713 +Epoch 485 Train loss : 0.00455 +rel_err:0.007077434239909053 +Epoch 486 Train loss : 0.00453 +rel_err:0.0061233222670853136 +Epoch 487 Train loss : 0.00434 +rel_err:0.006775556281208992 +Epoch 488 Train loss : 0.00464 +rel_err:0.006838151360861957 +Epoch 489 Train loss : 0.00448 +rel_err:0.006434607114642859 +Epoch 490 Train loss : 0.00447 +rel_err:0.006140036024153233 +Epoch 491 Train loss : 0.00440 +rel_err:0.006098693781532347 +Epoch 492 Train loss : 0.00444 +rel_err:0.006438782326877117 +Epoch 493 Train loss : 0.00456 +rel_err:0.006114564598537982 +Epoch 494 Train loss : 0.00432 +rel_err:0.006118903746828437 +Epoch 495 Train loss : 0.00437 +rel_err:0.00628210415598005 +Epoch 496 Train loss : 0.00430 +rel_err:0.006618500864133239 +Epoch 497 Train loss : 0.00449 +rel_err:0.0062104371236637234 +Epoch 498 Train loss : 0.00433 +rel_err:0.006441751411184669 +Epoch 499 Train loss : 0.00440 +rel_err:0.005978186861611902 +save model diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_E.log new file mode 100644 index 0000000000..16710b0b4c --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_E.log @@ -0,0 +1,240 @@ +W1030 13:25:43.721320 1222579 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1030 13:25:43.721853 1222579 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=4, gpu=0, max_grad_norm=0.1, downsample=5, mlp_ratio=1, dropout=0.0, ntrain=1000, unified_pos=1, ref=8, slice_num=64, eval=1, save_name='darcy_UniPDE', data_path='data/fno') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=65, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp2): Linear(in_features=128, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 2826945 +model evaluation +85 85 +W1030 13:26:02.418881 1222579 multiply_fwd_func.cc:64] got different data type, run type protmotion automatically, this may cause data type been changed. +1 +2 +3 +4 +5 +6 +7 +8 +9 +rel_err:0.00567440442168881 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_T.log new file mode 100644 index 0000000000..c00da18610 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_T.log @@ -0,0 +1,1234 @@ +W1029 22:19:36.564289 880429 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1029 22:19:36.564832 880429 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=4, gpu=0, max_grad_norm=0.1, downsample=5, mlp_ratio=1, dropout=0.0, ntrain=1000, unified_pos=1, ref=8, slice_num=64, eval=0, save_name='darcy_UniPDE', data_path='data/fno') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=65, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp2): Linear(in_features=128, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 2826945 +W1029 22:19:58.109582 880429 multiply_fwd_func.cc:64] got different data type, run type protmotion automatically, this may cause data type been changed. +Epoch 0 Reg : 1.43652 Train loss : 0.26459 +rel_err:0.23368224725962228 +save model +Epoch 1 Reg : 1.12124 Train loss : 0.21533 +rel_err:0.21260997986849714 +Epoch 2 Reg : 0.96457 Train loss : 0.17851 +rel_err:0.15204534753766424 +Epoch 3 Reg : 0.78813 Train loss : 0.13761 +rel_err:0.13461141191441406 +Epoch 4 Reg : 0.74916 Train loss : 0.12966 +rel_err:0.1280447244623275 +Epoch 5 Reg : 0.70560 Train loss : 0.11957 +rel_err:0.11630031197336693 +Epoch 6 Reg : 0.68491 Train loss : 0.11570 +rel_err:0.11106229566452047 +Epoch 7 Reg : 0.63972 Train loss : 0.10635 +rel_err:0.09699192479830698 +Epoch 8 Reg : 0.62093 Train loss : 0.10010 +rel_err:0.09095664625908985 +Epoch 9 Reg : 0.59657 Train loss : 0.09560 +rel_err:0.10150349195357256 +Epoch 10 Reg : 0.57866 Train loss : 0.09235 +rel_err:0.09015321042528868 +Epoch 11 Reg : 0.56592 Train loss : 0.08932 +rel_err:0.09966622573096526 +Epoch 12 Reg : 0.56061 Train loss : 0.08632 +rel_err:0.07579543569072211 +Epoch 13 Reg : 0.54919 Train loss : 0.08416 +rel_err:0.08393851539059581 +Epoch 14 Reg : 0.54302 Train loss : 0.08216 +rel_err:0.07563489932187493 +Epoch 15 Reg : 0.52991 Train loss : 0.08039 +rel_err:0.0768191805676456 +Epoch 16 Reg : 0.52093 Train loss : 0.07717 +rel_err:0.0814822475686859 +Epoch 17 Reg : 0.50896 Train loss : 0.07400 +rel_err:0.07207254401215171 +Epoch 18 Reg : 0.50815 Train loss : 0.07312 +rel_err:0.07532276944779981 +Epoch 19 Reg : 0.49738 Train loss : 0.07224 +rel_err:0.08270809991087948 +Epoch 20 Reg : 0.49462 Train loss : 0.07036 +rel_err:0.07623972186971324 +Epoch 21 Reg : 0.48860 Train loss : 0.07121 +rel_err:0.08170465538839423 +Epoch 22 Reg : 0.48290 Train loss : 0.06832 +rel_err:0.07017243686966534 +Epoch 23 Reg : 0.46850 Train loss : 0.06703 +rel_err:0.06483897254568721 +Epoch 24 Reg : 0.46391 Train loss : 0.06522 +rel_err:0.06513271921183139 +Epoch 25 Reg : 0.45943 Train loss : 0.06694 +rel_err:0.06223979098317853 +Epoch 26 Reg : 0.44661 Train loss : 0.06426 +rel_err:0.07251887001512147 +Epoch 27 Reg : 0.42811 Train loss : 0.06181 +rel_err:0.05612205899209055 +Epoch 28 Reg : 0.41825 Train loss : 0.06130 +rel_err:0.05889591744113641 +Epoch 29 Reg : 0.40976 Train loss : 0.05886 +rel_err:0.053387193991738024 +Epoch 30 Reg : 0.40352 Train loss : 0.05759 +rel_err:0.04938622321907041 +Epoch 31 Reg : 0.39024 Train loss : 0.05578 +rel_err:0.06326122941531682 +Epoch 32 Reg : 0.39342 Train loss : 0.05732 +rel_err:0.06105082395227794 +Epoch 33 Reg : 0.37664 Train loss : 0.05330 +rel_err:0.059111373675385985 +Epoch 34 Reg : 0.37779 Train loss : 0.05450 +rel_err:0.056700214174204844 +Epoch 35 Reg : 0.36874 Train loss : 0.05271 +rel_err:0.05167727157250809 +Epoch 36 Reg : 0.35857 Train loss : 0.05152 +rel_err:0.04991880476528541 +Epoch 37 Reg : 0.35230 Train loss : 0.05016 +rel_err:0.04524069929703517 +Epoch 38 Reg : 0.35186 Train loss : 0.05139 +rel_err:0.059537527675642646 +Epoch 39 Reg : 0.34747 Train loss : 0.05077 +rel_err:0.04295285049690078 +Epoch 40 Reg : 0.32151 Train loss : 0.04633 +rel_err:0.04454673940063952 +Epoch 41 Reg : 0.32714 Train loss : 0.04822 +rel_err:0.04455530879190733 +Epoch 42 Reg : 0.31905 Train loss : 0.04653 +rel_err:0.045082628695038124 +Epoch 43 Reg : 0.31934 Train loss : 0.04666 +rel_err:0.041012809333458924 +Epoch 44 Reg : 0.30564 Train loss : 0.04502 +rel_err:0.04575402752842516 +Epoch 45 Reg : 0.30425 Train loss : 0.04459 +rel_err:0.04444160515998763 +Epoch 46 Reg : 0.29794 Train loss : 0.04394 +rel_err:0.04126715753274334 +Epoch 47 Reg : 0.29998 Train loss : 0.04444 +rel_err:0.040681781265271715 +Epoch 48 Reg : 0.28889 Train loss : 0.04173 +rel_err:0.04648677242078827 +Epoch 49 Reg : 0.29101 Train loss : 0.04354 +rel_err:0.04797750436727501 +Epoch 50 Reg : 0.27727 Train loss : 0.04072 +rel_err:0.041946749370573404 +Epoch 51 Reg : 0.26702 Train loss : 0.03907 +rel_err:0.038356301162005085 +Epoch 52 Reg : 0.26559 Train loss : 0.04119 +rel_err:0.041877756458873795 +Epoch 53 Reg : 0.26287 Train loss : 0.03974 +rel_err:0.03540356743205767 +Epoch 54 Reg : 0.25386 Train loss : 0.03966 +rel_err:0.03258109835463814 +Epoch 55 Reg : 0.25020 Train loss : 0.03814 +rel_err:0.03872749463059803 +Epoch 56 Reg : 0.24708 Train loss : 0.03827 +rel_err:0.03225926042969137 +Epoch 57 Reg : 0.24062 Train loss : 0.03587 +rel_err:0.04305350274555587 +Epoch 58 Reg : 0.23687 Train loss : 0.03617 +rel_err:0.03776265265338871 +Epoch 59 Reg : 0.23683 Train loss : 0.03644 +rel_err:0.039575493655132035 +Epoch 60 Reg : 0.23393 Train loss : 0.03540 +rel_err:0.042810512717391704 +Epoch 61 Reg : 0.23900 Train loss : 0.03768 +rel_err:0.03179283791271089 +Epoch 62 Reg : 0.22783 Train loss : 0.03511 +rel_err:0.03159960115818071 +Epoch 63 Reg : 0.21689 Train loss : 0.03354 +rel_err:0.034347615684196746 +Epoch 64 Reg : 0.22411 Train loss : 0.03587 +rel_err:0.03141218145865701 +Epoch 65 Reg : 0.23131 Train loss : 0.03697 +rel_err:0.03256768254734624 +Epoch 66 Reg : 0.21856 Train loss : 0.03375 +rel_err:0.03365429618287593 +Epoch 67 Reg : 0.21153 Train loss : 0.03310 +rel_err:0.03580230612049045 +Epoch 68 Reg : 0.20803 Train loss : 0.03355 +rel_err:0.028993573955762086 +Epoch 69 Reg : 0.21049 Train loss : 0.03278 +rel_err:0.03214764807246628 +Epoch 70 Reg : 0.20624 Train loss : 0.03202 +rel_err:0.03252857953155607 +Epoch 71 Reg : 0.20616 Train loss : 0.03244 +rel_err:0.02500414024743342 +Epoch 72 Reg : 0.19880 Train loss : 0.03153 +rel_err:0.03583401753665621 +Epoch 73 Reg : 0.20337 Train loss : 0.03311 +rel_err:0.03195123682644615 +Epoch 74 Reg : 0.20020 Train loss : 0.03270 +rel_err:0.03644811001276719 +Epoch 75 Reg : 0.20190 Train loss : 0.03226 +rel_err:0.02968989134020235 +Epoch 76 Reg : 0.19669 Train loss : 0.03079 +rel_err:0.027165076706838934 +Epoch 77 Reg : 0.19005 Train loss : 0.02988 +rel_err:0.03469741326128392 +Epoch 78 Reg : 0.19016 Train loss : 0.02956 +rel_err:0.03331371374589459 +Epoch 79 Reg : 0.19469 Train loss : 0.03150 +rel_err:0.025593727439097866 +Epoch 80 Reg : 0.19235 Train loss : 0.03041 +rel_err:0.02825006102285083 +Epoch 81 Reg : 0.18065 Train loss : 0.02753 +rel_err:0.02741847893217194 +Epoch 82 Reg : 0.19180 Train loss : 0.03028 +rel_err:0.0283544561657997 +Epoch 83 Reg : 0.18149 Train loss : 0.02851 +rel_err:0.03835836157124421 +Epoch 84 Reg : 0.18946 Train loss : 0.02917 +rel_err:0.03088623367738118 +Epoch 85 Reg : 0.18852 Train loss : 0.03021 +rel_err:0.021002636969101717 +Epoch 86 Reg : 0.17635 Train loss : 0.02770 +rel_err:0.027341678425502457 +Epoch 87 Reg : 0.17473 Train loss : 0.02795 +rel_err:0.026530628763057406 +Epoch 88 Reg : 0.16985 Train loss : 0.02681 +rel_err:0.02892533435666208 +Epoch 89 Reg : 0.18044 Train loss : 0.02791 +rel_err:0.023983613624070213 +Epoch 90 Reg : 0.17473 Train loss : 0.02703 +rel_err:0.024686504796580282 +Epoch 91 Reg : 0.17990 Train loss : 0.02858 +rel_err:0.024268264007826015 +Epoch 92 Reg : 0.18233 Train loss : 0.02932 +rel_err:0.029168972767202983 +Epoch 93 Reg : 0.16742 Train loss : 0.02701 +rel_err:0.025201430498670116 +Epoch 94 Reg : 0.16927 Train loss : 0.02651 +rel_err:0.03226087374929604 +Epoch 95 Reg : 0.16463 Train loss : 0.02493 +rel_err:0.023666223928440533 +Epoch 96 Reg : 0.16212 Train loss : 0.02512 +rel_err:0.0317074413878464 +Epoch 97 Reg : 0.17526 Train loss : 0.02725 +rel_err:0.03053720953271589 +Epoch 98 Reg : 0.16685 Train loss : 0.02649 +rel_err:0.025263156706350882 +Epoch 99 Reg : 0.16874 Train loss : 0.02621 +rel_err:0.023956198920767512 +Epoch 100 Reg : 0.17336 Train loss : 0.02874 +rel_err:0.021564460101135143 +save model +Epoch 101 Reg : 0.16813 Train loss : 0.02556 +rel_err:0.023782308243612372 +Epoch 102 Reg : 0.16476 Train loss : 0.02607 +rel_err:0.026663059893233875 +Epoch 103 Reg : 0.15991 Train loss : 0.02497 +rel_err:0.0321697854312446 +Epoch 104 Reg : 0.16840 Train loss : 0.02605 +rel_err:0.03088920307066407 +Epoch 105 Reg : 0.16434 Train loss : 0.02540 +rel_err:0.023397061706870007 +Epoch 106 Reg : 0.16471 Train loss : 0.02586 +rel_err:0.0237814041555975 +Epoch 107 Reg : 0.16752 Train loss : 0.02656 +rel_err:0.02244392863132232 +Epoch 108 Reg : 0.15195 Train loss : 0.02305 +rel_err:0.02151082915171881 +Epoch 109 Reg : 0.15963 Train loss : 0.02439 +rel_err:0.023084787161908163 +Epoch 110 Reg : 0.16209 Train loss : 0.02517 +rel_err:0.02793285161293951 +Epoch 111 Reg : 0.15822 Train loss : 0.02447 +rel_err:0.02381753819097897 +Epoch 112 Reg : 0.15677 Train loss : 0.02420 +rel_err:0.024819155228115414 +Epoch 113 Reg : 0.16132 Train loss : 0.02501 +rel_err:0.022281998816753093 +Epoch 114 Reg : 0.15143 Train loss : 0.02327 +rel_err:0.01790915482531319 +Epoch 115 Reg : 0.15027 Train loss : 0.02307 +rel_err:0.028329523141693666 +Epoch 116 Reg : 0.16074 Train loss : 0.02526 +rel_err:0.020373928059958867 +Epoch 117 Reg : 0.14324 Train loss : 0.02184 +rel_err:0.02437488769426177 +Epoch 118 Reg : 0.15243 Train loss : 0.02306 +rel_err:0.020079913881419702 +Epoch 119 Reg : 0.14822 Train loss : 0.02318 +rel_err:0.024344788213168895 +Epoch 120 Reg : 0.14602 Train loss : 0.02188 +rel_err:0.02096991126015586 +Epoch 121 Reg : 0.14758 Train loss : 0.02260 +rel_err:0.02490362827755344 +Epoch 122 Reg : 0.15279 Train loss : 0.02313 +rel_err:0.023666515845148915 +Epoch 123 Reg : 0.15226 Train loss : 0.02347 +rel_err:0.023112823942591176 +Epoch 124 Reg : 0.13625 Train loss : 0.02053 +rel_err:0.01815082271486013 +Epoch 125 Reg : 0.14736 Train loss : 0.02258 +rel_err:0.020294471359250287 +Epoch 126 Reg : 0.13975 Train loss : 0.02113 +rel_err:0.018879565167668862 +Epoch 127 Reg : 0.13811 Train loss : 0.02062 +rel_err:0.02036655671732917 +Epoch 128 Reg : 0.14604 Train loss : 0.02270 +rel_err:0.03378355854766726 +Epoch 129 Reg : 0.14646 Train loss : 0.02217 +rel_err:0.0227884106182573 +Epoch 130 Reg : 0.13286 Train loss : 0.01915 +rel_err:0.02812566211115556 +Epoch 131 Reg : 0.14153 Train loss : 0.02166 +rel_err:0.021391229173858176 +Epoch 132 Reg : 0.14562 Train loss : 0.02155 +rel_err:0.036226513129193165 +Epoch 133 Reg : 0.13732 Train loss : 0.02044 +rel_err:0.016379491341752036 +Epoch 134 Reg : 0.13475 Train loss : 0.01999 +rel_err:0.018442491546238546 +Epoch 135 Reg : 0.14773 Train loss : 0.02192 +rel_err:0.0184321671195062 +Epoch 136 Reg : 0.13815 Train loss : 0.02025 +rel_err:0.022719615893066834 +Epoch 137 Reg : 0.13264 Train loss : 0.01914 +rel_err:0.025498841258524783 +Epoch 138 Reg : 0.13041 Train loss : 0.01889 +rel_err:0.019129382625524497 +Epoch 139 Reg : 0.13234 Train loss : 0.01992 +rel_err:0.018124629861514353 +Epoch 140 Reg : 0.13221 Train loss : 0.01950 +rel_err:0.015902669637366938 +Epoch 141 Reg : 0.12875 Train loss : 0.01951 +rel_err:0.017759485307064646 +Epoch 142 Reg : 0.12674 Train loss : 0.01856 +rel_err:0.017920758991957948 +Epoch 143 Reg : 0.12824 Train loss : 0.01853 +rel_err:0.021397296254226466 +Epoch 144 Reg : 0.13533 Train loss : 0.01982 +rel_err:0.02371950910331809 +Epoch 145 Reg : 0.13519 Train loss : 0.02025 +rel_err:0.021064917395231197 +Epoch 146 Reg : 0.12968 Train loss : 0.01935 +rel_err:0.020003727277785016 +Epoch 147 Reg : 0.12443 Train loss : 0.01797 +rel_err:0.01801878009536953 +Epoch 148 Reg : 0.13850 Train loss : 0.02085 +rel_err:0.017371307521117624 +Epoch 149 Reg : 0.12757 Train loss : 0.01877 +rel_err:0.024645268314626146 +Epoch 150 Reg : 0.13633 Train loss : 0.01971 +rel_err:0.01913863253711042 +Epoch 151 Reg : 0.12533 Train loss : 0.01808 +rel_err:0.016808363976478828 +Epoch 152 Reg : 0.12033 Train loss : 0.01729 +rel_err:0.0192537661350978 +Epoch 153 Reg : 0.12697 Train loss : 0.01865 +rel_err:0.02189156959537243 +Epoch 154 Reg : 0.12257 Train loss : 0.01778 +rel_err:0.015262868618088477 +Epoch 155 Reg : 0.12582 Train loss : 0.01814 +rel_err:0.020541654411244198 +Epoch 156 Reg : 0.12250 Train loss : 0.01801 +rel_err:0.02621754267893514 +Epoch 157 Reg : 0.11909 Train loss : 0.01722 +rel_err:0.02354660854754096 +Epoch 158 Reg : 0.11779 Train loss : 0.01712 +rel_err:0.015490404294207512 +Epoch 159 Reg : 0.12034 Train loss : 0.01736 +rel_err:0.01593777229702582 +Epoch 160 Reg : 0.11401 Train loss : 0.01674 +rel_err:0.01465045648104385 +Epoch 161 Reg : 0.11647 Train loss : 0.01726 +rel_err:0.019548593080251624 +Epoch 162 Reg : 0.11874 Train loss : 0.01708 +rel_err:0.016606260806947146 +Epoch 163 Reg : 0.12059 Train loss : 0.01777 +rel_err:0.018698994029319266 +Epoch 164 Reg : 0.11335 Train loss : 0.01586 +rel_err:0.021550025679367448 +Epoch 165 Reg : 0.11492 Train loss : 0.01676 +rel_err:0.015078562786630157 +Epoch 166 Reg : 0.11660 Train loss : 0.01643 +rel_err:0.014405084246198565 +Epoch 167 Reg : 0.11128 Train loss : 0.01549 +rel_err:0.01586409160934454 +Epoch 168 Reg : 0.11849 Train loss : 0.01724 +rel_err:0.01658614071993191 +Epoch 169 Reg : 0.10758 Train loss : 0.01515 +rel_err:0.017797145023811058 +Epoch 170 Reg : 0.11171 Train loss : 0.01619 +rel_err:0.018873974682653935 +Epoch 171 Reg : 0.10969 Train loss : 0.01563 +rel_err:0.02139836676740478 +Epoch 172 Reg : 0.12461 Train loss : 0.01841 +rel_err:0.015342386278889666 +Epoch 173 Reg : 0.11627 Train loss : 0.01723 +rel_err:0.026098081048742682 +Epoch 174 Reg : 0.11418 Train loss : 0.01601 +rel_err:0.016515026799648627 +Epoch 175 Reg : 0.10346 Train loss : 0.01463 +rel_err:0.021311597884977326 +Epoch 176 Reg : 0.11244 Train loss : 0.01554 +rel_err:0.016054252619817272 +Epoch 177 Reg : 0.11002 Train loss : 0.01509 +rel_err:0.013204809380395676 +Epoch 178 Reg : 0.10331 Train loss : 0.01481 +rel_err:0.012857951737480054 +Epoch 179 Reg : 0.11365 Train loss : 0.01672 +rel_err:0.015036477075713494 +Epoch 180 Reg : 0.10463 Train loss : 0.01483 +rel_err:0.01534067644648617 +Epoch 181 Reg : 0.10924 Train loss : 0.01527 +rel_err:0.01687244574221143 +Epoch 182 Reg : 0.10371 Train loss : 0.01413 +rel_err:0.014920807616320132 +Epoch 183 Reg : 0.10933 Train loss : 0.01571 +rel_err:0.019315064771763136 +Epoch 184 Reg : 0.10296 Train loss : 0.01482 +rel_err:0.016163802112104136 +Epoch 185 Reg : 0.10032 Train loss : 0.01363 +rel_err:0.016088323955591982 +Epoch 186 Reg : 0.10584 Train loss : 0.01455 +rel_err:0.012590103335312557 +Epoch 187 Reg : 0.10555 Train loss : 0.01515 +rel_err:0.017187400947506995 +Epoch 188 Reg : 0.10513 Train loss : 0.01452 +rel_err:0.014090029204668519 +Epoch 189 Reg : 0.10333 Train loss : 0.01450 +rel_err:0.014972596803331724 +Epoch 190 Reg : 0.10004 Train loss : 0.01363 +rel_err:0.018416861849696473 +Epoch 191 Reg : 0.10137 Train loss : 0.01381 +rel_err:0.018531343519719568 +Epoch 192 Reg : 0.10174 Train loss : 0.01383 +rel_err:0.016266360833951075 +Epoch 193 Reg : 0.09935 Train loss : 0.01334 +rel_err:0.011176624010676268 +Epoch 194 Reg : 0.09922 Train loss : 0.01364 +rel_err:0.017346231273493065 +Epoch 195 Reg : 0.10025 Train loss : 0.01382 +rel_err:0.015074272202351474 +Epoch 196 Reg : 0.09494 Train loss : 0.01298 +rel_err:0.015672111206052334 +Epoch 197 Reg : 0.10198 Train loss : 0.01419 +rel_err:0.011967628694635326 +Epoch 198 Reg : 0.09856 Train loss : 0.01344 +rel_err:0.014884028950819533 +Epoch 199 Reg : 0.09553 Train loss : 0.01301 +rel_err:0.01505068218342514 +Epoch 200 Reg : 0.10264 Train loss : 0.01427 +rel_err:0.019004129781484736 +save model +Epoch 201 Reg : 0.10467 Train loss : 0.01453 +rel_err:0.013310338048667747 +Epoch 202 Reg : 0.09327 Train loss : 0.01204 +rel_err:0.014437502315423772 +Epoch 203 Reg : 0.08846 Train loss : 0.01111 +rel_err:0.01439293703897419 +Epoch 204 Reg : 0.09742 Train loss : 0.01357 +rel_err:0.012913333663541037 +Epoch 205 Reg : 0.09533 Train loss : 0.01297 +rel_err:0.014463923046952726 +Epoch 206 Reg : 0.09856 Train loss : 0.01359 +rel_err:0.013686558500012921 +Epoch 207 Reg : 0.09734 Train loss : 0.01287 +rel_err:0.017803359318515247 +Epoch 208 Reg : 0.09762 Train loss : 0.01326 +rel_err:0.018597756039561125 +Epoch 209 Reg : 0.09497 Train loss : 0.01242 +rel_err:0.013197380212690069 +Epoch 210 Reg : 0.09396 Train loss : 0.01253 +rel_err:0.013420232383572338 +Epoch 211 Reg : 0.09733 Train loss : 0.01282 +rel_err:0.014548125145798896 +Epoch 212 Reg : 0.09493 Train loss : 0.01257 +rel_err:0.01302043281601734 +Epoch 213 Reg : 0.09094 Train loss : 0.01157 +rel_err:0.013906528730104135 +Epoch 214 Reg : 0.09535 Train loss : 0.01248 +rel_err:0.011253418767701601 +Epoch 215 Reg : 0.09033 Train loss : 0.01186 +rel_err:0.009860334316911527 +Epoch 216 Reg : 0.09778 Train loss : 0.01335 +rel_err:0.012972265011584126 +Epoch 217 Reg : 0.09237 Train loss : 0.01191 +rel_err:0.015976630741692102 +Epoch 218 Reg : 0.09450 Train loss : 0.01256 +rel_err:0.014522025460483505 +Epoch 219 Reg : 0.09399 Train loss : 0.01236 +rel_err:0.01618874956324398 +Epoch 220 Reg : 0.09265 Train loss : 0.01230 +rel_err:0.01331450358967151 +Epoch 221 Reg : 0.08649 Train loss : 0.01088 +rel_err:0.011289897094895134 +Epoch 222 Reg : 0.08761 Train loss : 0.01099 +rel_err:0.010328640758509028 +Epoch 223 Reg : 0.08860 Train loss : 0.01122 +rel_err:0.00988952785551273 +Epoch 224 Reg : 0.09110 Train loss : 0.01190 +rel_err:0.012387668583136146 +Epoch 225 Reg : 0.09693 Train loss : 0.01278 +rel_err:0.009268964162422476 +Epoch 226 Reg : 0.09010 Train loss : 0.01184 +rel_err:0.012569603902194608 +Epoch 227 Reg : 0.09178 Train loss : 0.01179 +rel_err:0.014009564188773466 +Epoch 228 Reg : 0.08873 Train loss : 0.01135 +rel_err:0.010911670426946896 +Epoch 229 Reg : 0.08783 Train loss : 0.01124 +rel_err:0.014355391364035386 +Epoch 230 Reg : 0.09113 Train loss : 0.01236 +rel_err:0.010864655021664804 +Epoch 231 Reg : 0.09315 Train loss : 0.01229 +rel_err:0.011682042564879515 +Epoch 232 Reg : 0.08884 Train loss : 0.01153 +rel_err:0.014389109013375057 +Epoch 233 Reg : 0.08628 Train loss : 0.01083 +rel_err:0.012414653722312792 +Epoch 234 Reg : 0.08925 Train loss : 0.01102 +rel_err:0.011034626754969997 +Epoch 235 Reg : 0.08431 Train loss : 0.01016 +rel_err:0.009738215312982057 +Epoch 236 Reg : 0.08841 Train loss : 0.01124 +rel_err:0.012581046866879346 +Epoch 237 Reg : 0.09331 Train loss : 0.01240 +rel_err:0.011190896697908244 +Epoch 238 Reg : 0.08732 Train loss : 0.01090 +rel_err:0.011683021742408699 +Epoch 239 Reg : 0.08759 Train loss : 0.01104 +rel_err:0.008696518475892152 +Epoch 240 Reg : 0.08907 Train loss : 0.01176 +rel_err:0.010161069848641846 +Epoch 241 Reg : 0.08971 Train loss : 0.01157 +rel_err:0.01240043578813549 +Epoch 242 Reg : 0.08818 Train loss : 0.01091 +rel_err:0.009710371891206625 +Epoch 243 Reg : 0.08601 Train loss : 0.01031 +rel_err:0.015414620813457552 +Epoch 244 Reg : 0.08272 Train loss : 0.00996 +rel_err:0.011210518142195123 +Epoch 245 Reg : 0.08496 Train loss : 0.01049 +rel_err:0.012748071707844612 +Epoch 246 Reg : 0.08210 Train loss : 0.00949 +rel_err:0.010799352800411588 +Epoch 247 Reg : 0.08567 Train loss : 0.01084 +rel_err:0.011857980974255031 +Epoch 248 Reg : 0.08409 Train loss : 0.01032 +rel_err:0.009933818616517369 +Epoch 249 Reg : 0.08503 Train loss : 0.01117 +rel_err:0.012226063465241608 +Epoch 250 Reg : 0.08262 Train loss : 0.00968 +rel_err:0.011230125974942424 +Epoch 251 Reg : 0.08324 Train loss : 0.01045 +rel_err:0.012501662337902572 +Epoch 252 Reg : 0.08644 Train loss : 0.01106 +rel_err:0.014177620727613588 +Epoch 253 Reg : 0.08484 Train loss : 0.01028 +rel_err:0.010756961372825684 +Epoch 254 Reg : 0.08181 Train loss : 0.00986 +rel_err:0.009797308836164358 +Epoch 255 Reg : 0.08259 Train loss : 0.00977 +rel_err:0.010856471867480032 +Epoch 256 Reg : 0.09185 Train loss : 0.01206 +rel_err:0.010982573619771636 +Epoch 257 Reg : 0.08680 Train loss : 0.01043 +rel_err:0.010774235493791586 +Epoch 258 Reg : 0.08161 Train loss : 0.00969 +rel_err:0.009562422220378442 +Epoch 259 Reg : 0.08029 Train loss : 0.00950 +rel_err:0.013009234383182808 +Epoch 260 Reg : 0.08410 Train loss : 0.01035 +rel_err:0.012990194633627357 +Epoch 261 Reg : 0.08007 Train loss : 0.00929 +rel_err:0.0104840566305733 +Epoch 262 Reg : 0.08006 Train loss : 0.00946 +rel_err:0.009530488397271995 +Epoch 263 Reg : 0.08422 Train loss : 0.01037 +rel_err:0.010303912316523788 +Epoch 264 Reg : 0.08039 Train loss : 0.00920 +rel_err:0.011848640566902897 +Epoch 265 Reg : 0.08205 Train loss : 0.01000 +rel_err:0.014023157830490296 +Epoch 266 Reg : 0.08026 Train loss : 0.00931 +rel_err:0.009619140445267826 +Epoch 267 Reg : 0.07945 Train loss : 0.00939 +rel_err:0.009798218994223675 +Epoch 268 Reg : 0.07696 Train loss : 0.00899 +rel_err:0.012118773119354588 +Epoch 269 Reg : 0.07724 Train loss : 0.00862 +rel_err:0.009806492335283615 +Epoch 270 Reg : 0.08091 Train loss : 0.00949 +rel_err:0.010972763162966487 +Epoch 271 Reg : 0.08393 Train loss : 0.01018 +rel_err:0.010227152741525131 +Epoch 272 Reg : 0.07954 Train loss : 0.00954 +rel_err:0.010672701969303405 +Epoch 273 Reg : 0.08337 Train loss : 0.01006 +rel_err:0.010055389845723475 +Epoch 274 Reg : 0.08007 Train loss : 0.00932 +rel_err:0.012702927784529645 +Epoch 275 Reg : 0.07863 Train loss : 0.00883 +rel_err:0.009449738763052795 +Epoch 276 Reg : 0.07843 Train loss : 0.00901 +rel_err:0.01138420881719611 +Epoch 277 Reg : 0.07927 Train loss : 0.00903 +rel_err:0.010007666857942634 +Epoch 278 Reg : 0.08075 Train loss : 0.00931 +rel_err:0.009389078162904758 +Epoch 279 Reg : 0.07837 Train loss : 0.00909 +rel_err:0.010595074761919352 +Epoch 280 Reg : 0.07822 Train loss : 0.00877 +rel_err:0.008137027242332687 +Epoch 281 Reg : 0.07801 Train loss : 0.00854 +rel_err:0.012559545688945345 +Epoch 282 Reg : 0.07825 Train loss : 0.00900 +rel_err:0.01051602100726149 +Epoch 283 Reg : 0.07851 Train loss : 0.00890 +rel_err:0.009116608750462447 +Epoch 284 Reg : 0.08097 Train loss : 0.00925 +rel_err:0.009404568866635366 +Epoch 285 Reg : 0.07695 Train loss : 0.00886 +rel_err:0.009978698679765023 +Epoch 286 Reg : 0.07788 Train loss : 0.00906 +rel_err:0.00903815499477595 +Epoch 287 Reg : 0.07658 Train loss : 0.00849 +rel_err:0.0089987517093898 +Epoch 288 Reg : 0.07578 Train loss : 0.00868 +rel_err:0.010539231226458856 +Epoch 289 Reg : 0.07928 Train loss : 0.00933 +rel_err:0.010897894719087248 +Epoch 290 Reg : 0.07936 Train loss : 0.00892 +rel_err:0.008779673597459282 +Epoch 291 Reg : 0.07757 Train loss : 0.00850 +rel_err:0.01035498835917524 +Epoch 292 Reg : 0.07665 Train loss : 0.00834 +rel_err:0.008809034626362155 +Epoch 293 Reg : 0.07356 Train loss : 0.00761 +rel_err:0.011083064620651038 +Epoch 294 Reg : 0.07545 Train loss : 0.00826 +rel_err:0.011379208229462558 +Epoch 295 Reg : 0.07597 Train loss : 0.00862 +rel_err:0.008569777068308977 +Epoch 296 Reg : 0.07395 Train loss : 0.00765 +rel_err:0.008541739730619963 +Epoch 297 Reg : 0.07460 Train loss : 0.00792 +rel_err:0.010572979853259728 +Epoch 298 Reg : 0.07325 Train loss : 0.00773 +rel_err:0.008148899890161022 +Epoch 299 Reg : 0.07085 Train loss : 0.00697 +rel_err:0.009733033833139632 +Epoch 300 Reg : 0.07530 Train loss : 0.00821 +rel_err:0.007831629588730342 +save model +Epoch 301 Reg : 0.07545 Train loss : 0.00848 +rel_err:0.009169327102821654 +Epoch 302 Reg : 0.07271 Train loss : 0.00767 +rel_err:0.008128135106688883 +Epoch 303 Reg : 0.07409 Train loss : 0.00775 +rel_err:0.008677350159652056 +Epoch 304 Reg : 0.07422 Train loss : 0.00774 +rel_err:0.007612592946717302 +Epoch 305 Reg : 0.07654 Train loss : 0.00842 +rel_err:0.011872541727799472 +Epoch 306 Reg : 0.07570 Train loss : 0.00848 +rel_err:0.009775034822025255 +Epoch 307 Reg : 0.07432 Train loss : 0.00804 +rel_err:0.00769449678997141 +Epoch 308 Reg : 0.07187 Train loss : 0.00735 +rel_err:0.00868492086563086 +Epoch 309 Reg : 0.07295 Train loss : 0.00755 +rel_err:0.007430836292078987 +Epoch 310 Reg : 0.07204 Train loss : 0.00736 +rel_err:0.011072208716612882 +Epoch 311 Reg : 0.07233 Train loss : 0.00723 +rel_err:0.008125849078811807 +Epoch 312 Reg : 0.07161 Train loss : 0.00749 +rel_err:0.008585915804050421 +Epoch 313 Reg : 0.07391 Train loss : 0.00770 +rel_err:0.009073860170612014 +Epoch 314 Reg : 0.07276 Train loss : 0.00776 +rel_err:0.007153605150422183 +Epoch 315 Reg : 0.07363 Train loss : 0.00774 +rel_err:0.008907721663026924 +Epoch 316 Reg : 0.07044 Train loss : 0.00693 +rel_err:0.007431787764117273 +Epoch 317 Reg : 0.07448 Train loss : 0.00782 +rel_err:0.009048835663636083 +Epoch 318 Reg : 0.07384 Train loss : 0.00799 +rel_err:0.009832150169239546 +Epoch 319 Reg : 0.07208 Train loss : 0.00734 +rel_err:0.008698396291773953 +Epoch 320 Reg : 0.07168 Train loss : 0.00739 +rel_err:0.00729117557656192 +Epoch 321 Reg : 0.07451 Train loss : 0.00792 +rel_err:0.008918335912786764 +Epoch 322 Reg : 0.07406 Train loss : 0.00781 +rel_err:0.010028718317694457 +Epoch 323 Reg : 0.06998 Train loss : 0.00686 +rel_err:0.0070336058493196 +Epoch 324 Reg : 0.07102 Train loss : 0.00705 +rel_err:0.0078103315723313145 +Epoch 325 Reg : 0.07133 Train loss : 0.00710 +rel_err:0.00841413246697688 +Epoch 326 Reg : 0.07013 Train loss : 0.00688 +rel_err:0.007988450570216729 +Epoch 327 Reg : 0.07227 Train loss : 0.00737 +rel_err:0.009049966894584344 +Epoch 328 Reg : 0.06980 Train loss : 0.00671 +rel_err:0.007536689256455045 +Epoch 329 Reg : 0.06909 Train loss : 0.00645 +rel_err:0.00840536928707405 +Epoch 330 Reg : 0.06933 Train loss : 0.00644 +rel_err:0.010098926391238406 +Epoch 331 Reg : 0.06798 Train loss : 0.00603 +rel_err:0.008911466780208748 +Epoch 332 Reg : 0.06860 Train loss : 0.00617 +rel_err:0.010122586466173639 +Epoch 333 Reg : 0.07262 Train loss : 0.00735 +rel_err:0.00819214835321453 +Epoch 334 Reg : 0.06933 Train loss : 0.00664 +rel_err:0.00808700093371229 +Epoch 335 Reg : 0.07093 Train loss : 0.00688 +rel_err:0.009218774876155543 +Epoch 336 Reg : 0.06855 Train loss : 0.00626 +rel_err:0.0069802190207130495 +Epoch 337 Reg : 0.06806 Train loss : 0.00613 +rel_err:0.008911861554102504 +Epoch 338 Reg : 0.06826 Train loss : 0.00640 +rel_err:0.010731982341966395 +Epoch 339 Reg : 0.06834 Train loss : 0.00635 +rel_err:0.008865579785074408 +Epoch 340 Reg : 0.06943 Train loss : 0.00665 +rel_err:0.00806457292895315 +Epoch 341 Reg : 0.06771 Train loss : 0.00623 +rel_err:0.010689162250089288 +Epoch 342 Reg : 0.07074 Train loss : 0.00697 +rel_err:0.007094615619589941 +Epoch 343 Reg : 0.06816 Train loss : 0.00619 +rel_err:0.007874693357513965 +Epoch 344 Reg : 0.06652 Train loss : 0.00564 +rel_err:0.0077531591631765625 +Epoch 345 Reg : 0.06835 Train loss : 0.00637 +rel_err:0.006736203843482038 +Epoch 346 Reg : 0.06817 Train loss : 0.00649 +rel_err:0.006772998416943999 +Epoch 347 Reg : 0.06702 Train loss : 0.00585 +rel_err:0.008849692472761475 +Epoch 348 Reg : 0.06677 Train loss : 0.00569 +rel_err:0.007176402914592793 +Epoch 349 Reg : 0.06751 Train loss : 0.00634 +rel_err:0.006808731509819239 +Epoch 350 Reg : 0.06581 Train loss : 0.00544 +rel_err:0.00786147476160225 +Epoch 351 Reg : 0.06787 Train loss : 0.00613 +rel_err:0.00804659801224144 +Epoch 352 Reg : 0.06693 Train loss : 0.00576 +rel_err:0.006912960974170895 +Epoch 353 Reg : 0.06591 Train loss : 0.00566 +rel_err:0.007795003946561928 +Epoch 354 Reg : 0.06572 Train loss : 0.00551 +rel_err:0.007492188225242565 +Epoch 355 Reg : 0.06658 Train loss : 0.00583 +rel_err:0.007307706416354284 +Epoch 356 Reg : 0.06595 Train loss : 0.00562 +rel_err:0.0076203761239597686 +Epoch 357 Reg : 0.06704 Train loss : 0.00590 +rel_err:0.00729437678201006 +Epoch 358 Reg : 0.06506 Train loss : 0.00525 +rel_err:0.009051652779017412 +Epoch 359 Reg : 0.06685 Train loss : 0.00588 +rel_err:0.008727240594621315 +Epoch 360 Reg : 0.06677 Train loss : 0.00598 +rel_err:0.00794015345848766 +Epoch 361 Reg : 0.06618 Train loss : 0.00578 +rel_err:0.007593547882659936 +Epoch 362 Reg : 0.06622 Train loss : 0.00570 +rel_err:0.006756415367859589 +Epoch 363 Reg : 0.06480 Train loss : 0.00513 +rel_err:0.006931204069407092 +Epoch 364 Reg : 0.06486 Train loss : 0.00513 +rel_err:0.006714176179632453 +Epoch 365 Reg : 0.06526 Train loss : 0.00534 +rel_err:0.009984581814620237 +Epoch 366 Reg : 0.06669 Train loss : 0.00592 +rel_err:0.008422177677824862 +Epoch 367 Reg : 0.06545 Train loss : 0.00548 +rel_err:0.007687280104799395 +Epoch 368 Reg : 0.06529 Train loss : 0.00533 +rel_err:0.006299471466132166 +Epoch 369 Reg : 0.06529 Train loss : 0.00528 +rel_err:0.007495926499180706 +Epoch 370 Reg : 0.06441 Train loss : 0.00496 +rel_err:0.0065049120928849504 +Epoch 371 Reg : 0.06539 Train loss : 0.00558 +rel_err:0.007063324682957098 +Epoch 372 Reg : 0.06354 Train loss : 0.00475 +rel_err:0.006848524444802276 +Epoch 373 Reg : 0.06447 Train loss : 0.00520 +rel_err:0.0065101652744053665 +Epoch 374 Reg : 0.06517 Train loss : 0.00538 +rel_err:0.00711223030560957 +Epoch 375 Reg : 0.06357 Train loss : 0.00471 +rel_err:0.006941275065344383 +Epoch 376 Reg : 0.06341 Train loss : 0.00476 +rel_err:0.008202771593248394 +Epoch 377 Reg : 0.06325 Train loss : 0.00472 +rel_err:0.00663299507275135 +Epoch 378 Reg : 0.06395 Train loss : 0.00507 +rel_err:0.007150009958060656 +Epoch 379 Reg : 0.06467 Train loss : 0.00530 +rel_err:0.007016622382473036 +Epoch 380 Reg : 0.06402 Train loss : 0.00490 +rel_err:0.007273810093723786 +Epoch 381 Reg : 0.06332 Train loss : 0.00480 +rel_err:0.007181466826546107 +Epoch 382 Reg : 0.06352 Train loss : 0.00488 +rel_err:0.007572846752986819 +Epoch 383 Reg : 0.06412 Train loss : 0.00498 +rel_err:0.006098722641212859 +Epoch 384 Reg : 0.06369 Train loss : 0.00484 +rel_err:0.007687716199762782 +Epoch 385 Reg : 0.06392 Train loss : 0.00495 +rel_err:0.006775853973639433 +Epoch 386 Reg : 0.06426 Train loss : 0.00499 +rel_err:0.006705131394130195 +Epoch 387 Reg : 0.06316 Train loss : 0.00482 +rel_err:0.007208564651977052 +Epoch 388 Reg : 0.06310 Train loss : 0.00472 +rel_err:0.006486212100994166 +Epoch 389 Reg : 0.06283 Train loss : 0.00466 +rel_err:0.008212809395154846 +Epoch 390 Reg : 0.06396 Train loss : 0.00528 +rel_err:0.006833954859418439 +Epoch 391 Reg : 0.06250 Train loss : 0.00465 +rel_err:0.006433733019830871 +Epoch 392 Reg : 0.06306 Train loss : 0.00458 +rel_err:0.0061765316892812994 +Epoch 393 Reg : 0.06314 Train loss : 0.00477 +rel_err:0.00653206948052081 +Epoch 394 Reg : 0.06233 Train loss : 0.00446 +rel_err:0.006972743945683175 +Epoch 395 Reg : 0.06211 Train loss : 0.00434 +rel_err:0.007924709799663414 +Epoch 396 Reg : 0.06272 Train loss : 0.00455 +rel_err:0.006234697104381363 +Epoch 397 Reg : 0.06287 Train loss : 0.00460 +rel_err:0.006315903563368463 +Epoch 398 Reg : 0.06214 Train loss : 0.00434 +rel_err:0.0061588672176680305 +Epoch 399 Reg : 0.06121 Train loss : 0.00397 +rel_err:0.006613790993915681 +Epoch 400 Reg : 0.06195 Train loss : 0.00427 +rel_err:0.006239615756836473 +save model +Epoch 401 Reg : 0.06198 Train loss : 0.00438 +rel_err:0.006511623240944866 +Epoch 402 Reg : 0.06247 Train loss : 0.00453 +rel_err:0.006952308314548148 +Epoch 403 Reg : 0.06191 Train loss : 0.00419 +rel_err:0.006346050388800279 +Epoch 404 Reg : 0.06132 Train loss : 0.00404 +rel_err:0.006211258816224475 +Epoch 405 Reg : 0.06179 Train loss : 0.00415 +rel_err:0.006608099900754692 +Epoch 406 Reg : 0.06186 Train loss : 0.00419 +rel_err:0.006130295844227533 +Epoch 407 Reg : 0.06121 Train loss : 0.00395 +rel_err:0.006373320343713574 +Epoch 408 Reg : 0.06178 Train loss : 0.00434 +rel_err:0.0067599420405145385 +Epoch 409 Reg : 0.06164 Train loss : 0.00413 +rel_err:0.006032655434746323 +Epoch 410 Reg : 0.06111 Train loss : 0.00400 +rel_err:0.006067294236122653 +Epoch 411 Reg : 0.06133 Train loss : 0.00407 +rel_err:0.00640627391577557 +Epoch 412 Reg : 0.06146 Train loss : 0.00407 +rel_err:0.006539425704665852 +Epoch 413 Reg : 0.06176 Train loss : 0.00428 +rel_err:0.006133551938262682 +Epoch 414 Reg : 0.06109 Train loss : 0.00393 +rel_err:0.006157934870742211 +Epoch 415 Reg : 0.06097 Train loss : 0.00391 +rel_err:0.006192544324116558 +Epoch 416 Reg : 0.06135 Train loss : 0.00418 +rel_err:0.006395347588829338 +Epoch 417 Reg : 0.06105 Train loss : 0.00403 +rel_err:0.006353267851434759 +Epoch 418 Reg : 0.06093 Train loss : 0.00396 +rel_err:0.0062606579829137966 +Epoch 419 Reg : 0.06096 Train loss : 0.00395 +rel_err:0.0062090686962823025 +Epoch 420 Reg : 0.06075 Train loss : 0.00389 +rel_err:0.006181056149657282 +Epoch 421 Reg : 0.06054 Train loss : 0.00379 +rel_err:0.005955667334271962 +Epoch 422 Reg : 0.06056 Train loss : 0.00374 +rel_err:0.006172403188280905 +Epoch 423 Reg : 0.06071 Train loss : 0.00398 +rel_err:0.006091167578590472 +Epoch 424 Reg : 0.06051 Train loss : 0.00384 +rel_err:0.006056659948136704 +Epoch 425 Reg : 0.06066 Train loss : 0.00382 +rel_err:0.00629667547562058 +Epoch 426 Reg : 0.06012 Train loss : 0.00364 +rel_err:0.00625357636268576 +Epoch 427 Reg : 0.06043 Train loss : 0.00384 +rel_err:0.006569742576059277 +Epoch 428 Reg : 0.06018 Train loss : 0.00363 +rel_err:0.0063958439736052815 +Epoch 429 Reg : 0.06024 Train loss : 0.00370 +rel_err:0.005901592337037362 +Epoch 430 Reg : 0.06003 Train loss : 0.00367 +rel_err:0.0059777503358185114 +Epoch 431 Reg : 0.06019 Train loss : 0.00373 +rel_err:0.007062605680187046 +Epoch 432 Reg : 0.06019 Train loss : 0.00366 +rel_err:0.005973735391095762 +Epoch 433 Reg : 0.06000 Train loss : 0.00363 +rel_err:0.006083048378746317 +Epoch 434 Reg : 0.06007 Train loss : 0.00361 +rel_err:0.006514798608703818 +Epoch 435 Reg : 0.06026 Train loss : 0.00371 +rel_err:0.0058662523013769015 +Epoch 436 Reg : 0.05966 Train loss : 0.00342 +rel_err:0.006083071025786162 +Epoch 437 Reg : 0.05996 Train loss : 0.00356 +rel_err:0.005925631779055512 +Epoch 438 Reg : 0.05976 Train loss : 0.00351 +rel_err:0.0058367925093633 +Epoch 439 Reg : 0.05977 Train loss : 0.00355 +rel_err:0.0061703619719804936 +Epoch 440 Reg : 0.05982 Train loss : 0.00348 +rel_err:0.0059054170407790065 +Epoch 441 Reg : 0.05958 Train loss : 0.00338 +rel_err:0.005791797844378728 +Epoch 442 Reg : 0.05964 Train loss : 0.00339 +rel_err:0.006190180068731446 +Epoch 443 Reg : 0.05989 Train loss : 0.00360 +rel_err:0.005966013720946351 +Epoch 444 Reg : 0.05955 Train loss : 0.00344 +rel_err:0.005885041744468791 +Epoch 445 Reg : 0.05933 Train loss : 0.00333 +rel_err:0.0061630027294271895 +Epoch 446 Reg : 0.05936 Train loss : 0.00330 +rel_err:0.005962109498931647 +Epoch 447 Reg : 0.05952 Train loss : 0.00339 +rel_err:0.005895653546947862 +Epoch 448 Reg : 0.05933 Train loss : 0.00327 +rel_err:0.0058602359550403715 +Epoch 449 Reg : 0.05953 Train loss : 0.00343 +rel_err:0.005985869677075361 +Epoch 450 Reg : 0.05944 Train loss : 0.00341 +rel_err:0.005793978305096312 +Epoch 451 Reg : 0.05911 Train loss : 0.00324 +rel_err:0.0062001732085809535 +Epoch 452 Reg : 0.05932 Train loss : 0.00333 +rel_err:0.006139169952658813 +Epoch 453 Reg : 0.05911 Train loss : 0.00323 +rel_err:0.005833126767555184 +Epoch 454 Reg : 0.05913 Train loss : 0.00327 +rel_err:0.006205332226369618 +Epoch 455 Reg : 0.05935 Train loss : 0.00338 +rel_err:0.005904517676469306 +Epoch 456 Reg : 0.05917 Train loss : 0.00333 +rel_err:0.00586046762865598 +Epoch 457 Reg : 0.05904 Train loss : 0.00326 +rel_err:0.00577483069759824 +Epoch 458 Reg : 0.05905 Train loss : 0.00323 +rel_err:0.005880582878440343 +Epoch 459 Reg : 0.05901 Train loss : 0.00319 +rel_err:0.005952249014505869 +Epoch 460 Reg : 0.05900 Train loss : 0.00324 +rel_err:0.00586569651849324 +Epoch 461 Reg : 0.05907 Train loss : 0.00329 +rel_err:0.005735109293781931 +Epoch 462 Reg : 0.05881 Train loss : 0.00311 +rel_err:0.005861540047188968 +Epoch 463 Reg : 0.05888 Train loss : 0.00316 +rel_err:0.0058020198577205286 +Epoch 464 Reg : 0.05886 Train loss : 0.00317 +rel_err:0.006014268911265508 +Epoch 465 Reg : 0.05879 Train loss : 0.00316 +rel_err:0.005840166296778816 +Epoch 466 Reg : 0.05875 Train loss : 0.00309 +rel_err:0.00602540944279621 +Epoch 467 Reg : 0.05878 Train loss : 0.00318 +rel_err:0.005800210889560269 +Epoch 468 Reg : 0.05860 Train loss : 0.00304 +rel_err:0.0059671373424188216 +Epoch 469 Reg : 0.05861 Train loss : 0.00305 +rel_err:0.006009668832180214 +Epoch 470 Reg : 0.05867 Train loss : 0.00316 +rel_err:0.006075145255054863 +Epoch 471 Reg : 0.05879 Train loss : 0.00320 +rel_err:0.005855669794277298 +Epoch 472 Reg : 0.05875 Train loss : 0.00316 +rel_err:0.005815002610557876 +Epoch 473 Reg : 0.05883 Train loss : 0.00319 +rel_err:0.0057999804375166 +Epoch 474 Reg : 0.05859 Train loss : 0.00308 +rel_err:0.005824764830975561 +Epoch 475 Reg : 0.05853 Train loss : 0.00305 +rel_err:0.005728932675475528 +Epoch 476 Reg : 0.05851 Train loss : 0.00304 +rel_err:0.006049909243794462 +Epoch 477 Reg : 0.05833 Train loss : 0.00299 +rel_err:0.005702523508917123 +Epoch 478 Reg : 0.05843 Train loss : 0.00300 +rel_err:0.005926669727331264 +Epoch 479 Reg : 0.05859 Train loss : 0.00309 +rel_err:0.005951073842837259 +Epoch 480 Reg : 0.05843 Train loss : 0.00303 +rel_err:0.006172725611929174 +Epoch 481 Reg : 0.05841 Train loss : 0.00305 +rel_err:0.0057943410277128985 +Epoch 482 Reg : 0.05835 Train loss : 0.00297 +rel_err:0.0057681694218043875 +Epoch 483 Reg : 0.05835 Train loss : 0.00295 +rel_err:0.005756761227214246 +Epoch 484 Reg : 0.05830 Train loss : 0.00300 +rel_err:0.005707230148088751 +Epoch 485 Reg : 0.05834 Train loss : 0.00301 +rel_err:0.0057735859423362545 +Epoch 486 Reg : 0.05842 Train loss : 0.00306 +rel_err:0.005908994628899159 +Epoch 487 Reg : 0.05823 Train loss : 0.00295 +rel_err:0.00572415794207294 +Epoch 488 Reg : 0.05823 Train loss : 0.00295 +rel_err:0.005724068251984909 +Epoch 489 Reg : 0.05822 Train loss : 0.00294 +rel_err:0.005902427128556351 +Epoch 490 Reg : 0.05829 Train loss : 0.00296 +rel_err:0.005749184796003146 +Epoch 491 Reg : 0.05818 Train loss : 0.00294 +rel_err:0.005740435218427808 +Epoch 492 Reg : 0.05810 Train loss : 0.00294 +rel_err:0.005757166734380294 +Epoch 493 Reg : 0.05813 Train loss : 0.00294 +rel_err:0.005954227296183286 +Epoch 494 Reg : 0.05821 Train loss : 0.00300 +rel_err:0.005665377045597952 +Epoch 495 Reg : 0.05814 Train loss : 0.00299 +rel_err:0.005744559837380476 +Epoch 496 Reg : 0.05807 Train loss : 0.00291 +rel_err:0.005679850532716947 +Epoch 497 Reg : 0.05823 Train loss : 0.00301 +rel_err:0.0058559157802444166 +Epoch 498 Reg : 0.05812 Train loss : 0.00295 +rel_err:0.005707793554128999 +Epoch 499 Reg : 0.05797 Train loss : 0.00291 +rel_err:0.00567440442168881 +save model \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_E.log new file mode 100644 index 0000000000..13903a7500 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_E.log @@ -0,0 +1,238 @@ +W1029 22:11:04.367118 877827 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1029 22:11:04.367600 877827 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +(2000, 972) (2000, 972, 2) +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Irregular_Mesh', n_hidden=128, n_layers=8, n_heads=8, batch_size=1, gpu=0, max_grad_norm=0.1, downsample=5, mlp_ratio=1, dropout=0.0, ntrain=1000, unified_pos=0, ref=8, slice_num=64, eval=1, save_name='elas_Transolver', data_path='data/fno') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=2, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp2): Linear(in_features=128, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 713665 +1 +2 +3 +4 +5 +6 +7 +8 +9 +rel_err : 0.005738210307899862 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_T.log new file mode 100644 index 0000000000..8f81ead6d0 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_T.log @@ -0,0 +1,1235 @@ +nohup: ignoring input +W1028 14:47:29.129204 43203 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1028 14:47:29.129990 43203 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +(2000, 972) (2000, 972, 2) +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Irregular_Mesh', n_hidden=128, n_layers=8, n_heads=8, batch_size=1, gpu=3, max_grad_norm=0.1, downsample=5, mlp_ratio=1, dropout=0.0, ntrain=1000, unified_pos=0, ref=8, slice_num=64, eval=0, save_name='elas_Transolver', data_path='data/fno') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=2, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Irregular_Mesh( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Linear(in_features=128, out_features=128, dtype=None) + (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=128, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp2): Linear(in_features=128, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 713665 +Epoch 0 Train loss : 0.50527 +rel_err : 0.4928458055853844 +save model +Epoch 1 Train loss : 0.49547 +rel_err : 0.4930387295782566 +Epoch 2 Train loss : 0.41779 +rel_err : 0.3417572039365768 +Epoch 3 Train loss : 0.34173 +rel_err : 0.31474135756492616 +Epoch 4 Train loss : 0.31910 +rel_err : 0.33272456996142863 +Epoch 5 Train loss : 0.30576 +rel_err : 0.30401262290775777 +Epoch 6 Train loss : 0.29893 +rel_err : 0.2784158104658127 +Epoch 7 Train loss : 0.29096 +rel_err : 0.2811198070645332 +Epoch 8 Train loss : 0.23230 +rel_err : 0.199337754920125 +Epoch 9 Train loss : 0.16510 +rel_err : 0.14113637626171113 +Epoch 10 Train loss : 0.13292 +rel_err : 0.11250998832285404 +Epoch 11 Train loss : 0.11117 +rel_err : 0.09930350847542285 +Epoch 12 Train loss : 0.09795 +rel_err : 0.09799425948411226 +Epoch 13 Train loss : 0.08832 +rel_err : 0.08056002493947745 +Epoch 14 Train loss : 0.08104 +rel_err : 0.07249628230929375 +Epoch 15 Train loss : 0.07529 +rel_err : 0.06672100447118283 +Epoch 16 Train loss : 0.07099 +rel_err : 0.06396161248907446 +Epoch 17 Train loss : 0.06833 +rel_err : 0.06312856838107109 +Epoch 18 Train loss : 0.06393 +rel_err : 0.058775261603295804 +Epoch 19 Train loss : 0.06201 +rel_err : 0.06045579666271806 +Epoch 20 Train loss : 0.05940 +rel_err : 0.05058161117136478 +Epoch 21 Train loss : 0.05709 +rel_err : 0.055209692530334 +Epoch 22 Train loss : 0.05542 +rel_err : 0.05489101143553853 +Epoch 23 Train loss : 0.05318 +rel_err : 0.05290150282904506 +Epoch 24 Train loss : 0.05102 +rel_err : 0.05454464660957456 +Epoch 25 Train loss : 0.04991 +rel_err : 0.05821479130536318 +Epoch 26 Train loss : 0.04937 +rel_err : 0.05568335484713316 +Epoch 27 Train loss : 0.04785 +rel_err : 0.04601109626702964 +Epoch 28 Train loss : 0.04668 +rel_err : 0.04154731900431216 +Epoch 29 Train loss : 0.04594 +rel_err : 0.04372043211013079 +Epoch 30 Train loss : 0.04516 +rel_err : 0.04131630040705204 +Epoch 31 Train loss : 0.04308 +rel_err : 0.04253981255926192 +Epoch 32 Train loss : 0.04241 +rel_err : 0.037662639655172823 +Epoch 33 Train loss : 0.04241 +rel_err : 0.03970469704829156 +Epoch 34 Train loss : 0.04035 +rel_err : 0.03457174719311297 +Epoch 35 Train loss : 0.04072 +rel_err : 0.04407962655648589 +Epoch 36 Train loss : 0.04013 +rel_err : 0.04182336767204106 +Epoch 37 Train loss : 0.03885 +rel_err : 0.03614180795848369 +Epoch 38 Train loss : 0.03840 +rel_err : 0.03691693008877337 +Epoch 39 Train loss : 0.03783 +rel_err : 0.03814959693700075 +Epoch 40 Train loss : 0.03732 +rel_err : 0.03743300396949053 +Epoch 41 Train loss : 0.03780 +rel_err : 0.0363075983710587 +Epoch 42 Train loss : 0.03641 +rel_err : 0.038878945354372266 +Epoch 43 Train loss : 0.03551 +rel_err : 0.03386966086924076 +Epoch 44 Train loss : 0.03550 +rel_err : 0.04761407498270273 +Epoch 45 Train loss : 0.03461 +rel_err : 0.04085957646369934 +Epoch 46 Train loss : 0.03469 +rel_err : 0.037754489704966546 +Epoch 47 Train loss : 0.03332 +rel_err : 0.035637550316751004 +Epoch 48 Train loss : 0.03337 +rel_err : 0.030121346786618233 +Epoch 49 Train loss : 0.03227 +rel_err : 0.031646316163241865 +Epoch 50 Train loss : 0.03205 +rel_err : 0.03661271367222071 +Epoch 51 Train loss : 0.03282 +rel_err : 0.03371460893191397 +Epoch 52 Train loss : 0.03129 +rel_err : 0.03260266057215631 +Epoch 53 Train loss : 0.03092 +rel_err : 0.033301334772258995 +Epoch 54 Train loss : 0.03091 +rel_err : 0.027692433912307024 +Epoch 55 Train loss : 0.03065 +rel_err : 0.028300626846030356 +Epoch 56 Train loss : 0.03024 +rel_err : 0.03169308492913842 +Epoch 57 Train loss : 0.02969 +rel_err : 0.02892692225985229 +Epoch 58 Train loss : 0.02950 +rel_err : 0.02899242957122624 +Epoch 59 Train loss : 0.02870 +rel_err : 0.03172356347553432 +Epoch 60 Train loss : 0.02836 +rel_err : 0.03158080423250795 +Epoch 61 Train loss : 0.02840 +rel_err : 0.034539617765694856 +Epoch 62 Train loss : 0.02859 +rel_err : 0.030055153761059047 +Epoch 63 Train loss : 0.02818 +rel_err : 0.026866596303880216 +Epoch 64 Train loss : 0.02746 +rel_err : 0.028641049787402152 +Epoch 65 Train loss : 0.02707 +rel_err : 0.025500690937042235 +Epoch 66 Train loss : 0.02681 +rel_err : 0.031241756305098532 +Epoch 67 Train loss : 0.02675 +rel_err : 0.02748244073241949 +Epoch 68 Train loss : 0.02742 +rel_err : 0.023501354530453683 +Epoch 69 Train loss : 0.02675 +rel_err : 0.02706950418185443 +Epoch 70 Train loss : 0.02695 +rel_err : 0.027639388423413038 +Epoch 71 Train loss : 0.02641 +rel_err : 0.025018572388216854 +Epoch 72 Train loss : 0.02620 +rel_err : 0.028734515430405737 +Epoch 73 Train loss : 0.02545 +rel_err : 0.027182340025901794 +Epoch 74 Train loss : 0.02638 +rel_err : 0.023639509747736157 +Epoch 75 Train loss : 0.02494 +rel_err : 0.024797956962138414 +Epoch 76 Train loss : 0.02494 +rel_err : 0.02536969623528421 +Epoch 77 Train loss : 0.02447 +rel_err : 0.023988552507944405 +Epoch 78 Train loss : 0.02423 +rel_err : 0.0236690371716395 +Epoch 79 Train loss : 0.02351 +rel_err : 0.022138272915035485 +Epoch 80 Train loss : 0.02368 +rel_err : 0.027178788492456078 +Epoch 81 Train loss : 0.02366 +rel_err : 0.02525300145149231 +Epoch 82 Train loss : 0.02381 +rel_err : 0.024068832118064164 +Epoch 83 Train loss : 0.02321 +rel_err : 0.02265511547215283 +Epoch 84 Train loss : 0.02331 +rel_err : 0.02550859690643847 +Epoch 85 Train loss : 0.02316 +rel_err : 0.022721653636544943 +Epoch 86 Train loss : 0.02290 +rel_err : 0.023377900435589252 +Epoch 87 Train loss : 0.02303 +rel_err : 0.025972986221313478 +Epoch 88 Train loss : 0.02246 +rel_err : 0.022943506063893438 +Epoch 89 Train loss : 0.02302 +rel_err : 0.022063803714700042 +Epoch 90 Train loss : 0.02261 +rel_err : 0.02206503021530807 +Epoch 91 Train loss : 0.02202 +rel_err : 0.022548055103980006 +Epoch 92 Train loss : 0.02164 +rel_err : 0.02213806862011552 +Epoch 93 Train loss : 0.02150 +rel_err : 0.024185229875147343 +Epoch 94 Train loss : 0.02137 +rel_err : 0.02188198278658092 +Epoch 95 Train loss : 0.02173 +rel_err : 0.01976286467630416 +Epoch 96 Train loss : 0.02096 +rel_err : 0.01991409866604954 +Epoch 97 Train loss : 0.02115 +rel_err : 0.02335481916088611 +Epoch 98 Train loss : 0.02151 +rel_err : 0.021420072666369378 +Epoch 99 Train loss : 0.02152 +rel_err : 0.019507074374705554 +Epoch 100 Train loss : 0.02104 +rel_err : 0.021247347691096364 +save model +Epoch 101 Train loss : 0.02138 +rel_err : 0.021904624816961586 +Epoch 102 Train loss : 0.02023 +rel_err : 0.018125628335401416 +Epoch 103 Train loss : 0.02058 +rel_err : 0.023522657300345598 +Epoch 104 Train loss : 0.02006 +rel_err : 0.019371787514537574 +Epoch 105 Train loss : 0.02062 +rel_err : 0.020856450032442807 +Epoch 106 Train loss : 0.01982 +rel_err : 0.01826349837705493 +Epoch 107 Train loss : 0.02000 +rel_err : 0.020720547679811716 +Epoch 108 Train loss : 0.01955 +rel_err : 0.018058796538971366 +Epoch 109 Train loss : 0.01972 +rel_err : 0.01877673969604075 +Epoch 110 Train loss : 0.01956 +rel_err : 0.020320305633358657 +Epoch 111 Train loss : 0.02001 +rel_err : 0.020939602702856063 +Epoch 112 Train loss : 0.02003 +rel_err : 0.018005865919403733 +Epoch 113 Train loss : 0.01927 +rel_err : 0.020868125101551414 +Epoch 114 Train loss : 0.01923 +rel_err : 0.01840687348973006 +Epoch 115 Train loss : 0.01877 +rel_err : 0.019681794601492584 +Epoch 116 Train loss : 0.01908 +rel_err : 0.020033044749870898 +Epoch 117 Train loss : 0.01898 +rel_err : 0.017470475495792927 +Epoch 118 Train loss : 0.01859 +rel_err : 0.01727344948332757 +Epoch 119 Train loss : 0.01858 +rel_err : 0.01958816613536328 +Epoch 120 Train loss : 0.01847 +rel_err : 0.018960181823931634 +Epoch 121 Train loss : 0.01835 +rel_err : 0.01852527817245573 +Epoch 122 Train loss : 0.01795 +rel_err : 0.01721401541493833 +Epoch 123 Train loss : 0.01828 +rel_err : 0.01827962023206055 +Epoch 124 Train loss : 0.01865 +rel_err : 0.018871314097195863 +Epoch 125 Train loss : 0.01825 +rel_err : 0.019962781402282418 +Epoch 126 Train loss : 0.01777 +rel_err : 0.020373117509298027 +Epoch 127 Train loss : 0.01785 +rel_err : 0.01869319923222065 +Epoch 128 Train loss : 0.01819 +rel_err : 0.0231687173852697 +Epoch 129 Train loss : 0.01809 +rel_err : 0.01672606755513698 +Epoch 130 Train loss : 0.01840 +rel_err : 0.018857779274694623 +Epoch 131 Train loss : 0.01787 +rel_err : 0.01976757291238755 +Epoch 132 Train loss : 0.01743 +rel_err : 0.01751714568119496 +Epoch 133 Train loss : 0.01771 +rel_err : 0.027958214394748212 +Epoch 134 Train loss : 0.01763 +rel_err : 0.018532726536504923 +Epoch 135 Train loss : 0.01691 +rel_err : 0.019841591292060912 +Epoch 136 Train loss : 0.01754 +rel_err : 0.017964826258830727 +Epoch 137 Train loss : 0.01735 +rel_err : 0.017845007963478564 +Epoch 138 Train loss : 0.01725 +rel_err : 0.01821020242758095 +Epoch 139 Train loss : 0.01732 +rel_err : 0.015793367680162193 +Epoch 140 Train loss : 0.01711 +rel_err : 0.016938590072095396 +Epoch 141 Train loss : 0.01658 +rel_err : 0.016749423760920763 +Epoch 142 Train loss : 0.01640 +rel_err : 0.015117226052097976 +Epoch 143 Train loss : 0.01653 +rel_err : 0.01795262052677572 +Epoch 144 Train loss : 0.01656 +rel_err : 0.014200498363934458 +Epoch 145 Train loss : 0.01635 +rel_err : 0.020260269436985254 +Epoch 146 Train loss : 0.01653 +rel_err : 0.01761292526498437 +Epoch 147 Train loss : 0.01673 +rel_err : 0.017141446727328 +Epoch 148 Train loss : 0.01621 +rel_err : 0.016620017485693098 +Epoch 149 Train loss : 0.01591 +rel_err : 0.015433966731652617 +Epoch 150 Train loss : 0.01649 +rel_err : 0.018027980513870716 +Epoch 151 Train loss : 0.01597 +rel_err : 0.016549004898406564 +Epoch 152 Train loss : 0.01575 +rel_err : 0.016474606958217917 +Epoch 153 Train loss : 0.01562 +rel_err : 0.015868264194577934 +Epoch 154 Train loss : 0.01602 +rel_err : 0.015988515107892454 +Epoch 155 Train loss : 0.01579 +rel_err : 0.015151645224541425 +Epoch 156 Train loss : 0.01534 +rel_err : 0.018244406823068857 +Epoch 157 Train loss : 0.01563 +rel_err : 0.01702604189515114 +Epoch 158 Train loss : 0.01536 +rel_err : 0.016139338542707264 +Epoch 159 Train loss : 0.01520 +rel_err : 0.014576280014589429 +Epoch 160 Train loss : 0.01500 +rel_err : 0.015108055495657026 +Epoch 161 Train loss : 0.01477 +rel_err : 0.016131732817739247 +Epoch 162 Train loss : 0.01493 +rel_err : 0.014378665620461107 +Epoch 163 Train loss : 0.01471 +rel_err : 0.014610733059234916 +Epoch 164 Train loss : 0.01469 +rel_err : 0.015427802153863013 +Epoch 165 Train loss : 0.01474 +rel_err : 0.014239805252291262 +Epoch 166 Train loss : 0.01514 +rel_err : 0.015748605746775866 +Epoch 167 Train loss : 0.01478 +rel_err : 0.013603336573578418 +Epoch 168 Train loss : 0.01448 +rel_err : 0.015577710396610201 +Epoch 169 Train loss : 0.01448 +rel_err : 0.014246591227129101 +Epoch 170 Train loss : 0.01448 +rel_err : 0.0144843256380409 +Epoch 171 Train loss : 0.01423 +rel_err : 0.015141554274596274 +Epoch 172 Train loss : 0.01412 +rel_err : 0.015082955448888243 +Epoch 173 Train loss : 0.01468 +rel_err : 0.014226222718134523 +Epoch 174 Train loss : 0.01447 +rel_err : 0.015253519508987665 +Epoch 175 Train loss : 0.01398 +rel_err : 0.014382359399460256 +Epoch 176 Train loss : 0.01383 +rel_err : 0.014352490599267185 +Epoch 177 Train loss : 0.01387 +rel_err : 0.015108394213020801 +Epoch 178 Train loss : 0.01423 +rel_err : 0.015229456126689911 +Epoch 179 Train loss : 0.01377 +rel_err : 0.013867620322853326 +Epoch 180 Train loss : 0.01328 +rel_err : 0.01568394116126001 +Epoch 181 Train loss : 0.01367 +rel_err : 0.013435025978833438 +Epoch 182 Train loss : 0.01367 +rel_err : 0.014671732746064663 +Epoch 183 Train loss : 0.01381 +rel_err : 0.012831169236451388 +Epoch 184 Train loss : 0.01366 +rel_err : 0.014111647703684867 +Epoch 185 Train loss : 0.01334 +rel_err : 0.014439499475993217 +Epoch 186 Train loss : 0.01364 +rel_err : 0.01369770455174148 +Epoch 187 Train loss : 0.01329 +rel_err : 0.017203624239191414 +Epoch 188 Train loss : 0.01340 +rel_err : 0.01469937783665955 +Epoch 189 Train loss : 0.01331 +rel_err : 0.012617705462034792 +Epoch 190 Train loss : 0.01353 +rel_err : 0.013162207924760878 +Epoch 191 Train loss : 0.01305 +rel_err : 0.014373883646912873 +Epoch 192 Train loss : 0.01287 +rel_err : 0.015274285632185637 +Epoch 193 Train loss : 0.01293 +rel_err : 0.013688712664879858 +Epoch 194 Train loss : 0.01311 +rel_err : 0.012247329915408046 +Epoch 195 Train loss : 0.01249 +rel_err : 0.013325735558755696 +Epoch 196 Train loss : 0.01294 +rel_err : 0.015838980064727365 +Epoch 197 Train loss : 0.01242 +rel_err : 0.01399831322953105 +Epoch 198 Train loss : 0.01267 +rel_err : 0.013350179665721953 +Epoch 199 Train loss : 0.01263 +rel_err : 0.012003755168989301 +Epoch 200 Train loss : 0.01255 +rel_err : 0.014469051738269628 +save model +Epoch 201 Train loss : 0.01324 +rel_err : 0.014189919945783913 +Epoch 202 Train loss : 0.01214 +rel_err : 0.011201502142939716 +Epoch 203 Train loss : 0.01250 +rel_err : 0.014117432055063545 +Epoch 204 Train loss : 0.01224 +rel_err : 0.014305297080427408 +Epoch 205 Train loss : 0.01221 +rel_err : 0.013465039753355086 +Epoch 206 Train loss : 0.01202 +rel_err : 0.01348799638915807 +Epoch 207 Train loss : 0.01236 +rel_err : 0.012618355809245259 +Epoch 208 Train loss : 0.01219 +rel_err : 0.013151284945197404 +Epoch 209 Train loss : 0.01195 +rel_err : 0.012957125939428805 +Epoch 210 Train loss : 0.01203 +rel_err : 0.01263442838564515 +Epoch 211 Train loss : 0.01220 +rel_err : 0.012199981757439672 +Epoch 212 Train loss : 0.01188 +rel_err : 0.012594883900601418 +Epoch 213 Train loss : 0.01208 +rel_err : 0.013116095210425555 +Epoch 214 Train loss : 0.01170 +rel_err : 0.012714304835535586 +Epoch 215 Train loss : 0.01149 +rel_err : 0.01310412255115807 +Epoch 216 Train loss : 0.01176 +rel_err : 0.011738384934142232 +Epoch 217 Train loss : 0.01149 +rel_err : 0.012261931055691093 +Epoch 218 Train loss : 0.01141 +rel_err : 0.012025765243452042 +Epoch 219 Train loss : 0.01146 +rel_err : 0.011942327553406358 +Epoch 220 Train loss : 0.01151 +rel_err : 0.01211716036312282 +Epoch 221 Train loss : 0.01123 +rel_err : 0.01137038188520819 +Epoch 222 Train loss : 0.01127 +rel_err : 0.011376020482275635 +Epoch 223 Train loss : 0.01139 +rel_err : 0.011710856789723039 +Epoch 224 Train loss : 0.01115 +rel_err : 0.011486114200670272 +Epoch 225 Train loss : 0.01121 +rel_err : 0.011062581611331552 +Epoch 226 Train loss : 0.01131 +rel_err : 0.013016942262183875 +Epoch 227 Train loss : 0.01112 +rel_err : 0.012230634028092026 +Epoch 228 Train loss : 0.01111 +rel_err : 0.011544570266269148 +Epoch 229 Train loss : 0.01123 +rel_err : 0.011018043830990792 +Epoch 230 Train loss : 0.01072 +rel_err : 0.011943799366708845 +Epoch 231 Train loss : 0.01085 +rel_err : 0.011099952638614923 +Epoch 232 Train loss : 0.01086 +rel_err : 0.012464479280170053 +Epoch 233 Train loss : 0.01083 +rel_err : 0.013630995089188217 +Epoch 234 Train loss : 0.01085 +rel_err : 0.012538985570427031 +Epoch 235 Train loss : 0.01044 +rel_err : 0.011350689120590687 +Epoch 236 Train loss : 0.01075 +rel_err : 0.011598919187672436 +Epoch 237 Train loss : 0.01085 +rel_err : 0.011966711524873972 +Epoch 238 Train loss : 0.01059 +rel_err : 0.011551386597566306 +Epoch 239 Train loss : 0.01029 +rel_err : 0.011872775841038675 +Epoch 240 Train loss : 0.01054 +rel_err : 0.01044159211916849 +Epoch 241 Train loss : 0.01056 +rel_err : 0.011272511752322316 +Epoch 242 Train loss : 0.01041 +rel_err : 0.010521676449570805 +Epoch 243 Train loss : 0.01032 +rel_err : 0.010447185030207038 +Epoch 244 Train loss : 0.01017 +rel_err : 0.010606277463957668 +Epoch 245 Train loss : 0.01038 +rel_err : 0.01171552208950743 +Epoch 246 Train loss : 0.01028 +rel_err : 0.012849475988186896 +Epoch 247 Train loss : 0.00992 +rel_err : 0.010566716832108795 +Epoch 248 Train loss : 0.01000 +rel_err : 0.01128078239504248 +Epoch 249 Train loss : 0.01012 +rel_err : 0.01046867003897205 +Epoch 250 Train loss : 0.00995 +rel_err : 0.010339207702782006 +Epoch 251 Train loss : 0.00995 +rel_err : 0.012024465131107718 +Epoch 252 Train loss : 0.00978 +rel_err : 0.010895012808032335 +Epoch 253 Train loss : 0.00999 +rel_err : 0.011433980138972401 +Epoch 254 Train loss : 0.00965 +rel_err : 0.01056017139228061 +Epoch 255 Train loss : 0.00989 +rel_err : 0.011156710111536086 +Epoch 256 Train loss : 0.00971 +rel_err : 0.011243307469412685 +Epoch 257 Train loss : 0.00970 +rel_err : 0.013299606214277447 +Epoch 258 Train loss : 0.00986 +rel_err : 0.011794505461584776 +Epoch 259 Train loss : 0.00955 +rel_err : 0.011030801425222307 +Epoch 260 Train loss : 0.00938 +rel_err : 0.010452794418670237 +Epoch 261 Train loss : 0.00942 +rel_err : 0.010597894901875406 +Epoch 262 Train loss : 0.00936 +rel_err : 0.010196231349837034 +Epoch 263 Train loss : 0.00931 +rel_err : 0.009260615552775561 +Epoch 264 Train loss : 0.00956 +rel_err : 0.010652011446654796 +Epoch 265 Train loss : 0.00930 +rel_err : 0.00991451512556523 +Epoch 266 Train loss : 0.00907 +rel_err : 0.009858601931482554 +Epoch 267 Train loss : 0.00908 +rel_err : 0.010353890957776456 +Epoch 268 Train loss : 0.00929 +rel_err : 0.010870881357695907 +Epoch 269 Train loss : 0.00900 +rel_err : 0.010846890024840832 +Epoch 270 Train loss : 0.00903 +rel_err : 0.010043020446319132 +Epoch 271 Train loss : 0.00927 +rel_err : 0.010442192517220974 +Epoch 272 Train loss : 0.00892 +rel_err : 0.009386628600768745 +Epoch 273 Train loss : 0.00912 +rel_err : 0.010089947243686765 +Epoch 274 Train loss : 0.00893 +rel_err : 0.009613703375216574 +Epoch 275 Train loss : 0.00881 +rel_err : 0.010435651226434856 +Epoch 276 Train loss : 0.00877 +rel_err : 0.010033822716213763 +Epoch 277 Train loss : 0.00889 +rel_err : 0.009293053534347563 +Epoch 278 Train loss : 0.00865 +rel_err : 0.00920263551408425 +Epoch 279 Train loss : 0.00860 +rel_err : 0.009863549678120762 +Epoch 280 Train loss : 0.00858 +rel_err : 0.009843485350720584 +Epoch 281 Train loss : 0.00862 +rel_err : 0.009858786554541438 +Epoch 282 Train loss : 0.00873 +rel_err : 0.009491278191562742 +Epoch 283 Train loss : 0.00830 +rel_err : 0.009758489830419421 +Epoch 284 Train loss : 0.00835 +rel_err : 0.008530453506391495 +Epoch 285 Train loss : 0.00829 +rel_err : 0.010314446380361915 +Epoch 286 Train loss : 0.00841 +rel_err : 0.009006292165722699 +Epoch 287 Train loss : 0.00820 +rel_err : 0.009330237328540533 +Epoch 288 Train loss : 0.00831 +rel_err : 0.009170180256478488 +Epoch 289 Train loss : 0.00826 +rel_err : 0.008558273848611861 +Epoch 290 Train loss : 0.00817 +rel_err : 0.008929687954951077 +Epoch 291 Train loss : 0.00808 +rel_err : 0.008900556482840329 +Epoch 292 Train loss : 0.00807 +rel_err : 0.009340658255387097 +Epoch 293 Train loss : 0.00798 +rel_err : 0.008632342526689173 +Epoch 294 Train loss : 0.00803 +rel_err : 0.008966335176955909 +Epoch 295 Train loss : 0.00797 +rel_err : 0.008595124296844005 +Epoch 296 Train loss : 0.00794 +rel_err : 0.008726203532423824 +Epoch 297 Train loss : 0.00782 +rel_err : 0.008513471155893057 +Epoch 298 Train loss : 0.00786 +rel_err : 0.008679328204598278 +Epoch 299 Train loss : 0.00779 +rel_err : 0.009055584636516869 +Epoch 300 Train loss : 0.00789 +rel_err : 0.008476813768502324 +save model +Epoch 301 Train loss : 0.00786 +rel_err : 0.008948165697511286 +Epoch 302 Train loss : 0.00769 +rel_err : 0.008695108990650624 +Epoch 303 Train loss : 0.00756 +rel_err : 0.009020233938936145 +Epoch 304 Train loss : 0.00758 +rel_err : 0.009063416586723178 +Epoch 305 Train loss : 0.00769 +rel_err : 0.008353744351770729 +Epoch 306 Train loss : 0.00760 +rel_err : 0.008095518418122083 +Epoch 307 Train loss : 0.00753 +rel_err : 0.009388718479312956 +Epoch 308 Train loss : 0.00748 +rel_err : 0.008778039109893143 +Epoch 309 Train loss : 0.00725 +rel_err : 0.008574726078659296 +Epoch 310 Train loss : 0.00730 +rel_err : 0.009427331120241434 +Epoch 311 Train loss : 0.00735 +rel_err : 0.009748191621620208 +Epoch 312 Train loss : 0.00734 +rel_err : 0.008431857763789595 +Epoch 313 Train loss : 0.00727 +rel_err : 0.00813950399402529 +Epoch 314 Train loss : 0.00729 +rel_err : 0.00788907052250579 +Epoch 315 Train loss : 0.00715 +rel_err : 0.007739578471519053 +Epoch 316 Train loss : 0.00707 +rel_err : 0.008552527769934386 +Epoch 317 Train loss : 0.00734 +rel_err : 0.008625896326266229 +Epoch 318 Train loss : 0.00712 +rel_err : 0.008361640309449286 +Epoch 319 Train loss : 0.00703 +rel_err : 0.007873057490214705 +Epoch 320 Train loss : 0.00709 +rel_err : 0.008310356724541635 +Epoch 321 Train loss : 0.00704 +rel_err : 0.008363980539143086 +Epoch 322 Train loss : 0.00697 +rel_err : 0.00785284518962726 +Epoch 323 Train loss : 0.00685 +rel_err : 0.0075223700283095244 +Epoch 324 Train loss : 0.00691 +rel_err : 0.0079543361463584 +Epoch 325 Train loss : 0.00691 +rel_err : 0.008180617240723222 +Epoch 326 Train loss : 0.00672 +rel_err : 0.0077024632529355585 +Epoch 327 Train loss : 0.00668 +rel_err : 0.007826169598847627 +Epoch 328 Train loss : 0.00674 +rel_err : 0.007681607315316796 +Epoch 329 Train loss : 0.00673 +rel_err : 0.008048723903484642 +Epoch 330 Train loss : 0.00659 +rel_err : 0.00750729963183403 +Epoch 331 Train loss : 0.00655 +rel_err : 0.0076777978730387985 +Epoch 332 Train loss : 0.00647 +rel_err : 0.007747665420174599 +Epoch 333 Train loss : 0.00651 +rel_err : 0.007949063624255358 +Epoch 334 Train loss : 0.00662 +rel_err : 0.008559132535010576 +Epoch 335 Train loss : 0.00654 +rel_err : 0.007928345941472799 +Epoch 336 Train loss : 0.00637 +rel_err : 0.008018069157842547 +Epoch 337 Train loss : 0.00639 +rel_err : 0.00808527007466182 +Epoch 338 Train loss : 0.00640 +rel_err : 0.007865310329943895 +Epoch 339 Train loss : 0.00632 +rel_err : 0.007387441156897694 +Epoch 340 Train loss : 0.00623 +rel_err : 0.007540586991235614 +Epoch 341 Train loss : 0.00622 +rel_err : 0.007398792146705091 +Epoch 342 Train loss : 0.00624 +rel_err : 0.007542236752342433 +Epoch 343 Train loss : 0.00619 +rel_err : 0.007928734533488751 +Epoch 344 Train loss : 0.00624 +rel_err : 0.007379963512066752 +Epoch 345 Train loss : 0.00615 +rel_err : 0.007325853925431147 +Epoch 346 Train loss : 0.00621 +rel_err : 0.0076780108432285485 +Epoch 347 Train loss : 0.00611 +rel_err : 0.007252911132527515 +Epoch 348 Train loss : 0.00611 +rel_err : 0.007079645378980786 +Epoch 349 Train loss : 0.00607 +rel_err : 0.007360366443172097 +Epoch 350 Train loss : 0.00599 +rel_err : 0.007014994443161413 +Epoch 351 Train loss : 0.00600 +rel_err : 0.007161485196556896 +Epoch 352 Train loss : 0.00595 +rel_err : 0.007443869565613568 +Epoch 353 Train loss : 0.00595 +rel_err : 0.007397014204179868 +Epoch 354 Train loss : 0.00584 +rel_err : 0.007488142903894186 +Epoch 355 Train loss : 0.00583 +rel_err : 0.007123876244295388 +Epoch 356 Train loss : 0.00580 +rel_err : 0.007057803046191111 +Epoch 357 Train loss : 0.00577 +rel_err : 0.0069873724807985125 +Epoch 358 Train loss : 0.00577 +rel_err : 0.006952060810290277 +Epoch 359 Train loss : 0.00575 +rel_err : 0.007090294391382486 +Epoch 360 Train loss : 0.00569 +rel_err : 0.007211415339261293 +Epoch 361 Train loss : 0.00569 +rel_err : 0.007188036905135959 +Epoch 362 Train loss : 0.00565 +rel_err : 0.0069623768690507855 +Epoch 363 Train loss : 0.00566 +rel_err : 0.007190995791461319 +Epoch 364 Train loss : 0.00561 +rel_err : 0.006736106596654281 +Epoch 365 Train loss : 0.00556 +rel_err : 0.006929670593235642 +Epoch 366 Train loss : 0.00557 +rel_err : 0.007051306649809703 +Epoch 367 Train loss : 0.00551 +rel_err : 0.006998218223452568 +Epoch 368 Train loss : 0.00550 +rel_err : 0.006848063681973144 +Epoch 369 Train loss : 0.00551 +rel_err : 0.006702030067099258 +Epoch 370 Train loss : 0.00546 +rel_err : 0.006849416345357895 +Epoch 371 Train loss : 0.00539 +rel_err : 0.006885691522620618 +Epoch 372 Train loss : 0.00542 +rel_err : 0.006682852258672938 +Epoch 373 Train loss : 0.00541 +rel_err : 0.0067593917448539285 +Epoch 374 Train loss : 0.00535 +rel_err : 0.006633431419031694 +Epoch 375 Train loss : 0.00533 +rel_err : 0.006811670297756791 +Epoch 376 Train loss : 0.00532 +rel_err : 0.0066333753161598 +Epoch 377 Train loss : 0.00531 +rel_err : 0.006738448231481016 +Epoch 378 Train loss : 0.00527 +rel_err : 0.006702293461421505 +Epoch 379 Train loss : 0.00526 +rel_err : 0.0067172189918346704 +Epoch 380 Train loss : 0.00523 +rel_err : 0.006815580944530666 +Epoch 381 Train loss : 0.00522 +rel_err : 0.006606008769012988 +Epoch 382 Train loss : 0.00519 +rel_err : 0.006529581204522401 +Epoch 383 Train loss : 0.00519 +rel_err : 0.006495264314580708 +Epoch 384 Train loss : 0.00516 +rel_err : 0.006597779196454212 +Epoch 385 Train loss : 0.00514 +rel_err : 0.006602137362351641 +Epoch 386 Train loss : 0.00513 +rel_err : 0.006487995433853939 +Epoch 387 Train loss : 0.00509 +rel_err : 0.006423893029568717 +Epoch 388 Train loss : 0.00506 +rel_err : 0.006678657138254493 +Epoch 389 Train loss : 0.00506 +rel_err : 0.006478946126298979 +Epoch 390 Train loss : 0.00504 +rel_err : 0.006433891667984426 +Epoch 391 Train loss : 0.00501 +rel_err : 0.0064842163457069545 +Epoch 392 Train loss : 0.00501 +rel_err : 0.006393412016332149 +Epoch 393 Train loss : 0.00496 +rel_err : 0.006451940091792494 +Epoch 394 Train loss : 0.00495 +rel_err : 0.006391678425716236 +Epoch 395 Train loss : 0.00494 +rel_err : 0.006307929693721234 +Epoch 396 Train loss : 0.00492 +rel_err : 0.006365307800006121 +Epoch 397 Train loss : 0.00490 +rel_err : 0.006339509622193873 +Epoch 398 Train loss : 0.00488 +rel_err : 0.006258741515921429 +Epoch 399 Train loss : 0.00488 +rel_err : 0.006326908363262191 +Epoch 400 Train loss : 0.00484 +rel_err : 0.006228519245050848 +save model +Epoch 401 Train loss : 0.00484 +rel_err : 0.0062702122773043815 +Epoch 402 Train loss : 0.00480 +rel_err : 0.0062375174777116625 +Epoch 403 Train loss : 0.00481 +rel_err : 0.0062440806080121545 +Epoch 404 Train loss : 0.00478 +rel_err : 0.006147144925780595 +Epoch 405 Train loss : 0.00477 +rel_err : 0.006248337571742013 +Epoch 406 Train loss : 0.00476 +rel_err : 0.006200891545740887 +Epoch 407 Train loss : 0.00475 +rel_err : 0.006166158884298056 +Epoch 408 Train loss : 0.00471 +rel_err : 0.006178550042677671 +Epoch 409 Train loss : 0.00472 +rel_err : 0.0061805605853442105 +Epoch 410 Train loss : 0.00470 +rel_err : 0.006197454843204469 +Epoch 411 Train loss : 0.00469 +rel_err : 0.0061357352382037786 +Epoch 412 Train loss : 0.00466 +rel_err : 0.0061890215694438665 +Epoch 413 Train loss : 0.00465 +rel_err : 0.006171165590640158 +Epoch 414 Train loss : 0.00464 +rel_err : 0.006131292391801253 +Epoch 415 Train loss : 0.00462 +rel_err : 0.006152834789827466 +Epoch 416 Train loss : 0.00461 +rel_err : 0.006083522115368396 +Epoch 417 Train loss : 0.00460 +rel_err : 0.0060757822054438295 +Epoch 418 Train loss : 0.00459 +rel_err : 0.006079242032719776 +Epoch 419 Train loss : 0.00457 +rel_err : 0.006016814809991047 +Epoch 420 Train loss : 0.00456 +rel_err : 0.006082894137362019 +Epoch 421 Train loss : 0.00456 +rel_err : 0.0060316143813543025 +Epoch 422 Train loss : 0.00454 +rel_err : 0.006089536033105105 +Epoch 423 Train loss : 0.00453 +rel_err : 0.0060069041571114215 +Epoch 424 Train loss : 0.00452 +rel_err : 0.005959844960598275 +Epoch 425 Train loss : 0.00451 +rel_err : 0.005971281350357458 +Epoch 426 Train loss : 0.00449 +rel_err : 0.005964436765061691 +Epoch 427 Train loss : 0.00448 +rel_err : 0.005953675323398784 +Epoch 428 Train loss : 0.00447 +rel_err : 0.00599232101929374 +Epoch 429 Train loss : 0.00447 +rel_err : 0.006027189888991416 +Epoch 430 Train loss : 0.00446 +rel_err : 0.005955894904909656 +Epoch 431 Train loss : 0.00445 +rel_err : 0.0059545589669141915 +Epoch 432 Train loss : 0.00444 +rel_err : 0.005936475109774619 +Epoch 433 Train loss : 0.00443 +rel_err : 0.005930126159219071 +Epoch 434 Train loss : 0.00442 +rel_err : 0.005921151189832017 +Epoch 435 Train loss : 0.00441 +rel_err : 0.005965119446627796 +Epoch 436 Train loss : 0.00440 +rel_err : 0.005911399710457772 +Epoch 437 Train loss : 0.00440 +rel_err : 0.005911809114040807 +Epoch 438 Train loss : 0.00439 +rel_err : 0.005877705456223339 +Epoch 439 Train loss : 0.00438 +rel_err : 0.005896756838774308 +Epoch 440 Train loss : 0.00437 +rel_err : 0.005887876558117569 +Epoch 441 Train loss : 0.00436 +rel_err : 0.005869530981872231 +Epoch 442 Train loss : 0.00435 +rel_err : 0.00586124649271369 +Epoch 443 Train loss : 0.00435 +rel_err : 0.005846559838391841 +Epoch 444 Train loss : 0.00434 +rel_err : 0.00585312376730144 +Epoch 445 Train loss : 0.00433 +rel_err : 0.0058488127833697945 +Epoch 446 Train loss : 0.00432 +rel_err : 0.0058453081583138555 +Epoch 447 Train loss : 0.00432 +rel_err : 0.005850328695960343 +Epoch 448 Train loss : 0.00431 +rel_err : 0.005824674755567685 +Epoch 449 Train loss : 0.00431 +rel_err : 0.005832316688029095 +Epoch 450 Train loss : 0.00430 +rel_err : 0.005815303445560857 +Epoch 451 Train loss : 0.00429 +rel_err : 0.00582285487675108 +Epoch 452 Train loss : 0.00429 +rel_err : 0.005824708600994199 +Epoch 453 Train loss : 0.00429 +rel_err : 0.005813947066199035 +Epoch 454 Train loss : 0.00428 +rel_err : 0.005815853445092216 +Epoch 455 Train loss : 0.00427 +rel_err : 0.005821956737199798 +Epoch 456 Train loss : 0.00427 +rel_err : 0.005821471901144832 +Epoch 457 Train loss : 0.00426 +rel_err : 0.005804015654139221 +Epoch 458 Train loss : 0.00426 +rel_err : 0.005788728655315936 +Epoch 459 Train loss : 0.00425 +rel_err : 0.005783167427871376 +Epoch 460 Train loss : 0.00425 +rel_err : 0.005793007239699364 +Epoch 461 Train loss : 0.00425 +rel_err : 0.005801454026950524 +Epoch 462 Train loss : 0.00424 +rel_err : 0.005786934912903234 +Epoch 463 Train loss : 0.00424 +rel_err : 0.005780306465458125 +Epoch 464 Train loss : 0.00423 +rel_err : 0.005778194912709296 +Epoch 465 Train loss : 0.00423 +rel_err : 0.005770997464423999 +Epoch 466 Train loss : 0.00422 +rel_err : 0.005760341363493353 +Epoch 467 Train loss : 0.00422 +rel_err : 0.005768904491560534 +Epoch 468 Train loss : 0.00422 +rel_err : 0.005774281822377816 +Epoch 469 Train loss : 0.00421 +rel_err : 0.005766700383974239 +Epoch 470 Train loss : 0.00421 +rel_err : 0.005765940798446536 +Epoch 471 Train loss : 0.00421 +rel_err : 0.0057560007472056895 +Epoch 472 Train loss : 0.00420 +rel_err : 0.0057618279219605025 +Epoch 473 Train loss : 0.00420 +rel_err : 0.005762864622520283 +Epoch 474 Train loss : 0.00420 +rel_err : 0.0057542799587827174 +Epoch 475 Train loss : 0.00419 +rel_err : 0.005755903095705435 +Epoch 476 Train loss : 0.00419 +rel_err : 0.005760496944421902 +Epoch 477 Train loss : 0.00419 +rel_err : 0.005757336789974943 +Epoch 478 Train loss : 0.00419 +rel_err : 0.005756281284848228 +Epoch 479 Train loss : 0.00419 +rel_err : 0.005753386653959751 +Epoch 480 Train loss : 0.00418 +rel_err : 0.005745952082797885 +Epoch 481 Train loss : 0.00418 +rel_err : 0.005748225853312761 +Epoch 482 Train loss : 0.00418 +rel_err : 0.005745971065480262 +Epoch 483 Train loss : 0.00418 +rel_err : 0.0057430495519656686 +Epoch 484 Train loss : 0.00418 +rel_err : 0.005745444765780121 +Epoch 485 Train loss : 0.00417 +rel_err : 0.005742611475288868 +Epoch 486 Train loss : 0.00417 +rel_err : 0.005737678837031126 +Epoch 487 Train loss : 0.00417 +rel_err : 0.005743847490521148 +Epoch 488 Train loss : 0.00417 +rel_err : 0.005743127990281209 +Epoch 489 Train loss : 0.00417 +rel_err : 0.0057406383310444654 +Epoch 490 Train loss : 0.00417 +rel_err : 0.005738970263628289 +Epoch 491 Train loss : 0.00417 +rel_err : 0.005739393589319661 +Epoch 492 Train loss : 0.00416 +rel_err : 0.005737178245326504 +Epoch 493 Train loss : 0.00416 +rel_err : 0.00573732016258873 +Epoch 494 Train loss : 0.00416 +rel_err : 0.005738350370666012 +Epoch 495 Train loss : 0.00416 +rel_err : 0.005737909896997735 +Epoch 496 Train loss : 0.00416 +rel_err : 0.00573840520111844 +Epoch 497 Train loss : 0.00416 +rel_err : 0.005738090807572007 +Epoch 498 Train loss : 0.00416 +rel_err : 0.005738068090286106 +Epoch 499 Train loss : 0.00416 +rel_err : 0.00573821036494337 +save model diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E.log new file mode 100644 index 0000000000..cdd7431376 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E.log @@ -0,0 +1,238 @@ +(1200, 64, 64, 20) +W1029 22:14:54.077661 879116 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1029 22:14:54.078275 879116 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=256, n_layers=8, n_heads=8, batch_size=2, gpu=0, max_grad_norm=None, downsample=1, mlp_ratio=1, dropout=0.0, unified_pos=1, ref=8, slice_num=32, eval=1, save_name='ns_Transolver', data_path='data/fno') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=74, out_features=512, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=512, out_features=256, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp2): Linear(in_features=256, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 11232321 +1 +2 +3 +4 +5 +6 +7 +8 +9 +0.19166209936141967 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E_Second.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E_Second.log new file mode 100644 index 0000000000..64d0f1768b --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E_Second.log @@ -0,0 +1,238 @@ +W1105 10:52:06.906328 2972292 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1105 10:52:06.917985 2972292 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=256, n_layers=8, n_heads=8, batch_size=2, gpu=0, max_grad_norm=None, downsample=1, mlp_ratio=1, dropout=0.0, unified_pos=1, ref=8, slice_num=32, eval=1, save_name='ns_Transolver', data_path='data/fno') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=74, out_features=512, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=512, out_features=256, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp2): Linear(in_features=256, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 11232321 +1 +2 +3 +4 +5 +6 +7 +8 +9 +0.08822000566869974 + diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_T.log new file mode 100644 index 0000000000..424e2d8e19 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_T.log @@ -0,0 +1,528 @@ +nohup: ignoring input +W1028 15:23:12.713439 63518 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1028 15:23:12.714071 63518 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +(1200, 64, 64, 20) +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=256, n_layers=8, n_heads=8, batch_size=2, gpu=0, max_grad_norm=None, downsample=1, mlp_ratio=1, dropout=0.0, unified_pos=1, ref=8, slice_num=32, eval=0, save_name='ns_Transolver', data_path='data/fno') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=74, out_features=512, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=512, out_features=256, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) + (to_q): Linear(in_features=32, out_features=32, dtype=None) + (to_k): Linear(in_features=32, out_features=32, dtype=None) + (to_v): Linear(in_features=32, out_features=32, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=256, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=256, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[256], epsilon=1e-05) + (mlp2): Linear(in_features=256, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 11232321 +Epoch 0 , train_step_loss:0.37562 , train_full_loss:0.44013 , test_step_loss:0.68953 , test_full_loss:0.82265 +save model +Epoch 1 , train_step_loss:0.31059 , train_full_loss:0.36484 , test_step_loss:0.63108 , test_full_loss:0.73274 +Epoch 2 , train_step_loss:0.27814 , train_full_loss:0.32452 , test_step_loss:0.55410 , test_full_loss:0.65188 +Epoch 3 , train_step_loss:0.25396 , train_full_loss:0.29814 , test_step_loss:0.49082 , test_full_loss:0.58753 +Epoch 4 , train_step_loss:0.24053 , train_full_loss:0.28338 , test_step_loss:0.51754 , test_full_loss:0.61865 +Epoch 5 , train_step_loss:0.23113 , train_full_loss:0.27209 , test_step_loss:0.56673 , test_full_loss:0.68201 +Epoch 6 , train_step_loss:0.22151 , train_full_loss:0.26079 , test_step_loss:0.51753 , test_full_loss:0.60275 +Epoch 7 , train_step_loss:0.21170 , train_full_loss:0.24886 , test_step_loss:0.44401 , test_full_loss:0.51780 +Epoch 8 , train_step_loss:0.20312 , train_full_loss:0.23873 , test_step_loss:0.39524 , test_full_loss:0.46872 +Epoch 9 , train_step_loss:0.19767 , train_full_loss:0.23223 , test_step_loss:0.39254 , test_full_loss:0.45843 +Epoch 10 , train_step_loss:0.19187 , train_full_loss:0.22596 , test_step_loss:0.43197 , test_full_loss:0.51276 +Epoch 11 , train_step_loss:0.18805 , train_full_loss:0.22093 , test_step_loss:0.43012 , test_full_loss:0.50591 +Epoch 12 , train_step_loss:0.18296 , train_full_loss:0.21541 , test_step_loss:0.47104 , test_full_loss:0.55649 +Epoch 13 , train_step_loss:0.17768 , train_full_loss:0.20907 , test_step_loss:0.36900 , test_full_loss:0.43768 +Epoch 14 , train_step_loss:0.17467 , train_full_loss:0.20546 , test_step_loss:0.39285 , test_full_loss:0.46915 +Epoch 15 , train_step_loss:0.17100 , train_full_loss:0.20074 , test_step_loss:0.33456 , test_full_loss:0.39531 +Epoch 16 , train_step_loss:0.16534 , train_full_loss:0.19475 , test_step_loss:0.34140 , test_full_loss:0.40681 +Epoch 17 , train_step_loss:0.16416 , train_full_loss:0.19272 , test_step_loss:0.44302 , test_full_loss:0.52026 +Epoch 18 , train_step_loss:0.15848 , train_full_loss:0.18608 , test_step_loss:0.39922 , test_full_loss:0.48839 +Epoch 19 , train_step_loss:0.15498 , train_full_loss:0.18208 , test_step_loss:0.42076 , test_full_loss:0.49806 +Epoch 20 , train_step_loss:0.15252 , train_full_loss:0.17933 , test_step_loss:0.36515 , test_full_loss:0.43602 +Epoch 21 , train_step_loss:0.14948 , train_full_loss:0.17590 , test_step_loss:0.38079 , test_full_loss:0.45640 +Epoch 22 , train_step_loss:0.14675 , train_full_loss:0.17239 , test_step_loss:0.35322 , test_full_loss:0.43448 +Epoch 23 , train_step_loss:0.14282 , train_full_loss:0.16769 , test_step_loss:0.37411 , test_full_loss:0.45078 +Epoch 24 , train_step_loss:0.13909 , train_full_loss:0.16384 , test_step_loss:0.35240 , test_full_loss:0.42820 +Epoch 25 , train_step_loss:0.13756 , train_full_loss:0.16144 , test_step_loss:0.31302 , test_full_loss:0.37162 +Epoch 26 , train_step_loss:0.13538 , train_full_loss:0.15877 , test_step_loss:0.30272 , test_full_loss:0.36304 +Epoch 27 , train_step_loss:0.12981 , train_full_loss:0.15257 , test_step_loss:0.34475 , test_full_loss:0.40967 +Epoch 28 , train_step_loss:0.13122 , train_full_loss:0.15400 , test_step_loss:0.29499 , test_full_loss:0.35592 +Epoch 29 , train_step_loss:0.12525 , train_full_loss:0.14742 , test_step_loss:0.32794 , test_full_loss:0.39890 +Epoch 30 , train_step_loss:0.12435 , train_full_loss:0.14603 , test_step_loss:0.29914 , test_full_loss:0.36054 +Epoch 31 , train_step_loss:0.12256 , train_full_loss:0.14394 , test_step_loss:0.33477 , test_full_loss:0.41819 +Epoch 32 , train_step_loss:0.12054 , train_full_loss:0.14116 , test_step_loss:0.27566 , test_full_loss:0.33550 +Epoch 33 , train_step_loss:0.11719 , train_full_loss:0.13757 , test_step_loss:0.27577 , test_full_loss:0.34107 +Epoch 34 , train_step_loss:0.11624 , train_full_loss:0.13665 , test_step_loss:0.35033 , test_full_loss:0.43163 +Epoch 35 , train_step_loss:0.11411 , train_full_loss:0.13400 , test_step_loss:0.32458 , test_full_loss:0.39091 +Epoch 36 , train_step_loss:0.11231 , train_full_loss:0.13186 , test_step_loss:0.30651 , test_full_loss:0.36623 +Epoch 37 , train_step_loss:0.11026 , train_full_loss:0.12969 , test_step_loss:0.31442 , test_full_loss:0.38549 +Epoch 38 , train_step_loss:0.10794 , train_full_loss:0.12706 , test_step_loss:0.26133 , test_full_loss:0.32119 +Epoch 39 , train_step_loss:0.10720 , train_full_loss:0.12630 , test_step_loss:0.31541 , test_full_loss:0.39316 +Epoch 40 , train_step_loss:0.10528 , train_full_loss:0.12410 , test_step_loss:0.29183 , test_full_loss:0.36122 +Epoch 41 , train_step_loss:0.10402 , train_full_loss:0.12245 , test_step_loss:0.26256 , test_full_loss:0.31927 +Epoch 42 , train_step_loss:0.10110 , train_full_loss:0.11952 , test_step_loss:0.25409 , test_full_loss:0.31303 +Epoch 43 , train_step_loss:0.10056 , train_full_loss:0.11883 , test_step_loss:0.34654 , test_full_loss:0.41369 +Epoch 44 , train_step_loss:0.09862 , train_full_loss:0.11651 , test_step_loss:0.27464 , test_full_loss:0.33434 +Epoch 45 , train_step_loss:0.09712 , train_full_loss:0.11486 , test_step_loss:0.24961 , test_full_loss:0.30496 +Epoch 46 , train_step_loss:0.09592 , train_full_loss:0.11338 , test_step_loss:0.30354 , test_full_loss:0.36619 +Epoch 47 , train_step_loss:0.09333 , train_full_loss:0.11093 , test_step_loss:0.29236 , test_full_loss:0.36358 +Epoch 48 , train_step_loss:0.09273 , train_full_loss:0.11038 , test_step_loss:0.30815 , test_full_loss:0.37779 +Epoch 49 , train_step_loss:0.09284 , train_full_loss:0.11033 , test_step_loss:0.26136 , test_full_loss:0.32016 +Epoch 50 , train_step_loss:0.09021 , train_full_loss:0.10777 , test_step_loss:0.29279 , test_full_loss:0.36544 +Epoch 51 , train_step_loss:0.09025 , train_full_loss:0.10748 , test_step_loss:0.24963 , test_full_loss:0.30937 +Epoch 52 , train_step_loss:0.08834 , train_full_loss:0.10528 , test_step_loss:0.26993 , test_full_loss:0.34234 +Epoch 53 , train_step_loss:0.08594 , train_full_loss:0.10299 , test_step_loss:0.24997 , test_full_loss:0.30993 +Epoch 54 , train_step_loss:0.08649 , train_full_loss:0.10351 , test_step_loss:0.28902 , test_full_loss:0.35862 +Epoch 55 , train_step_loss:0.08514 , train_full_loss:0.10186 , test_step_loss:0.25193 , test_full_loss:0.31309 +Epoch 56 , train_step_loss:0.08474 , train_full_loss:0.10111 , test_step_loss:0.24778 , test_full_loss:0.30719 +Epoch 57 , train_step_loss:0.08395 , train_full_loss:0.10088 , test_step_loss:0.33908 , test_full_loss:0.42363 +Epoch 58 , train_step_loss:0.08505 , train_full_loss:0.10106 , test_step_loss:0.26412 , test_full_loss:0.33093 +Epoch 59 , train_step_loss:0.08179 , train_full_loss:0.09802 , test_step_loss:0.26731 , test_full_loss:0.33578 +Epoch 60 , train_step_loss:0.07978 , train_full_loss:0.09591 , test_step_loss:0.25879 , test_full_loss:0.32669 +Epoch 61 , train_step_loss:0.08081 , train_full_loss:0.09727 , test_step_loss:0.25960 , test_full_loss:0.32608 +Epoch 62 , train_step_loss:0.08042 , train_full_loss:0.09648 , test_step_loss:0.26430 , test_full_loss:0.33015 +Epoch 63 , train_step_loss:0.07899 , train_full_loss:0.09470 , test_step_loss:0.22352 , test_full_loss:0.28488 +Epoch 64 , train_step_loss:0.07867 , train_full_loss:0.09439 , test_step_loss:0.24146 , test_full_loss:0.30375 +Epoch 65 , train_step_loss:0.07756 , train_full_loss:0.09341 , test_step_loss:0.26312 , test_full_loss:0.32550 +Epoch 66 , train_step_loss:0.07560 , train_full_loss:0.09108 , test_step_loss:0.23421 , test_full_loss:0.29345 +Epoch 67 , train_step_loss:0.07529 , train_full_loss:0.09078 , test_step_loss:0.22620 , test_full_loss:0.28094 +Epoch 68 , train_step_loss:0.07576 , train_full_loss:0.09104 , test_step_loss:0.24836 , test_full_loss:0.31910 +Epoch 69 , train_step_loss:0.07329 , train_full_loss:0.08815 , test_step_loss:0.25454 , test_full_loss:0.31472 +Epoch 70 , train_step_loss:0.07409 , train_full_loss:0.08918 , test_step_loss:0.25104 , test_full_loss:0.32826 +Epoch 71 , train_step_loss:0.07356 , train_full_loss:0.08852 , test_step_loss:0.22155 , test_full_loss:0.28189 +Epoch 72 , train_step_loss:0.07276 , train_full_loss:0.08790 , test_step_loss:0.21670 , test_full_loss:0.27561 +Epoch 73 , train_step_loss:0.07225 , train_full_loss:0.08673 , test_step_loss:0.26121 , test_full_loss:0.33547 +Epoch 74 , train_step_loss:0.07064 , train_full_loss:0.08576 , test_step_loss:0.22739 , test_full_loss:0.29158 +Epoch 75 , train_step_loss:0.07118 , train_full_loss:0.08594 , test_step_loss:0.21388 , test_full_loss:0.27713 +Epoch 76 , train_step_loss:0.06921 , train_full_loss:0.08354 , test_step_loss:0.22182 , test_full_loss:0.28175 +Epoch 77 , train_step_loss:0.07115 , train_full_loss:0.08563 , test_step_loss:0.20973 , test_full_loss:0.26430 +Epoch 78 , train_step_loss:0.06814 , train_full_loss:0.08258 , test_step_loss:0.23052 , test_full_loss:0.28747 +Epoch 79 , train_step_loss:0.06962 , train_full_loss:0.08371 , test_step_loss:0.23558 , test_full_loss:0.30268 +Epoch 80 , train_step_loss:0.06717 , train_full_loss:0.08114 , test_step_loss:0.23187 , test_full_loss:0.29947 +Epoch 81 , train_step_loss:0.06684 , train_full_loss:0.08073 , test_step_loss:0.23691 , test_full_loss:0.29711 +Epoch 82 , train_step_loss:0.06644 , train_full_loss:0.08033 , test_step_loss:0.25923 , test_full_loss:0.32108 +Epoch 83 , train_step_loss:0.06496 , train_full_loss:0.07871 , test_step_loss:0.21920 , test_full_loss:0.28661 +Epoch 84 , train_step_loss:0.06548 , train_full_loss:0.07938 , test_step_loss:0.26181 , test_full_loss:0.33293 +Epoch 85 , train_step_loss:0.06600 , train_full_loss:0.07969 , test_step_loss:0.22523 , test_full_loss:0.29449 +Epoch 86 , train_step_loss:0.06418 , train_full_loss:0.07768 , test_step_loss:0.22132 , test_full_loss:0.28456 +Epoch 87 , train_step_loss:0.06416 , train_full_loss:0.07774 , test_step_loss:0.21963 , test_full_loss:0.27763 +Epoch 88 , train_step_loss:0.06297 , train_full_loss:0.07634 , test_step_loss:0.24299 , test_full_loss:0.30993 +Epoch 89 , train_step_loss:0.06230 , train_full_loss:0.07558 , test_step_loss:0.20442 , test_full_loss:0.26185 +Epoch 90 , train_step_loss:0.06318 , train_full_loss:0.07652 , test_step_loss:0.21126 , test_full_loss:0.26584 +Epoch 91 , train_step_loss:0.06235 , train_full_loss:0.07549 , test_step_loss:0.24675 , test_full_loss:0.31893 +Epoch 92 , train_step_loss:0.06159 , train_full_loss:0.07488 , test_step_loss:0.22349 , test_full_loss:0.28623 +Epoch 93 , train_step_loss:0.06090 , train_full_loss:0.07404 , test_step_loss:0.18308 , test_full_loss:0.23338 +Epoch 94 , train_step_loss:0.06084 , train_full_loss:0.07376 , test_step_loss:0.21352 , test_full_loss:0.27369 +Epoch 95 , train_step_loss:0.06105 , train_full_loss:0.07420 , test_step_loss:0.22081 , test_full_loss:0.28944 +Epoch 96 , train_step_loss:0.06110 , train_full_loss:0.07366 , test_step_loss:0.17131 , test_full_loss:0.21692 +Epoch 97 , train_step_loss:0.05960 , train_full_loss:0.07226 , test_step_loss:0.21467 , test_full_loss:0.27278 +Epoch 98 , train_step_loss:0.05992 , train_full_loss:0.07269 , test_step_loss:0.22712 , test_full_loss:0.28987 +Epoch 99 , train_step_loss:0.05800 , train_full_loss:0.07032 , test_step_loss:0.20247 , test_full_loss:0.26090 +Epoch 100 , train_step_loss:0.05738 , train_full_loss:0.06976 , test_step_loss:0.18335 , test_full_loss:0.23674 +save model +Epoch 101 , train_step_loss:0.05795 , train_full_loss:0.07026 , test_step_loss:0.19506 , test_full_loss:0.25474 +Epoch 102 , train_step_loss:0.05693 , train_full_loss:0.06924 , test_step_loss:0.17954 , test_full_loss:0.23004 +Epoch 103 , train_step_loss:0.05777 , train_full_loss:0.07024 , test_step_loss:0.28114 , test_full_loss:0.36048 +Epoch 104 , train_step_loss:0.05701 , train_full_loss:0.06919 , test_step_loss:0.22605 , test_full_loss:0.28413 +Epoch 105 , train_step_loss:0.05614 , train_full_loss:0.06830 , test_step_loss:0.22224 , test_full_loss:0.28800 +Epoch 106 , train_step_loss:0.05607 , train_full_loss:0.06832 , test_step_loss:0.22336 , test_full_loss:0.28536 +Epoch 107 , train_step_loss:0.05616 , train_full_loss:0.06787 , test_step_loss:0.18282 , test_full_loss:0.23365 +Epoch 108 , train_step_loss:0.05498 , train_full_loss:0.06686 , test_step_loss:0.17294 , test_full_loss:0.22161 +Epoch 109 , train_step_loss:0.05433 , train_full_loss:0.06590 , test_step_loss:0.16999 , test_full_loss:0.22039 +Epoch 110 , train_step_loss:0.05411 , train_full_loss:0.06581 , test_step_loss:0.19856 , test_full_loss:0.25199 +Epoch 111 , train_step_loss:0.05370 , train_full_loss:0.06527 , test_step_loss:0.18508 , test_full_loss:0.23810 +Epoch 112 , train_step_loss:0.05311 , train_full_loss:0.06479 , test_step_loss:0.18524 , test_full_loss:0.23963 +Epoch 113 , train_step_loss:0.05306 , train_full_loss:0.06448 , test_step_loss:0.20589 , test_full_loss:0.26215 +Epoch 114 , train_step_loss:0.05244 , train_full_loss:0.06382 , test_step_loss:0.16615 , test_full_loss:0.20994 +Epoch 115 , train_step_loss:0.05273 , train_full_loss:0.06412 , test_step_loss:0.17108 , test_full_loss:0.22061 +Epoch 116 , train_step_loss:0.05334 , train_full_loss:0.06476 , test_step_loss:0.20168 , test_full_loss:0.26284 +Epoch 117 , train_step_loss:0.05182 , train_full_loss:0.06310 , test_step_loss:0.19040 , test_full_loss:0.25033 +Epoch 118 , train_step_loss:0.05221 , train_full_loss:0.06341 , test_step_loss:0.24498 , test_full_loss:0.32879 +Epoch 119 , train_step_loss:0.05148 , train_full_loss:0.06275 , test_step_loss:0.18095 , test_full_loss:0.23784 +Epoch 120 , train_step_loss:0.05233 , train_full_loss:0.06338 , test_step_loss:0.16552 , test_full_loss:0.21176 +Epoch 121 , train_step_loss:0.05144 , train_full_loss:0.06274 , test_step_loss:0.17914 , test_full_loss:0.23399 +Epoch 122 , train_step_loss:0.05033 , train_full_loss:0.06143 , test_step_loss:0.19617 , test_full_loss:0.26073 +Epoch 123 , train_step_loss:0.05075 , train_full_loss:0.06177 , test_step_loss:0.19246 , test_full_loss:0.25889 +Epoch 124 , train_step_loss:0.04993 , train_full_loss:0.06063 , test_step_loss:0.18579 , test_full_loss:0.23914 +Epoch 125 , train_step_loss:0.04996 , train_full_loss:0.06059 , test_step_loss:0.16570 , test_full_loss:0.21107 +Epoch 126 , train_step_loss:0.04812 , train_full_loss:0.05868 , test_step_loss:0.19267 , test_full_loss:0.25762 +Epoch 127 , train_step_loss:0.04849 , train_full_loss:0.05915 , test_step_loss:0.18588 , test_full_loss:0.24228 +Epoch 128 , train_step_loss:0.04879 , train_full_loss:0.05919 , test_step_loss:0.24080 , test_full_loss:0.31253 +Epoch 129 , train_step_loss:0.04892 , train_full_loss:0.05949 , test_step_loss:0.18551 , test_full_loss:0.24441 +Epoch 130 , train_step_loss:0.04819 , train_full_loss:0.05860 , test_step_loss:0.17091 , test_full_loss:0.22292 +Epoch 131 , train_step_loss:0.04776 , train_full_loss:0.05812 , test_step_loss:0.20605 , test_full_loss:0.27871 +Epoch 132 , train_step_loss:0.04744 , train_full_loss:0.05771 , test_step_loss:0.16574 , test_full_loss:0.21870 +Epoch 133 , train_step_loss:0.04651 , train_full_loss:0.05674 , test_step_loss:0.20376 , test_full_loss:0.27488 +Epoch 134 , train_step_loss:0.04647 , train_full_loss:0.05663 , test_step_loss:0.18444 , test_full_loss:0.24525 +Epoch 135 , train_step_loss:0.04644 , train_full_loss:0.05652 , test_step_loss:0.19340 , test_full_loss:0.25227 +Epoch 136 , train_step_loss:0.04677 , train_full_loss:0.05690 , test_step_loss:0.16644 , test_full_loss:0.21688 +Epoch 137 , train_step_loss:0.04512 , train_full_loss:0.05498 , test_step_loss:0.16099 , test_full_loss:0.20820 +Epoch 138 , train_step_loss:0.04598 , train_full_loss:0.05592 , test_step_loss:0.16469 , test_full_loss:0.21337 +Epoch 139 , train_step_loss:0.04437 , train_full_loss:0.05418 , test_step_loss:0.17686 , test_full_loss:0.23821 +Epoch 140 , train_step_loss:0.04532 , train_full_loss:0.05509 , test_step_loss:0.17384 , test_full_loss:0.22657 +Epoch 141 , train_step_loss:0.04519 , train_full_loss:0.05495 , test_step_loss:0.15994 , test_full_loss:0.20696 +Epoch 142 , train_step_loss:0.04506 , train_full_loss:0.05482 , test_step_loss:0.14887 , test_full_loss:0.19454 +Epoch 143 , train_step_loss:0.04453 , train_full_loss:0.05412 , test_step_loss:0.19127 , test_full_loss:0.25275 +Epoch 144 , train_step_loss:0.04341 , train_full_loss:0.05283 , test_step_loss:0.18377 , test_full_loss:0.24695 +Epoch 145 , train_step_loss:0.04350 , train_full_loss:0.05305 , test_step_loss:0.15901 , test_full_loss:0.20860 +Epoch 146 , train_step_loss:0.04354 , train_full_loss:0.05282 , test_step_loss:0.14093 , test_full_loss:0.18604 +Epoch 147 , train_step_loss:0.04255 , train_full_loss:0.05171 , test_step_loss:0.14936 , test_full_loss:0.19599 +Epoch 148 , train_step_loss:0.04314 , train_full_loss:0.05261 , test_step_loss:0.17576 , test_full_loss:0.22379 +Epoch 149 , train_step_loss:0.04332 , train_full_loss:0.05252 , test_step_loss:0.15808 , test_full_loss:0.20569 +Epoch 150 , train_step_loss:0.04255 , train_full_loss:0.05191 , test_step_loss:0.18262 , test_full_loss:0.24003 +Epoch 151 , train_step_loss:0.04216 , train_full_loss:0.05141 , test_step_loss:0.16110 , test_full_loss:0.21804 +Epoch 152 , train_step_loss:0.04187 , train_full_loss:0.05095 , test_step_loss:0.14140 , test_full_loss:0.18638 +Epoch 153 , train_step_loss:0.04183 , train_full_loss:0.05087 , test_step_loss:0.18313 , test_full_loss:0.24273 +Epoch 154 , train_step_loss:0.04210 , train_full_loss:0.05114 , test_step_loss:0.14731 , test_full_loss:0.19265 +Epoch 155 , train_step_loss:0.04155 , train_full_loss:0.05045 , test_step_loss:0.15888 , test_full_loss:0.21048 +Epoch 156 , train_step_loss:0.04039 , train_full_loss:0.04917 , test_step_loss:0.17774 , test_full_loss:0.23090 +Epoch 157 , train_step_loss:0.04106 , train_full_loss:0.04983 , test_step_loss:0.17395 , test_full_loss:0.23454 +Epoch 158 , train_step_loss:0.04009 , train_full_loss:0.04894 , test_step_loss:0.17912 , test_full_loss:0.24770 +Epoch 159 , train_step_loss:0.04041 , train_full_loss:0.04897 , test_step_loss:0.16894 , test_full_loss:0.22202 +Epoch 160 , train_step_loss:0.04022 , train_full_loss:0.04892 , test_step_loss:0.15293 , test_full_loss:0.20052 +Epoch 161 , train_step_loss:0.04124 , train_full_loss:0.04991 , test_step_loss:0.21717 , test_full_loss:0.29564 +Epoch 162 , train_step_loss:0.04041 , train_full_loss:0.04909 , test_step_loss:0.16823 , test_full_loss:0.22688 +Epoch 163 , train_step_loss:0.03902 , train_full_loss:0.04744 , test_step_loss:0.15888 , test_full_loss:0.21383 +Epoch 164 , train_step_loss:0.03897 , train_full_loss:0.04740 , test_step_loss:0.14238 , test_full_loss:0.18959 +Epoch 165 , train_step_loss:0.03917 , train_full_loss:0.04762 , test_step_loss:0.16660 , test_full_loss:0.21696 +Epoch 166 , train_step_loss:0.04027 , train_full_loss:0.04881 , test_step_loss:0.16504 , test_full_loss:0.21328 +Epoch 167 , train_step_loss:0.03797 , train_full_loss:0.04618 , test_step_loss:0.15508 , test_full_loss:0.20470 +Epoch 168 , train_step_loss:0.03785 , train_full_loss:0.04602 , test_step_loss:0.14190 , test_full_loss:0.18663 +Epoch 169 , train_step_loss:0.03848 , train_full_loss:0.04685 , test_step_loss:0.17481 , test_full_loss:0.23425 +Epoch 170 , train_step_loss:0.03909 , train_full_loss:0.04718 , test_step_loss:0.19799 , test_full_loss:0.26725 +Epoch 171 , train_step_loss:0.03820 , train_full_loss:0.04643 , test_step_loss:0.14289 , test_full_loss:0.19054 +Epoch 172 , train_step_loss:0.03678 , train_full_loss:0.04481 , test_step_loss:0.18727 , test_full_loss:0.25300 +Epoch 173 , train_step_loss:0.03788 , train_full_loss:0.04585 , test_step_loss:0.14897 , test_full_loss:0.19554 +Epoch 174 , train_step_loss:0.03794 , train_full_loss:0.04607 , test_step_loss:0.15191 , test_full_loss:0.20206 +Epoch 175 , train_step_loss:0.03716 , train_full_loss:0.04513 , test_step_loss:0.17172 , test_full_loss:0.23502 +Epoch 176 , train_step_loss:0.03696 , train_full_loss:0.04493 , test_step_loss:0.14536 , test_full_loss:0.19466 +Epoch 177 , train_step_loss:0.03629 , train_full_loss:0.04417 , test_step_loss:0.12966 , test_full_loss:0.16940 +Epoch 178 , train_step_loss:0.03741 , train_full_loss:0.04540 , test_step_loss:0.16562 , test_full_loss:0.22901 +Epoch 179 , train_step_loss:0.03623 , train_full_loss:0.04403 , test_step_loss:0.14490 , test_full_loss:0.19164 +Epoch 180 , train_step_loss:0.03629 , train_full_loss:0.04413 , test_step_loss:0.13377 , test_full_loss:0.17771 +Epoch 181 , train_step_loss:0.03569 , train_full_loss:0.04344 , test_step_loss:0.14505 , test_full_loss:0.19336 +Epoch 182 , train_step_loss:0.03567 , train_full_loss:0.04321 , test_step_loss:0.15226 , test_full_loss:0.20281 +Epoch 183 , train_step_loss:0.03565 , train_full_loss:0.04334 , test_step_loss:0.15080 , test_full_loss:0.19921 +Epoch 184 , train_step_loss:0.03612 , train_full_loss:0.04389 , test_step_loss:0.13126 , test_full_loss:0.17636 +Epoch 185 , train_step_loss:0.03537 , train_full_loss:0.04296 , test_step_loss:0.15791 , test_full_loss:0.21089 +Epoch 186 , train_step_loss:0.03532 , train_full_loss:0.04288 , test_step_loss:0.19989 , test_full_loss:0.26881 +Epoch 187 , train_step_loss:0.03525 , train_full_loss:0.04288 , test_step_loss:0.18298 , test_full_loss:0.24584 +Epoch 188 , train_step_loss:0.03540 , train_full_loss:0.04282 , test_step_loss:0.12570 , test_full_loss:0.16865 +Epoch 189 , train_step_loss:0.03419 , train_full_loss:0.04138 , test_step_loss:0.14704 , test_full_loss:0.20115 +Epoch 190 , train_step_loss:0.03417 , train_full_loss:0.04141 , test_step_loss:0.13463 , test_full_loss:0.18267 +Epoch 191 , train_step_loss:0.03489 , train_full_loss:0.04225 , test_step_loss:0.12725 , test_full_loss:0.16875 +Epoch 192 , train_step_loss:0.03402 , train_full_loss:0.04142 , test_step_loss:0.14300 , test_full_loss:0.19088 +Epoch 193 , train_step_loss:0.03446 , train_full_loss:0.04182 , test_step_loss:0.14076 , test_full_loss:0.18725 +Epoch 194 , train_step_loss:0.03452 , train_full_loss:0.04174 , test_step_loss:0.12632 , test_full_loss:0.16722 +Epoch 195 , train_step_loss:0.03377 , train_full_loss:0.04090 , test_step_loss:0.13059 , test_full_loss:0.17128 +Epoch 196 , train_step_loss:0.03281 , train_full_loss:0.03984 , test_step_loss:0.14341 , test_full_loss:0.18892 +Epoch 197 , train_step_loss:0.03394 , train_full_loss:0.04103 , test_step_loss:0.13008 , test_full_loss:0.17480 +Epoch 198 , train_step_loss:0.03380 , train_full_loss:0.04095 , test_step_loss:0.17109 , test_full_loss:0.23383 +Epoch 199 , train_step_loss:0.03306 , train_full_loss:0.04013 , test_step_loss:0.13092 , test_full_loss:0.17441 +Epoch 200 , train_step_loss:0.03374 , train_full_loss:0.04080 , test_step_loss:0.14064 , test_full_loss:0.19166 +save model +Epoch 201 , train_step_loss:0.03281 , train_full_loss:0.03983 , test_step_loss:0.14097 , test_full_loss:0.18763 +Epoch 202 , train_step_loss:0.03388 , train_full_loss:0.04101 , test_step_loss:0.15044 , test_full_loss:0.20293 +Epoch 203 , train_step_loss:0.03366 , train_full_loss:0.04077 , test_step_loss:0.16193 , test_full_loss:0.22186 +Epoch 204 , train_step_loss:0.03259 , train_full_loss:0.03939 , test_step_loss:0.15165 , test_full_loss:0.20924 +Epoch 205 , train_step_loss:0.03330 , train_full_loss:0.04038 , test_step_loss:0.13957 , test_full_loss:0.18655 +Epoch 206 , train_step_loss:0.03175 , train_full_loss:0.03844 , test_step_loss:0.13589 , test_full_loss:0.18371 +Epoch 207 , train_step_loss:0.03249 , train_full_loss:0.03933 , test_step_loss:0.14027 , test_full_loss:0.19319 +Epoch 208 , train_step_loss:0.03221 , train_full_loss:0.03892 , test_step_loss:0.12411 , test_full_loss:0.16681 +Epoch 209 , train_step_loss:0.03209 , train_full_loss:0.03890 , test_step_loss:0.12291 , test_full_loss:0.16268 +Epoch 210 , train_step_loss:0.03221 , train_full_loss:0.03889 , test_step_loss:0.13223 , test_full_loss:0.17661 +Epoch 211 , train_step_loss:0.03132 , train_full_loss:0.03797 , test_step_loss:0.14509 , test_full_loss:0.20083 +Epoch 212 , train_step_loss:0.03219 , train_full_loss:0.03896 , test_step_loss:0.12627 , test_full_loss:0.16853 +Epoch 213 , train_step_loss:0.03158 , train_full_loss:0.03826 , test_step_loss:0.12411 , test_full_loss:0.16359 +Epoch 214 , train_step_loss:0.03076 , train_full_loss:0.03735 , test_step_loss:0.11584 , test_full_loss:0.15450 +Epoch 215 , train_step_loss:0.03081 , train_full_loss:0.03734 , test_step_loss:0.14416 , test_full_loss:0.19902 +Epoch 216 , train_step_loss:0.03172 , train_full_loss:0.03838 , test_step_loss:0.11961 , test_full_loss:0.16079 +Epoch 217 , train_step_loss:0.03190 , train_full_loss:0.03851 , test_step_loss:0.12589 , test_full_loss:0.16726 +Epoch 218 , train_step_loss:0.03033 , train_full_loss:0.03673 , test_step_loss:0.13023 , test_full_loss:0.17774 +Epoch 219 , train_step_loss:0.03074 , train_full_loss:0.03724 , test_step_loss:0.12008 , test_full_loss:0.16008 +Epoch 220 , train_step_loss:0.03043 , train_full_loss:0.03676 , test_step_loss:0.15084 , test_full_loss:0.21148 +Epoch 221 , train_step_loss:0.03049 , train_full_loss:0.03686 , test_step_loss:0.14105 , test_full_loss:0.18848 +Epoch 222 , train_step_loss:0.03000 , train_full_loss:0.03634 , test_step_loss:0.11584 , test_full_loss:0.15620 +Epoch 223 , train_step_loss:0.03022 , train_full_loss:0.03668 , test_step_loss:0.13248 , test_full_loss:0.17572 +Epoch 224 , train_step_loss:0.03048 , train_full_loss:0.03688 , test_step_loss:0.14526 , test_full_loss:0.19685 +Epoch 225 , train_step_loss:0.03104 , train_full_loss:0.03740 , test_step_loss:0.12098 , test_full_loss:0.16191 +Epoch 226 , train_step_loss:0.02896 , train_full_loss:0.03504 , test_step_loss:0.11699 , test_full_loss:0.15387 +Epoch 227 , train_step_loss:0.02956 , train_full_loss:0.03575 , test_step_loss:0.12176 , test_full_loss:0.16646 +Epoch 228 , train_step_loss:0.03023 , train_full_loss:0.03659 , test_step_loss:0.13901 , test_full_loss:0.18598 +Epoch 229 , train_step_loss:0.02961 , train_full_loss:0.03581 , test_step_loss:0.11581 , test_full_loss:0.15531 +Epoch 230 , train_step_loss:0.02894 , train_full_loss:0.03493 , test_step_loss:0.11560 , test_full_loss:0.15309 +Epoch 231 , train_step_loss:0.02930 , train_full_loss:0.03538 , test_step_loss:0.12096 , test_full_loss:0.16174 +Epoch 232 , train_step_loss:0.02986 , train_full_loss:0.03606 , test_step_loss:0.11892 , test_full_loss:0.16057 +Epoch 233 , train_step_loss:0.02908 , train_full_loss:0.03510 , test_step_loss:0.11288 , test_full_loss:0.15134 +Epoch 234 , train_step_loss:0.02867 , train_full_loss:0.03464 , test_step_loss:0.16616 , test_full_loss:0.22891 +Epoch 235 , train_step_loss:0.02864 , train_full_loss:0.03459 , test_step_loss:0.11347 , test_full_loss:0.15065 +Epoch 236 , train_step_loss:0.02911 , train_full_loss:0.03506 , test_step_loss:0.11833 , test_full_loss:0.15930 +Epoch 237 , train_step_loss:0.02848 , train_full_loss:0.03442 , test_step_loss:0.11744 , test_full_loss:0.15578 +Epoch 238 , train_step_loss:0.02871 , train_full_loss:0.03475 , test_step_loss:0.11130 , test_full_loss:0.14725 +Epoch 239 , train_step_loss:0.02818 , train_full_loss:0.03409 , test_step_loss:0.12913 , test_full_loss:0.17399 +Epoch 240 , train_step_loss:0.02826 , train_full_loss:0.03405 , test_step_loss:0.12373 , test_full_loss:0.16434 +Epoch 241 , train_step_loss:0.02852 , train_full_loss:0.03425 , test_step_loss:0.16843 , test_full_loss:0.23587 +Epoch 242 , train_step_loss:0.02824 , train_full_loss:0.03416 , test_step_loss:0.13178 , test_full_loss:0.17735 +Epoch 243 , train_step_loss:0.02795 , train_full_loss:0.03384 , test_step_loss:0.11678 , test_full_loss:0.15659 +Epoch 244 , train_step_loss:0.02782 , train_full_loss:0.03362 , test_step_loss:0.12173 , test_full_loss:0.16282 +Epoch 245 , train_step_loss:0.02768 , train_full_loss:0.03330 , test_step_loss:0.11803 , test_full_loss:0.16152 +Epoch 246 , train_step_loss:0.02792 , train_full_loss:0.03360 , test_step_loss:0.12414 , test_full_loss:0.16667 +Epoch 247 , train_step_loss:0.02730 , train_full_loss:0.03301 , test_step_loss:0.11334 , test_full_loss:0.15127 +Epoch 248 , train_step_loss:0.02713 , train_full_loss:0.03276 , test_step_loss:0.12921 , test_full_loss:0.17399 +Epoch 249 , train_step_loss:0.02774 , train_full_loss:0.03347 , test_step_loss:0.13597 , test_full_loss:0.18613 +Epoch 250 , train_step_loss:0.02807 , train_full_loss:0.03380 , test_step_loss:0.12586 , test_full_loss:0.17028 +Epoch 251 , train_step_loss:0.02677 , train_full_loss:0.03232 , test_step_loss:0.11348 , test_full_loss:0.15215 +Epoch 252 , train_step_loss:0.02781 , train_full_loss:0.03351 , test_step_loss:0.13391 , test_full_loss:0.18559 +Epoch 253 , train_step_loss:0.02688 , train_full_loss:0.03242 , test_step_loss:0.10958 , test_full_loss:0.14855 +Epoch 254 , train_step_loss:0.02673 , train_full_loss:0.03217 , test_step_loss:0.11185 , test_full_loss:0.15447 +Epoch 255 , train_step_loss:0.02660 , train_full_loss:0.03206 , test_step_loss:0.11289 , test_full_loss:0.15346 +Epoch 256 , train_step_loss:0.02670 , train_full_loss:0.03217 , test_step_loss:0.10954 , test_full_loss:0.14960 +Epoch 257 , train_step_loss:0.02644 , train_full_loss:0.03193 , test_step_loss:0.11709 , test_full_loss:0.15872 +Epoch 258 , train_step_loss:0.02663 , train_full_loss:0.03211 , test_step_loss:0.11472 , test_full_loss:0.15450 +Epoch 259 , train_step_loss:0.02602 , train_full_loss:0.03145 , test_step_loss:0.10629 , test_full_loss:0.14351 +Epoch 260 , train_step_loss:0.02614 , train_full_loss:0.03157 , test_step_loss:0.11051 , test_full_loss:0.14730 +Epoch 261 , train_step_loss:0.02617 , train_full_loss:0.03155 , test_step_loss:0.13863 , test_full_loss:0.19172 +Epoch 262 , train_step_loss:0.02640 , train_full_loss:0.03176 , test_step_loss:0.11216 , test_full_loss:0.15374 +Epoch 263 , train_step_loss:0.02625 , train_full_loss:0.03156 , test_step_loss:0.10696 , test_full_loss:0.14320 +Epoch 264 , train_step_loss:0.02585 , train_full_loss:0.03116 , test_step_loss:0.11430 , test_full_loss:0.15492 +Epoch 265 , train_step_loss:0.02622 , train_full_loss:0.03152 , test_step_loss:0.10713 , test_full_loss:0.14479 +Epoch 266 , train_step_loss:0.02533 , train_full_loss:0.03047 , test_step_loss:0.10789 , test_full_loss:0.14653 +Epoch 267 , train_step_loss:0.02563 , train_full_loss:0.03084 , test_step_loss:0.13995 , test_full_loss:0.19312 +Epoch 268 , train_step_loss:0.02571 , train_full_loss:0.03100 , test_step_loss:0.10829 , test_full_loss:0.14517 +Epoch 269 , train_step_loss:0.02527 , train_full_loss:0.03040 , test_step_loss:0.10649 , test_full_loss:0.14429 +Epoch 270 , train_step_loss:0.02502 , train_full_loss:0.03000 , test_step_loss:0.10909 , test_full_loss:0.14734 +Epoch 271 , train_step_loss:0.02521 , train_full_loss:0.03026 , test_step_loss:0.11658 , test_full_loss:0.15901 +Epoch 272 , train_step_loss:0.02560 , train_full_loss:0.03077 , test_step_loss:0.11548 , test_full_loss:0.15734 +Epoch 273 , train_step_loss:0.02559 , train_full_loss:0.03072 , test_step_loss:0.12609 , test_full_loss:0.17709 +Epoch 274 , train_step_loss:0.02449 , train_full_loss:0.02944 , test_step_loss:0.11951 , test_full_loss:0.16480 +Epoch 275 , train_step_loss:0.02466 , train_full_loss:0.02973 , test_step_loss:0.10258 , test_full_loss:0.13899 +Epoch 276 , train_step_loss:0.02504 , train_full_loss:0.03011 , test_step_loss:0.10448 , test_full_loss:0.14301 +Epoch 277 , train_step_loss:0.02465 , train_full_loss:0.02963 , test_step_loss:0.10566 , test_full_loss:0.14267 +Epoch 278 , train_step_loss:0.02434 , train_full_loss:0.02922 , test_step_loss:0.10184 , test_full_loss:0.13751 +Epoch 279 , train_step_loss:0.02466 , train_full_loss:0.02964 , test_step_loss:0.11912 , test_full_loss:0.16315 +Epoch 280 , train_step_loss:0.02461 , train_full_loss:0.02958 , test_step_loss:0.10221 , test_full_loss:0.13592 +Epoch 281 , train_step_loss:0.02453 , train_full_loss:0.02945 , test_step_loss:0.11346 , test_full_loss:0.15590 +Epoch 282 , train_step_loss:0.02483 , train_full_loss:0.02981 , test_step_loss:0.12190 , test_full_loss:0.16277 +Epoch 283 , train_step_loss:0.02421 , train_full_loss:0.02903 , test_step_loss:0.11651 , test_full_loss:0.15979 +Epoch 284 , train_step_loss:0.02396 , train_full_loss:0.02875 , test_step_loss:0.10900 , test_full_loss:0.14735 +Epoch 285 , train_step_loss:0.02448 , train_full_loss:0.02945 , test_step_loss:0.09939 , test_full_loss:0.13344 +Epoch 286 , train_step_loss:0.02389 , train_full_loss:0.02859 , test_step_loss:0.10612 , test_full_loss:0.14475 +Epoch 287 , train_step_loss:0.02345 , train_full_loss:0.02803 , test_step_loss:0.12453 , test_full_loss:0.17531 +Epoch 288 , train_step_loss:0.02407 , train_full_loss:0.02878 , test_step_loss:0.09696 , test_full_loss:0.13096 +Epoch 289 , train_step_loss:0.02333 , train_full_loss:0.02796 , test_step_loss:0.09677 , test_full_loss:0.12880 +Epoch 290 , train_step_loss:0.02374 , train_full_loss:0.02839 , test_step_loss:0.11808 , test_full_loss:0.16418 +Epoch 291 , train_step_loss:0.02343 , train_full_loss:0.02812 , test_step_loss:0.14534 , test_full_loss:0.20490 +Epoch 292 , train_step_loss:0.02382 , train_full_loss:0.02852 , test_step_loss:0.09885 , test_full_loss:0.13347 +Epoch 293 , train_step_loss:0.02304 , train_full_loss:0.02766 , test_step_loss:0.09525 , test_full_loss:0.12795 +Epoch 294 , train_step_loss:0.02327 , train_full_loss:0.02783 , test_step_loss:0.10829 , test_full_loss:0.14622 +Epoch 295 , train_step_loss:0.02315 , train_full_loss:0.02778 , test_step_loss:0.09945 , test_full_loss:0.13476 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_E.log new file mode 100644 index 0000000000..8d0029f81c --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_E.log @@ -0,0 +1,310 @@ +W1029 22:13:29.186836 878587 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1029 22:13:29.187332 878587 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +(2310, 129, 129, 2) (2310, 129, 129) +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=8, gpu=0, max_grad_norm=0.1, downsamplex=1, downsampley=1, mlp_ratio=2, dropout=0.0, unified_pos=0, ref=8, slice_num=64, eval=1, save_name='pipe_Transolver', data_path='data/fno/pipe') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=2, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp2): Linear(in_features=128, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 3073985 +1 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +2 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +3 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +4 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +5 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +6 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +7 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +8 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +9 +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. + plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). +rel_err:0.004902993445284665 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_T.log new file mode 100644 index 0000000000..403c93a41f --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_T.log @@ -0,0 +1,1235 @@ +nohup: ignoring input +W1028 15:13:51.368424 58046 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1028 15:13:51.369048 58046 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +(2310, 129, 129, 2) (2310, 129, 129) +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=8, gpu=3, max_grad_norm=0.1, downsamplex=1, downsampley=1, mlp_ratio=2, dropout=0.0, unified_pos=0, ref=8, slice_num=64, eval=0, save_name='pipe_Transolver', data_path='data/fno/pipe') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=2, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (3): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (4): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (5): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (6): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + ) + (7): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=128, out_features=128, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=128, out_features=256, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=256, out_features=128, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) + (mlp2): Linear(in_features=128, out_features=1, dtype=None) + ) + ) +) +Total Trainable Params: 3073985 +Epoch 0 Train loss : 0.42086 +rel_err:0.42181733608245847 +save model +Epoch 1 Train loss : 0.40209 +rel_err:0.39673777103424074 +Epoch 2 Train loss : 0.38770 +rel_err:0.3821806764602661 +Epoch 3 Train loss : 0.37289 +rel_err:0.38777169704437253 +Epoch 4 Train loss : 0.36442 +rel_err:0.3638641023635864 +Epoch 5 Train loss : 0.35836 +rel_err:0.35816191911697387 +Epoch 6 Train loss : 0.35148 +rel_err:0.3518952441215515 +Epoch 7 Train loss : 0.34180 +rel_err:0.3424414873123169 +Epoch 8 Train loss : 0.32897 +rel_err:0.33059566617012026 +Epoch 9 Train loss : 0.31485 +rel_err:0.30228269696235655 +Epoch 10 Train loss : 0.28600 +rel_err:0.2891456663608551 +Epoch 11 Train loss : 0.26099 +rel_err:0.25291613936424256 +Epoch 12 Train loss : 0.23413 +rel_err:0.22532837808132172 +Epoch 13 Train loss : 0.20246 +rel_err:0.19989144682884216 +Epoch 14 Train loss : 0.17512 +rel_err:0.16653771877288817 +Epoch 15 Train loss : 0.15848 +rel_err:0.14672977924346925 +Epoch 16 Train loss : 0.13911 +rel_err:0.14091648638248444 +Epoch 17 Train loss : 0.13038 +rel_err:0.12387229710817337 +Epoch 18 Train loss : 0.12314 +rel_err:0.12464901685714722 +Epoch 19 Train loss : 0.11317 +rel_err:0.11440164506435395 +Epoch 20 Train loss : 0.11079 +rel_err:0.15343888223171234 +Epoch 21 Train loss : 0.10275 +rel_err:0.10557085007429123 +Epoch 22 Train loss : 0.09611 +rel_err:0.10003852337598801 +Epoch 23 Train loss : 0.09268 +rel_err:0.1029106193780899 +Epoch 24 Train loss : 0.09414 +rel_err:0.08595769733190536 +Epoch 25 Train loss : 0.09195 +rel_err:0.09607691526412963 +Epoch 26 Train loss : 0.09016 +rel_err:0.0822420859336853 +Epoch 27 Train loss : 0.08191 +rel_err:0.08063429713249207 +Epoch 28 Train loss : 0.07913 +rel_err:0.07516362935304642 +Epoch 29 Train loss : 0.08184 +rel_err:0.08156484842300415 +Epoch 30 Train loss : 0.07857 +rel_err:0.07931115686893463 +Epoch 31 Train loss : 0.07469 +rel_err:0.08318790912628174 +Epoch 32 Train loss : 0.07649 +rel_err:0.08128788053989411 +Epoch 33 Train loss : 0.07345 +rel_err:0.069517210572958 +Epoch 34 Train loss : 0.06710 +rel_err:0.062492706179618836 +Epoch 35 Train loss : 0.07079 +rel_err:0.08145692199468613 +Epoch 36 Train loss : 0.07007 +rel_err:0.06593632176518441 +Epoch 37 Train loss : 0.06858 +rel_err:0.07295205026865005 +Epoch 38 Train loss : 0.06369 +rel_err:0.06983759164810181 +Epoch 39 Train loss : 0.06466 +rel_err:0.058818424940109255 +Epoch 40 Train loss : 0.05812 +rel_err:0.06000377058982849 +Epoch 41 Train loss : 0.05871 +rel_err:0.05400925606489181 +Epoch 42 Train loss : 0.05628 +rel_err:0.05714259341359138 +Epoch 43 Train loss : 0.05743 +rel_err:0.056352172195911404 +Epoch 44 Train loss : 0.05478 +rel_err:0.05996184930205345 +Epoch 45 Train loss : 0.05371 +rel_err:0.04967708110809326 +Epoch 46 Train loss : 0.04936 +rel_err:0.051255356967449185 +Epoch 47 Train loss : 0.05013 +rel_err:0.05679277077317238 +Epoch 48 Train loss : 0.04879 +rel_err:0.05242225617170334 +Epoch 49 Train loss : 0.04727 +rel_err:0.05258175373077392 +Epoch 50 Train loss : 0.04535 +rel_err:0.05461124107241631 +Epoch 51 Train loss : 0.04905 +rel_err:0.049889140725135804 +Epoch 52 Train loss : 0.04682 +rel_err:0.045626539438962936 +Epoch 53 Train loss : 0.04241 +rel_err:0.042045472711324694 +Epoch 54 Train loss : 0.04273 +rel_err:0.044340371638536456 +Epoch 55 Train loss : 0.04108 +rel_err:0.048524822592735294 +Epoch 56 Train loss : 0.04174 +rel_err:0.040276010930538175 +Epoch 57 Train loss : 0.04099 +rel_err:0.038031842410564426 +Epoch 58 Train loss : 0.03952 +rel_err:0.04511645153164864 +Epoch 59 Train loss : 0.03968 +rel_err:0.04019432619214058 +Epoch 60 Train loss : 0.04007 +rel_err:0.03767617098987103 +Epoch 61 Train loss : 0.04082 +rel_err:0.04105333179235458 +Epoch 62 Train loss : 0.03806 +rel_err:0.04043391585350037 +Epoch 63 Train loss : 0.04018 +rel_err:0.04196873471140861 +Epoch 64 Train loss : 0.03724 +rel_err:0.036232487335801124 +Epoch 65 Train loss : 0.03576 +rel_err:0.03677253901958465 +Epoch 66 Train loss : 0.03590 +rel_err:0.039207729548215865 +Epoch 67 Train loss : 0.03562 +rel_err:0.033602903559803964 +Epoch 68 Train loss : 0.03402 +rel_err:0.032640236094594 +Epoch 69 Train loss : 0.03406 +rel_err:0.037318394780159 +Epoch 70 Train loss : 0.03305 +rel_err:0.03845693036913872 +Epoch 71 Train loss : 0.03408 +rel_err:0.039857600331306454 +Epoch 72 Train loss : 0.03631 +rel_err:0.03643685422837734 +Epoch 73 Train loss : 0.03593 +rel_err:0.040615657716989516 +Epoch 74 Train loss : 0.03457 +rel_err:0.0316270337253809 +Epoch 75 Train loss : 0.03271 +rel_err:0.030393308624625207 +Epoch 76 Train loss : 0.03263 +rel_err:0.039983911961317065 +Epoch 77 Train loss : 0.03580 +rel_err:0.03787489727139473 +Epoch 78 Train loss : 0.03217 +rel_err:0.03223164938390255 +Epoch 79 Train loss : 0.03170 +rel_err:0.03319434389472008 +Epoch 80 Train loss : 0.03040 +rel_err:0.03126117497682571 +Epoch 81 Train loss : 0.03114 +rel_err:0.03508813753724098 +Epoch 82 Train loss : 0.03256 +rel_err:0.034177538603544236 +Epoch 83 Train loss : 0.03180 +rel_err:0.030831209793686868 +Epoch 84 Train loss : 0.03198 +rel_err:0.032485596165061 +Epoch 85 Train loss : 0.02987 +rel_err:0.033503809720277784 +Epoch 86 Train loss : 0.03145 +rel_err:0.03413548335433006 +Epoch 87 Train loss : 0.03127 +rel_err:0.032143537923693656 +Epoch 88 Train loss : 0.03130 +rel_err:0.03235222034156322 +Epoch 89 Train loss : 0.03001 +rel_err:0.03268633641302585 +Epoch 90 Train loss : 0.02949 +rel_err:0.03753258943557739 +Epoch 91 Train loss : 0.03071 +rel_err:0.02698724590241909 +Epoch 92 Train loss : 0.02820 +rel_err:0.028131997436285017 +Epoch 93 Train loss : 0.02920 +rel_err:0.028822187185287475 +Epoch 94 Train loss : 0.02859 +rel_err:0.028950688168406485 +Epoch 95 Train loss : 0.02852 +rel_err:0.03548125773668289 +Epoch 96 Train loss : 0.02717 +rel_err:0.0349046091735363 +Epoch 97 Train loss : 0.02977 +rel_err:0.03230876229703426 +Epoch 98 Train loss : 0.02885 +rel_err:0.02812004067003727 +Epoch 99 Train loss : 0.02993 +rel_err:0.0341699992120266 +Epoch 100 Train loss : 0.02800 +rel_err:0.03128141179680824 +save model +Epoch 101 Train loss : 0.02881 +rel_err:0.026588179692625998 +Epoch 102 Train loss : 0.02703 +rel_err:0.028697177991271017 +Epoch 103 Train loss : 0.02671 +rel_err:0.02998515300452709 +Epoch 104 Train loss : 0.02710 +rel_err:0.023515536934137344 +Epoch 105 Train loss : 0.02495 +rel_err:0.025849582552909853 +Epoch 106 Train loss : 0.02570 +rel_err:0.030850121900439263 +Epoch 107 Train loss : 0.02517 +rel_err:0.03101112462580204 +Epoch 108 Train loss : 0.02743 +rel_err:0.02966236285865307 +Epoch 109 Train loss : 0.02799 +rel_err:0.023552692234516143 +Epoch 110 Train loss : 0.02625 +rel_err:0.0276877062022686 +Epoch 111 Train loss : 0.02678 +rel_err:0.02456578016281128 +Epoch 112 Train loss : 0.02602 +rel_err:0.02676735319197178 +Epoch 113 Train loss : 0.02405 +rel_err:0.02758026175200939 +Epoch 114 Train loss : 0.02475 +rel_err:0.023794231414794923 +Epoch 115 Train loss : 0.02396 +rel_err:0.030149858072400094 +Epoch 116 Train loss : 0.02620 +rel_err:0.02879842936992645 +Epoch 117 Train loss : 0.02494 +rel_err:0.03265380583703518 +Epoch 118 Train loss : 0.02788 +rel_err:0.025074596554040908 +Epoch 119 Train loss : 0.02353 +rel_err:0.023211019337177275 +Epoch 120 Train loss : 0.02293 +rel_err:0.026100357174873353 +Epoch 121 Train loss : 0.02367 +rel_err:0.024927659928798675 +Epoch 122 Train loss : 0.02544 +rel_err:0.028693505451083182 +Epoch 123 Train loss : 0.02586 +rel_err:0.027680922597646714 +Epoch 124 Train loss : 0.02526 +rel_err:0.027594575211405754 +Epoch 125 Train loss : 0.02292 +rel_err:0.031961553022265436 +Epoch 126 Train loss : 0.02314 +rel_err:0.025697114244103432 +Epoch 127 Train loss : 0.02271 +rel_err:0.024745013862848282 +Epoch 128 Train loss : 0.02267 +rel_err:0.02385986901819706 +Epoch 129 Train loss : 0.02236 +rel_err:0.020430535599589347 +Epoch 130 Train loss : 0.02241 +rel_err:0.02531712405383587 +Epoch 131 Train loss : 0.02376 +rel_err:0.023177047446370124 +Epoch 132 Train loss : 0.02248 +rel_err:0.02172867104411125 +Epoch 133 Train loss : 0.02243 +rel_err:0.0233925449103117 +Epoch 134 Train loss : 0.02150 +rel_err:0.02950929455459118 +Epoch 135 Train loss : 0.02192 +rel_err:0.026101233288645744 +Epoch 136 Train loss : 0.02281 +rel_err:0.02609884411096573 +Epoch 137 Train loss : 0.02210 +rel_err:0.02476622670888901 +Epoch 138 Train loss : 0.02281 +rel_err:0.020314956381917 +Epoch 139 Train loss : 0.02007 +rel_err:0.021357639357447625 +Epoch 140 Train loss : 0.02312 +rel_err:0.019978031292557718 +Epoch 141 Train loss : 0.02053 +rel_err:0.02378706358373165 +Epoch 142 Train loss : 0.02202 +rel_err:0.019734419137239455 +Epoch 143 Train loss : 0.01949 +rel_err:0.02210816219449043 +Epoch 144 Train loss : 0.02114 +rel_err:0.019364723041653632 +Epoch 145 Train loss : 0.02136 +rel_err:0.02158894307911396 +Epoch 146 Train loss : 0.02007 +rel_err:0.018710283972322942 +Epoch 147 Train loss : 0.02060 +rel_err:0.021379475444555283 +Epoch 148 Train loss : 0.02161 +rel_err:0.021579755023121833 +Epoch 149 Train loss : 0.01968 +rel_err:0.0212975150719285 +Epoch 150 Train loss : 0.01932 +rel_err:0.021469069495797157 +Epoch 151 Train loss : 0.01833 +rel_err:0.020747893154621125 +Epoch 152 Train loss : 0.01963 +rel_err:0.021970186606049536 +Epoch 153 Train loss : 0.01931 +rel_err:0.021691777184605597 +Epoch 154 Train loss : 0.01875 +rel_err:0.02081156075000763 +Epoch 155 Train loss : 0.01979 +rel_err:0.02121928572654724 +Epoch 156 Train loss : 0.01941 +rel_err:0.019904273152351378 +Epoch 157 Train loss : 0.01815 +rel_err:0.020057453662157058 +Epoch 158 Train loss : 0.01903 +rel_err:0.020333171039819718 +Epoch 159 Train loss : 0.01842 +rel_err:0.021089541837573052 +Epoch 160 Train loss : 0.01887 +rel_err:0.021484493836760522 +Epoch 161 Train loss : 0.01867 +rel_err:0.01869952380657196 +Epoch 162 Train loss : 0.01695 +rel_err:0.018586382903158664 +Epoch 163 Train loss : 0.02060 +rel_err:0.021827946603298187 +Epoch 164 Train loss : 0.01872 +rel_err:0.020171203091740607 +Epoch 165 Train loss : 0.01723 +rel_err:0.020232403203845024 +Epoch 166 Train loss : 0.01727 +rel_err:0.01880752347409725 +Epoch 167 Train loss : 0.01754 +rel_err:0.019908900931477548 +Epoch 168 Train loss : 0.01851 +rel_err:0.018657080233097076 +Epoch 169 Train loss : 0.01854 +rel_err:0.015951288640499117 +Epoch 170 Train loss : 0.01668 +rel_err:0.017412857487797737 +Epoch 171 Train loss : 0.01812 +rel_err:0.01747404281049967 +Epoch 172 Train loss : 0.01669 +rel_err:0.01791105981916189 +Epoch 173 Train loss : 0.01667 +rel_err:0.019304509572684765 +Epoch 174 Train loss : 0.01935 +rel_err:0.018997766748070716 +Epoch 175 Train loss : 0.01828 +rel_err:0.01964392438530922 +Epoch 176 Train loss : 0.01672 +rel_err:0.016840596050024033 +Epoch 177 Train loss : 0.01661 +rel_err:0.02152940586209297 +Epoch 178 Train loss : 0.01510 +rel_err:0.020808031186461448 +Epoch 179 Train loss : 0.01585 +rel_err:0.022531076893210412 +Epoch 180 Train loss : 0.01793 +rel_err:0.01827365979552269 +Epoch 181 Train loss : 0.01718 +rel_err:0.01882011950016022 +Epoch 182 Train loss : 0.01712 +rel_err:0.017731274515390395 +Epoch 183 Train loss : 0.01621 +rel_err:0.019280256032943727 +Epoch 184 Train loss : 0.01849 +rel_err:0.020002735182642936 +Epoch 185 Train loss : 0.01717 +rel_err:0.016397232487797737 +Epoch 186 Train loss : 0.01495 +rel_err:0.018500634469091892 +Epoch 187 Train loss : 0.01675 +rel_err:0.01936791177839041 +Epoch 188 Train loss : 0.01650 +rel_err:0.014975495263934135 +Epoch 189 Train loss : 0.01416 +rel_err:0.014483690075576306 +Epoch 190 Train loss : 0.01471 +rel_err:0.01675994474440813 +Epoch 191 Train loss : 0.01497 +rel_err:0.01614424344152212 +Epoch 192 Train loss : 0.01499 +rel_err:0.020740331634879112 +Epoch 193 Train loss : 0.01535 +rel_err:0.01982144996523857 +Epoch 194 Train loss : 0.01433 +rel_err:0.014509546458721162 +Epoch 195 Train loss : 0.01418 +rel_err:0.01647485662251711 +Epoch 196 Train loss : 0.01405 +rel_err:0.020132656618952752 +Epoch 197 Train loss : 0.01555 +rel_err:0.01589952539652586 +Epoch 198 Train loss : 0.01480 +rel_err:0.015009647347033023 +Epoch 199 Train loss : 0.01498 +rel_err:0.01915452115237713 +Epoch 200 Train loss : 0.01484 +rel_err:0.018009951710700987 +save model +Epoch 201 Train loss : 0.01506 +rel_err:0.01909230902791023 +Epoch 202 Train loss : 0.01419 +rel_err:0.01706778656691313 +Epoch 203 Train loss : 0.01399 +rel_err:0.017087777145206928 +Epoch 204 Train loss : 0.01541 +rel_err:0.016727504841983317 +Epoch 205 Train loss : 0.01529 +rel_err:0.01576079856604338 +Epoch 206 Train loss : 0.01415 +rel_err:0.01796040318906307 +Epoch 207 Train loss : 0.01470 +rel_err:0.014779235273599624 +Epoch 208 Train loss : 0.01407 +rel_err:0.017582612335681914 +Epoch 209 Train loss : 0.01375 +rel_err:0.01611799854785204 +Epoch 210 Train loss : 0.01380 +rel_err:0.015202279165387154 +Epoch 211 Train loss : 0.01294 +rel_err:0.016323011182248593 +Epoch 212 Train loss : 0.01433 +rel_err:0.017821840345859527 +Epoch 213 Train loss : 0.01369 +rel_err:0.017340394146740438 +Epoch 214 Train loss : 0.01393 +rel_err:0.012307468131184577 +Epoch 215 Train loss : 0.01334 +rel_err:0.016087850779294966 +Epoch 216 Train loss : 0.01403 +rel_err:0.013948963433504104 +Epoch 217 Train loss : 0.01526 +rel_err:0.015496102906763554 +Epoch 218 Train loss : 0.01412 +rel_err:0.018738691881299018 +Epoch 219 Train loss : 0.01362 +rel_err:0.013384675867855548 +Epoch 220 Train loss : 0.01043 +rel_err:0.013812968134880066 +Epoch 221 Train loss : 0.01223 +rel_err:0.013438584394752979 +Epoch 222 Train loss : 0.01338 +rel_err:0.01524039901793003 +Epoch 223 Train loss : 0.01408 +rel_err:0.01514162976294756 +Epoch 224 Train loss : 0.01301 +rel_err:0.016116580925881863 +Epoch 225 Train loss : 0.01277 +rel_err:0.012807043939828873 +Epoch 226 Train loss : 0.01386 +rel_err:0.014952165149152279 +Epoch 227 Train loss : 0.01375 +rel_err:0.018208639807999135 +Epoch 228 Train loss : 0.01208 +rel_err:0.01385983169078827 +Epoch 229 Train loss : 0.01294 +rel_err:0.013769600205123425 +Epoch 230 Train loss : 0.01315 +rel_err:0.013771858736872674 +Epoch 231 Train loss : 0.01293 +rel_err:0.014391655623912812 +Epoch 232 Train loss : 0.01215 +rel_err:0.014189937300980091 +Epoch 233 Train loss : 0.01400 +rel_err:0.018278664983808993 +Epoch 234 Train loss : 0.01306 +rel_err:0.014355364553630352 +Epoch 235 Train loss : 0.01125 +rel_err:0.0138615195825696 +Epoch 236 Train loss : 0.01188 +rel_err:0.014815784730017186 +Epoch 237 Train loss : 0.01200 +rel_err:0.016707051545381546 +Epoch 238 Train loss : 0.01302 +rel_err:0.015024028681218625 +Epoch 239 Train loss : 0.01092 +rel_err:0.01260800078511238 +Epoch 240 Train loss : 0.01243 +rel_err:0.014294596910476685 +Epoch 241 Train loss : 0.01274 +rel_err:0.012879133634269237 +Epoch 242 Train loss : 0.01135 +rel_err:0.014046659804880618 +Epoch 243 Train loss : 0.01057 +rel_err:0.012486240174621344 +Epoch 244 Train loss : 0.01239 +rel_err:0.011919222176074981 +Epoch 245 Train loss : 0.01184 +rel_err:0.014350881800055504 +Epoch 246 Train loss : 0.01225 +rel_err:0.01598809890449047 +Epoch 247 Train loss : 0.01147 +rel_err:0.012727070078253746 +Epoch 248 Train loss : 0.01155 +rel_err:0.012269739210605621 +Epoch 249 Train loss : 0.01086 +rel_err:0.01277483258396387 +Epoch 250 Train loss : 0.01047 +rel_err:0.013487397432327271 +Epoch 251 Train loss : 0.01040 +rel_err:0.010436052251607179 +Epoch 252 Train loss : 0.01042 +rel_err:0.014221241511404515 +Epoch 253 Train loss : 0.01293 +rel_err:0.015788712874054908 +Epoch 254 Train loss : 0.01267 +rel_err:0.012335419096052647 +Epoch 255 Train loss : 0.01072 +rel_err:0.012078343145549297 +Epoch 256 Train loss : 0.01180 +rel_err:0.013487649969756604 +Epoch 257 Train loss : 0.01011 +rel_err:0.012716311477124691 +Epoch 258 Train loss : 0.01118 +rel_err:0.012223461344838142 +Epoch 259 Train loss : 0.00981 +rel_err:0.011304350048303604 +Epoch 260 Train loss : 0.01159 +rel_err:0.014491956755518913 +Epoch 261 Train loss : 0.01093 +rel_err:0.015138632133603096 +Epoch 262 Train loss : 0.01209 +rel_err:0.012508987672626972 +Epoch 263 Train loss : 0.01028 +rel_err:0.011444106809794902 +Epoch 264 Train loss : 0.00884 +rel_err:0.011078658569604159 +Epoch 265 Train loss : 0.01008 +rel_err:0.012275714091956616 +Epoch 266 Train loss : 0.01099 +rel_err:0.01242065940052271 +Epoch 267 Train loss : 0.00984 +rel_err:0.010670532789081335 +Epoch 268 Train loss : 0.00914 +rel_err:0.014174133315682411 +Epoch 269 Train loss : 0.00998 +rel_err:0.012109900526702404 +Epoch 270 Train loss : 0.01126 +rel_err:0.01320980779826641 +Epoch 271 Train loss : 0.01053 +rel_err:0.014254127405583858 +Epoch 272 Train loss : 0.01050 +rel_err:0.012611563354730605 +Epoch 273 Train loss : 0.01032 +rel_err:0.01143551768735051 +Epoch 274 Train loss : 0.01045 +rel_err:0.013734246790409087 +Epoch 275 Train loss : 0.00997 +rel_err:0.014326824247837067 +Epoch 276 Train loss : 0.00966 +rel_err:0.011973097026348113 +Epoch 277 Train loss : 0.00927 +rel_err:0.013137573860585689 +Epoch 278 Train loss : 0.01100 +rel_err:0.012559984140098094 +Epoch 279 Train loss : 0.00967 +rel_err:0.012743840217590332 +Epoch 280 Train loss : 0.00904 +rel_err:0.01187433384358883 +Epoch 281 Train loss : 0.00929 +rel_err:0.013017285764217377 +Epoch 282 Train loss : 0.00938 +rel_err:0.010197591707110406 +Epoch 283 Train loss : 0.00900 +rel_err:0.011302567105740308 +Epoch 284 Train loss : 0.00748 +rel_err:0.009195295926183462 +Epoch 285 Train loss : 0.00802 +rel_err:0.012733562625944614 +Epoch 286 Train loss : 0.00825 +rel_err:0.009571553189307452 +Epoch 287 Train loss : 0.00784 +rel_err:0.010853111557662488 +Epoch 288 Train loss : 0.00885 +rel_err:0.010477918926626443 +Epoch 289 Train loss : 0.00879 +rel_err:0.011976195909082889 +Epoch 290 Train loss : 0.01016 +rel_err:0.013584365025162698 +Epoch 291 Train loss : 0.00991 +rel_err:0.01245246797800064 +Epoch 292 Train loss : 0.01009 +rel_err:0.011754541173577309 +Epoch 293 Train loss : 0.00964 +rel_err:0.012892399094998836 +Epoch 294 Train loss : 0.00810 +rel_err:0.01023916969075799 +Epoch 295 Train loss : 0.00788 +rel_err:0.011299042757600545 +Epoch 296 Train loss : 0.00759 +rel_err:0.010280388109385967 +Epoch 297 Train loss : 0.00857 +rel_err:0.010266770105808974 +Epoch 298 Train loss : 0.00684 +rel_err:0.00889456832781434 +Epoch 299 Train loss : 0.00697 +rel_err:0.010505098644644021 +Epoch 300 Train loss : 0.00631 +rel_err:0.008697449453175068 +save model +Epoch 301 Train loss : 0.00745 +rel_err:0.011367911715060472 +Epoch 302 Train loss : 0.01000 +rel_err:0.011008787471801042 +Epoch 303 Train loss : 0.00900 +rel_err:0.01192712377756834 +Epoch 304 Train loss : 0.00763 +rel_err:0.01102056125178933 +Epoch 305 Train loss : 0.00917 +rel_err:0.01123622216284275 +Epoch 306 Train loss : 0.00896 +rel_err:0.011159040555357934 +Epoch 307 Train loss : 0.00779 +rel_err:0.009254757687449456 +Epoch 308 Train loss : 0.00684 +rel_err:0.009815856497734785 +Epoch 309 Train loss : 0.00579 +rel_err:0.008110073786228895 +Epoch 310 Train loss : 0.00595 +rel_err:0.011007217448204756 +Epoch 311 Train loss : 0.00724 +rel_err:0.012573766112327576 +Epoch 312 Train loss : 0.00775 +rel_err:0.010773877277970315 +Epoch 313 Train loss : 0.00727 +rel_err:0.010179660972207785 +Epoch 314 Train loss : 0.00710 +rel_err:0.01035281715914607 +Epoch 315 Train loss : 0.00920 +rel_err:0.013107297979295253 +Epoch 316 Train loss : 0.00809 +rel_err:0.010313979424536228 +Epoch 317 Train loss : 0.00810 +rel_err:0.011123894732445478 +Epoch 318 Train loss : 0.00812 +rel_err:0.009645319189876317 +Epoch 319 Train loss : 0.00748 +rel_err:0.009638942144811154 +Epoch 320 Train loss : 0.00748 +rel_err:0.010029999557882547 +Epoch 321 Train loss : 0.00560 +rel_err:0.008580223210155963 +Epoch 322 Train loss : 0.00603 +rel_err:0.009453240260481834 +Epoch 323 Train loss : 0.00562 +rel_err:0.007832296881824732 +Epoch 324 Train loss : 0.00645 +rel_err:0.011062202826142311 +Epoch 325 Train loss : 0.00773 +rel_err:0.01142343619838357 +Epoch 326 Train loss : 0.00724 +rel_err:0.010848934426903725 +Epoch 327 Train loss : 0.00654 +rel_err:0.008745129406452178 +Epoch 328 Train loss : 0.00674 +rel_err:0.008057299237698316 +Epoch 329 Train loss : 0.00565 +rel_err:0.008447833247482777 +Epoch 330 Train loss : 0.00616 +rel_err:0.010140214003622533 +Epoch 331 Train loss : 0.00703 +rel_err:0.010592419262975454 +Epoch 332 Train loss : 0.00654 +rel_err:0.009030008781701326 +Epoch 333 Train loss : 0.00593 +rel_err:0.009820092152804136 +Epoch 334 Train loss : 0.00579 +rel_err:0.007110219346359372 +Epoch 335 Train loss : 0.00531 +rel_err:0.008290530387312174 +Epoch 336 Train loss : 0.00510 +rel_err:0.008017965108156205 +Epoch 337 Train loss : 0.00535 +rel_err:0.007776490822434426 +Epoch 338 Train loss : 0.00493 +rel_err:0.008316448256373406 +Epoch 339 Train loss : 0.00604 +rel_err:0.009402222130447627 +Epoch 340 Train loss : 0.00565 +rel_err:0.007647228110581637 +Epoch 341 Train loss : 0.00473 +rel_err:0.008389101717621089 +Epoch 342 Train loss : 0.00489 +rel_err:0.00886803364381194 +Epoch 343 Train loss : 0.00539 +rel_err:0.007808216549456119 +Epoch 344 Train loss : 0.00537 +rel_err:0.009059187062084674 +Epoch 345 Train loss : 0.00578 +rel_err:0.007657206151634455 +Epoch 346 Train loss : 0.00563 +rel_err:0.007711376361548901 +Epoch 347 Train loss : 0.00581 +rel_err:0.009319778960198165 +Epoch 348 Train loss : 0.00602 +rel_err:0.010562585964798928 +Epoch 349 Train loss : 0.00734 +rel_err:0.008006786610931158 +Epoch 350 Train loss : 0.00644 +rel_err:0.009783901795744896 +Epoch 351 Train loss : 0.00610 +rel_err:0.008199545498937368 +Epoch 352 Train loss : 0.00559 +rel_err:0.007636326029896736 +Epoch 353 Train loss : 0.00459 +rel_err:0.00834363019093871 +Epoch 354 Train loss : 0.00513 +rel_err:0.007406408991664648 +Epoch 355 Train loss : 0.00490 +rel_err:0.007473146850243211 +Epoch 356 Train loss : 0.00463 +rel_err:0.008638607263565063 +Epoch 357 Train loss : 0.00499 +rel_err:0.007091535339131951 +Epoch 358 Train loss : 0.00480 +rel_err:0.007697003837674857 +Epoch 359 Train loss : 0.00437 +rel_err:0.00735027895309031 +Epoch 360 Train loss : 0.00431 +rel_err:0.008951640576124192 +Epoch 361 Train loss : 0.00424 +rel_err:0.00885491270571947 +Epoch 362 Train loss : 0.00471 +rel_err:0.007646458139643073 +Epoch 363 Train loss : 0.00481 +rel_err:0.007659059558063746 +Epoch 364 Train loss : 0.00453 +rel_err:0.007865309752523898 +Epoch 365 Train loss : 0.00440 +rel_err:0.007241761535406113 +Epoch 366 Train loss : 0.00406 +rel_err:0.007323962626978755 +Epoch 367 Train loss : 0.00448 +rel_err:0.009344488829374314 +Epoch 368 Train loss : 0.00472 +rel_err:0.006895961603149771 +Epoch 369 Train loss : 0.00403 +rel_err:0.0068792770057916645 +Epoch 370 Train loss : 0.00376 +rel_err:0.007193952519446612 +Epoch 371 Train loss : 0.00432 +rel_err:0.008877871669828891 +Epoch 372 Train loss : 0.00447 +rel_err:0.007216790867969394 +Epoch 373 Train loss : 0.00408 +rel_err:0.007463194718584418 +Epoch 374 Train loss : 0.00444 +rel_err:0.00788143953308463 +Epoch 375 Train loss : 0.00381 +rel_err:0.006878320146352052 +Epoch 376 Train loss : 0.00405 +rel_err:0.007543631419539451 +Epoch 377 Train loss : 0.00412 +rel_err:0.007720254398882389 +Epoch 378 Train loss : 0.00376 +rel_err:0.0074590248055756096 +Epoch 379 Train loss : 0.00396 +rel_err:0.007036696644499898 +Epoch 380 Train loss : 0.00452 +rel_err:0.007725017685443163 +Epoch 381 Train loss : 0.00450 +rel_err:0.006323300981894136 +Epoch 382 Train loss : 0.00389 +rel_err:0.006674674013629556 +Epoch 383 Train loss : 0.00365 +rel_err:0.007329647764563561 +Epoch 384 Train loss : 0.00361 +rel_err:0.006401968570426107 +Epoch 385 Train loss : 0.00345 +rel_err:0.00608367582783103 +Epoch 386 Train loss : 0.00373 +rel_err:0.007752497717738152 +Epoch 387 Train loss : 0.00409 +rel_err:0.006512656342238188 +Epoch 388 Train loss : 0.00381 +rel_err:0.006781125776469708 +Epoch 389 Train loss : 0.00363 +rel_err:0.0064153100270777945 +Epoch 390 Train loss : 0.00348 +rel_err:0.007011253498494625 +Epoch 391 Train loss : 0.00360 +rel_err:0.006720367381349206 +Epoch 392 Train loss : 0.00341 +rel_err:0.005870419284328818 +Epoch 393 Train loss : 0.00339 +rel_err:0.006151102166622877 +Epoch 394 Train loss : 0.00306 +rel_err:0.0061034565698355435 +Epoch 395 Train loss : 0.00380 +rel_err:0.006660330323502422 +Epoch 396 Train loss : 0.00341 +rel_err:0.006310680769383907 +Epoch 397 Train loss : 0.00342 +rel_err:0.00649915243498981 +Epoch 398 Train loss : 0.00339 +rel_err:0.006139167360961437 +Epoch 399 Train loss : 0.00295 +rel_err:0.005947948284447193 +Epoch 400 Train loss : 0.00338 +rel_err:0.006402041129767895 +save model +Epoch 401 Train loss : 0.00309 +rel_err:0.006666027996689081 +Epoch 402 Train loss : 0.00328 +rel_err:0.006489826822653413 +Epoch 403 Train loss : 0.00329 +rel_err:0.006626882646232843 +Epoch 404 Train loss : 0.00350 +rel_err:0.006392730055376887 +Epoch 405 Train loss : 0.00300 +rel_err:0.0057069467753171925 +Epoch 406 Train loss : 0.00306 +rel_err:0.006077647972851992 +Epoch 407 Train loss : 0.00304 +rel_err:0.0060730238724499945 +Epoch 408 Train loss : 0.00375 +rel_err:0.006476097693666816 +Epoch 409 Train loss : 0.00321 +rel_err:0.006341437194496393 +Epoch 410 Train loss : 0.00286 +rel_err:0.005964025007560849 +Epoch 411 Train loss : 0.00301 +rel_err:0.005894318362697959 +Epoch 412 Train loss : 0.00297 +rel_err:0.006181667177006602 +Epoch 413 Train loss : 0.00284 +rel_err:0.0058780612330883745 +Epoch 414 Train loss : 0.00281 +rel_err:0.0058297161012887955 +Epoch 415 Train loss : 0.00275 +rel_err:0.005505964793264866 +Epoch 416 Train loss : 0.00255 +rel_err:0.006028508497402072 +Epoch 417 Train loss : 0.00290 +rel_err:0.005864037470892072 +Epoch 418 Train loss : 0.00286 +rel_err:0.005625026412308216 +Epoch 419 Train loss : 0.00269 +rel_err:0.005661225272342562 +Epoch 420 Train loss : 0.00270 +rel_err:0.006072239382192492 +Epoch 421 Train loss : 0.00267 +rel_err:0.005524497479200363 +Epoch 422 Train loss : 0.00262 +rel_err:0.005479542724788189 +Epoch 423 Train loss : 0.00293 +rel_err:0.006212244844064117 +Epoch 424 Train loss : 0.00279 +rel_err:0.006055048946291208 +Epoch 425 Train loss : 0.00271 +rel_err:0.0061812704615294934 +Epoch 426 Train loss : 0.00266 +rel_err:0.005484146177768707 +Epoch 427 Train loss : 0.00246 +rel_err:0.005468153282999992 +Epoch 428 Train loss : 0.00250 +rel_err:0.005619054548442364 +Epoch 429 Train loss : 0.00270 +rel_err:0.006066545331850648 +Epoch 430 Train loss : 0.00248 +rel_err:0.005305086532607675 +Epoch 431 Train loss : 0.00236 +rel_err:0.005389527818188071 +Epoch 432 Train loss : 0.00245 +rel_err:0.005436205295845866 +Epoch 433 Train loss : 0.00247 +rel_err:0.005433823009952903 +Epoch 434 Train loss : 0.00248 +rel_err:0.005384060200303793 +Epoch 435 Train loss : 0.00241 +rel_err:0.005455934843048453 +Epoch 436 Train loss : 0.00239 +rel_err:0.00521495292428881 +Epoch 437 Train loss : 0.00236 +rel_err:0.005392358070239424 +Epoch 438 Train loss : 0.00246 +rel_err:0.005226842942647636 +Epoch 439 Train loss : 0.00231 +rel_err:0.005517687909305096 +Epoch 440 Train loss : 0.00227 +rel_err:0.00529359195381403 +Epoch 441 Train loss : 0.00218 +rel_err:0.005106259565800428 +Epoch 442 Train loss : 0.00209 +rel_err:0.005083758062683046 +Epoch 443 Train loss : 0.00244 +rel_err:0.005212070108391345 +Epoch 444 Train loss : 0.00223 +rel_err:0.005388686507940292 +Epoch 445 Train loss : 0.00227 +rel_err:0.0051284046983346345 +Epoch 446 Train loss : 0.00245 +rel_err:0.005360859846696257 +Epoch 447 Train loss : 0.00229 +rel_err:0.005204636906273663 +Epoch 448 Train loss : 0.00219 +rel_err:0.005307660466060043 +Epoch 449 Train loss : 0.00218 +rel_err:0.005172923463396728 +Epoch 450 Train loss : 0.00231 +rel_err:0.00578804874792695 +Epoch 451 Train loss : 0.00226 +rel_err:0.005694629726931453 +Epoch 452 Train loss : 0.00213 +rel_err:0.0052262914879247545 +Epoch 453 Train loss : 0.00199 +rel_err:0.005152593930251897 +Epoch 454 Train loss : 0.00208 +rel_err:0.005112340389750898 +Epoch 455 Train loss : 0.00200 +rel_err:0.0050223959656432275 +Epoch 456 Train loss : 0.00205 +rel_err:0.0052068511256948115 +Epoch 457 Train loss : 0.00207 +rel_err:0.005027868063189089 +Epoch 458 Train loss : 0.00232 +rel_err:0.005302540273405611 +Epoch 459 Train loss : 0.00214 +rel_err:0.0050450374418869615 +Epoch 460 Train loss : 0.00219 +rel_err:0.005153682045638561 +Epoch 461 Train loss : 0.00219 +rel_err:0.005236619915813208 +Epoch 462 Train loss : 0.00208 +rel_err:0.005264929998666048 +Epoch 463 Train loss : 0.00203 +rel_err:0.005191015144810081 +Epoch 464 Train loss : 0.00203 +rel_err:0.005173616432584822 +Epoch 465 Train loss : 0.00202 +rel_err:0.004939155941829085 +Epoch 466 Train loss : 0.00187 +rel_err:0.004895942308939994 +Epoch 467 Train loss : 0.00195 +rel_err:0.0049514368921518325 +Epoch 468 Train loss : 0.00198 +rel_err:0.0049641082249581815 +Epoch 469 Train loss : 0.00192 +rel_err:0.004871544940397143 +Epoch 470 Train loss : 0.00197 +rel_err:0.0049809380481019615 +Epoch 471 Train loss : 0.00184 +rel_err:0.005053308173082769 +Epoch 472 Train loss : 0.00177 +rel_err:0.004788395208306611 +Epoch 473 Train loss : 0.00180 +rel_err:0.005064652119763195 +Epoch 474 Train loss : 0.00208 +rel_err:0.005023195915855467 +Epoch 475 Train loss : 0.00197 +rel_err:0.005055107525549829 +Epoch 476 Train loss : 0.00192 +rel_err:0.005174856362864375 +Epoch 477 Train loss : 0.00185 +rel_err:0.004896913142874837 +Epoch 478 Train loss : 0.00183 +rel_err:0.004979309802874923 +Epoch 479 Train loss : 0.00188 +rel_err:0.004879210339859128 +Epoch 480 Train loss : 0.00193 +rel_err:0.004923065430484712 +Epoch 481 Train loss : 0.00187 +rel_err:0.0049895605724304916 +Epoch 482 Train loss : 0.00187 +rel_err:0.004992410661652684 +Epoch 483 Train loss : 0.00187 +rel_err:0.005052052163518965 +Epoch 484 Train loss : 0.00181 +rel_err:0.005090708322823048 +Epoch 485 Train loss : 0.00195 +rel_err:0.00526416496373713 +Epoch 486 Train loss : 0.00192 +rel_err:0.004764691046439111 +Epoch 487 Train loss : 0.00178 +rel_err:0.004851700183935464 +Epoch 488 Train loss : 0.00178 +rel_err:0.004768592570908368 +Epoch 489 Train loss : 0.00168 +rel_err:0.004862469024956227 +Epoch 490 Train loss : 0.00180 +rel_err:0.0049011061387136574 +Epoch 491 Train loss : 0.00188 +rel_err:0.0048719474719837305 +Epoch 492 Train loss : 0.00180 +rel_err:0.004756837943568825 +Epoch 493 Train loss : 0.00185 +rel_err:0.004936657925136387 +Epoch 494 Train loss : 0.00192 +rel_err:0.005043829912319779 +Epoch 495 Train loss : 0.00174 +rel_err:0.0048012975044548515 +Epoch 496 Train loss : 0.00173 +rel_err:0.0048164895735681055 +Epoch 497 Train loss : 0.00183 +rel_err:0.004908115803264081 +Epoch 498 Train loss : 0.00185 +rel_err:0.00506226398050785 +Epoch 499 Train loss : 0.00182 +rel_err:0.0049029927887022495 +save model diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_E.log new file mode 100644 index 0000000000..092456d2c3 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_E.log @@ -0,0 +1,115 @@ +W1030 13:26:01.756693 1222684 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1030 13:26:01.757216 1222684 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +(987, 101) (987, 101, 31, 4, 20) +(900, 3131, 1) (900, 3131, 4, 20) +Dataloading is over. +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=64, n_layers=3, n_heads=4, batch_size=8, gpu=0, max_grad_norm=None, downsamplex=1, downsampley=1, mlp_ratio=1, dropout=0.0, unified_pos=0, ref=8, slice_num=32, eval=1, save_name='plas_Transolver', data_path='data/fno/plas_N987_T20.mat') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=3, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=64, dtype=None) + (linears): LayerList() + ) + (time_fc): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): Silu() + (2): Linear(in_features=64, out_features=64, dtype=None) + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=64, out_features=64, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=64, out_features=64, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=64, out_features=64, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (mlp2): Linear(in_features=64, out_features=4, dtype=None) + ) + ) +) +Total Trainable Params: 281264 +1 +2 +3 +4 +5 +6 +7 +8 +9 +test_step_loss:0.00300 , test_full_loss:0.00332 diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_T.log new file mode 100644 index 0000000000..331793f8dd --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_T.log @@ -0,0 +1,611 @@ +W1029 22:19:06.222641 880216 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 +W1029 22:19:06.223155 880216 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. +(987, 101) (987, 101, 31, 4, 20) +(900, 3131, 1) (900, 3131, 4, 20) +Dataloading is over. +Dataloading is over. +Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=64, n_layers=3, n_heads=4, batch_size=8, gpu=0, max_grad_norm=None, downsamplex=1, downsampley=1, mlp_ratio=1, dropout=0.0, unified_pos=0, ref=8, slice_num=32, eval=0, save_name='plas_Transolver', data_path='data/fno/plas_N987_T20.mat') +Model( + (preprocess): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=3, out_features=128, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=128, out_features=64, dtype=None) + (linears): LayerList() + ) + (time_fc): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): Silu() + (2): Linear(in_features=64, out_features=64, dtype=None) + ) + (blocks): LayerList( + (0): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=64, out_features=64, dtype=None) + (linears): LayerList() + ) + ) + (1): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=64, out_features=64, dtype=None) + (linears): LayerList() + ) + ) + (2): Transolver_block( + (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (Attn): Physics_Attention_Structured_Mesh_2D( + (softmax): Softmax(axis=-1) + (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) + (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) + (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) + (to_q): Linear(in_features=16, out_features=16, dtype=None) + (to_k): Linear(in_features=16, out_features=16, dtype=None) + (to_v): Linear(in_features=16, out_features=16, dtype=None) + (to_out): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) + ) + ) + (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (mlp): MLP( + (linear_pre): Sequential( + (0): Linear(in_features=64, out_features=64, dtype=None) + (1): GELU(approximate=False) + ) + (linear_post): Linear(in_features=64, out_features=64, dtype=None) + (linears): LayerList() + ) + (ln_3): LayerNorm(normalized_shape=[64], epsilon=1e-05) + (mlp2): Linear(in_features=64, out_features=4, dtype=None) + ) + ) +) +Total Trainable Params: 281264 +Epoch 0 , train_step_loss:0.86000 , test_step_loss:0.74039 , test_full_loss:0.74049 +save model +Epoch 1 , train_step_loss:0.61999 , test_step_loss:0.49607 , test_full_loss:0.49624 +Epoch 2 , train_step_loss:0.37340 , test_step_loss:0.25669 , test_full_loss:0.25703 +Epoch 3 , train_step_loss:0.17432 , test_step_loss:0.11546 , test_full_loss:0.11605 +Epoch 4 , train_step_loss:0.09991 , test_step_loss:0.09237 , test_full_loss:0.09279 +Epoch 5 , train_step_loss:0.08498 , test_step_loss:0.08235 , test_full_loss:0.08307 +Epoch 6 , train_step_loss:0.07379 , test_step_loss:0.07000 , test_full_loss:0.07063 +Epoch 7 , train_step_loss:0.06059 , test_step_loss:0.05093 , test_full_loss:0.05221 +Epoch 8 , train_step_loss:0.04835 , test_step_loss:0.04631 , test_full_loss:0.04752 +Epoch 9 , train_step_loss:0.04467 , test_step_loss:0.04384 , test_full_loss:0.04490 +Epoch 10 , train_step_loss:0.04138 , test_step_loss:0.04339 , test_full_loss:0.04476 +Epoch 11 , train_step_loss:0.03892 , test_step_loss:0.03936 , test_full_loss:0.04077 +Epoch 12 , train_step_loss:0.03604 , test_step_loss:0.04010 , test_full_loss:0.04157 +Epoch 13 , train_step_loss:0.03342 , test_step_loss:0.03227 , test_full_loss:0.03402 +Epoch 14 , train_step_loss:0.03115 , test_step_loss:0.03179 , test_full_loss:0.03345 +Epoch 15 , train_step_loss:0.02888 , test_step_loss:0.02895 , test_full_loss:0.03104 +Epoch 16 , train_step_loss:0.02688 , test_step_loss:0.02758 , test_full_loss:0.02969 +Epoch 17 , train_step_loss:0.02578 , test_step_loss:0.02615 , test_full_loss:0.02819 +Epoch 18 , train_step_loss:0.02467 , test_step_loss:0.02460 , test_full_loss:0.02728 +Epoch 19 , train_step_loss:0.02342 , test_step_loss:0.02377 , test_full_loss:0.02616 +Epoch 20 , train_step_loss:0.02323 , test_step_loss:0.02354 , test_full_loss:0.02544 +Epoch 21 , train_step_loss:0.02238 , test_step_loss:0.02386 , test_full_loss:0.02589 +Epoch 22 , train_step_loss:0.02226 , test_step_loss:0.02158 , test_full_loss:0.02382 +Epoch 23 , train_step_loss:0.02167 , test_step_loss:0.02194 , test_full_loss:0.02440 +Epoch 24 , train_step_loss:0.02147 , test_step_loss:0.02360 , test_full_loss:0.02591 +Epoch 25 , train_step_loss:0.02062 , test_step_loss:0.02150 , test_full_loss:0.02376 +Epoch 26 , train_step_loss:0.02029 , test_step_loss:0.01964 , test_full_loss:0.02177 +Epoch 27 , train_step_loss:0.02027 , test_step_loss:0.01919 , test_full_loss:0.02122 +Epoch 28 , train_step_loss:0.01956 , test_step_loss:0.01932 , test_full_loss:0.02139 +Epoch 29 , train_step_loss:0.01895 , test_step_loss:0.01940 , test_full_loss:0.02109 +Epoch 30 , train_step_loss:0.01893 , test_step_loss:0.01800 , test_full_loss:0.01962 +Epoch 31 , train_step_loss:0.01859 , test_step_loss:0.01876 , test_full_loss:0.02047 +Epoch 32 , train_step_loss:0.01798 , test_step_loss:0.01738 , test_full_loss:0.01903 +Epoch 33 , train_step_loss:0.01730 , test_step_loss:0.01800 , test_full_loss:0.01928 +Epoch 34 , train_step_loss:0.01674 , test_step_loss:0.01693 , test_full_loss:0.01848 +Epoch 35 , train_step_loss:0.01627 , test_step_loss:0.01696 , test_full_loss:0.01789 +Epoch 36 , train_step_loss:0.01600 , test_step_loss:0.01655 , test_full_loss:0.01808 +Epoch 37 , train_step_loss:0.01542 , test_step_loss:0.01761 , test_full_loss:0.01846 +Epoch 38 , train_step_loss:0.01545 , test_step_loss:0.01405 , test_full_loss:0.01517 +Epoch 39 , train_step_loss:0.01526 , test_step_loss:0.01370 , test_full_loss:0.01492 +Epoch 40 , train_step_loss:0.01442 , test_step_loss:0.01507 , test_full_loss:0.01619 +Epoch 41 , train_step_loss:0.01413 , test_step_loss:0.01669 , test_full_loss:0.01859 +Epoch 42 , train_step_loss:0.01390 , test_step_loss:0.01544 , test_full_loss:0.01674 +Epoch 43 , train_step_loss:0.01396 , test_step_loss:0.01440 , test_full_loss:0.01550 +Epoch 44 , train_step_loss:0.01369 , test_step_loss:0.01410 , test_full_loss:0.01573 +Epoch 45 , train_step_loss:0.01281 , test_step_loss:0.01544 , test_full_loss:0.01663 +Epoch 46 , train_step_loss:0.01593 , test_step_loss:0.01724 , test_full_loss:0.01847 +Epoch 47 , train_step_loss:0.01366 , test_step_loss:0.01426 , test_full_loss:0.01555 +Epoch 48 , train_step_loss:0.01337 , test_step_loss:0.01780 , test_full_loss:0.01911 +Epoch 49 , train_step_loss:0.01239 , test_step_loss:0.01537 , test_full_loss:0.01661 +Epoch 50 , train_step_loss:0.01263 , test_step_loss:0.01415 , test_full_loss:0.01523 +Epoch 51 , train_step_loss:0.01247 , test_step_loss:0.01538 , test_full_loss:0.01636 +Epoch 52 , train_step_loss:0.01227 , test_step_loss:0.01289 , test_full_loss:0.01408 +Epoch 53 , train_step_loss:0.01227 , test_step_loss:0.01294 , test_full_loss:0.01453 +Epoch 54 , train_step_loss:0.01200 , test_step_loss:0.01223 , test_full_loss:0.01323 +Epoch 55 , train_step_loss:0.01253 , test_step_loss:0.01355 , test_full_loss:0.01445 +Epoch 56 , train_step_loss:0.01216 , test_step_loss:0.01139 , test_full_loss:0.01234 +Epoch 57 , train_step_loss:0.01116 , test_step_loss:0.01287 , test_full_loss:0.01441 +Epoch 58 , train_step_loss:0.01181 , test_step_loss:0.01201 , test_full_loss:0.01313 +Epoch 59 , train_step_loss:0.01130 , test_step_loss:0.01166 , test_full_loss:0.01259 +Epoch 60 , train_step_loss:0.01076 , test_step_loss:0.01395 , test_full_loss:0.01542 +Epoch 61 , train_step_loss:0.01217 , test_step_loss:0.01382 , test_full_loss:0.01546 +Epoch 62 , train_step_loss:0.01108 , test_step_loss:0.01106 , test_full_loss:0.01214 +Epoch 63 , train_step_loss:0.01264 , test_step_loss:0.01219 , test_full_loss:0.01330 +Epoch 64 , train_step_loss:0.01132 , test_step_loss:0.01202 , test_full_loss:0.01308 +Epoch 65 , train_step_loss:0.01188 , test_step_loss:0.01375 , test_full_loss:0.01521 +Epoch 66 , train_step_loss:0.01041 , test_step_loss:0.01159 , test_full_loss:0.01271 +Epoch 67 , train_step_loss:0.01113 , test_step_loss:0.01175 , test_full_loss:0.01284 +Epoch 68 , train_step_loss:0.01078 , test_step_loss:0.01187 , test_full_loss:0.01306 +Epoch 69 , train_step_loss:0.01172 , test_step_loss:0.01334 , test_full_loss:0.01488 +Epoch 70 , train_step_loss:0.01152 , test_step_loss:0.01299 , test_full_loss:0.01421 +Epoch 71 , train_step_loss:0.01053 , test_step_loss:0.01106 , test_full_loss:0.01210 +Epoch 72 , train_step_loss:0.01009 , test_step_loss:0.01365 , test_full_loss:0.01497 +Epoch 73 , train_step_loss:0.01305 , test_step_loss:0.01267 , test_full_loss:0.01421 +Epoch 74 , train_step_loss:0.01023 , test_step_loss:0.01320 , test_full_loss:0.01479 +Epoch 75 , train_step_loss:0.01112 , test_step_loss:0.01289 , test_full_loss:0.01436 +Epoch 76 , train_step_loss:0.00989 , test_step_loss:0.01167 , test_full_loss:0.01276 +Epoch 77 , train_step_loss:0.00973 , test_step_loss:0.01254 , test_full_loss:0.01355 +Epoch 78 , train_step_loss:0.01026 , test_step_loss:0.01127 , test_full_loss:0.01248 +Epoch 79 , train_step_loss:0.00942 , test_step_loss:0.01138 , test_full_loss:0.01238 +Epoch 80 , train_step_loss:0.00946 , test_step_loss:0.01104 , test_full_loss:0.01219 +Epoch 81 , train_step_loss:0.01002 , test_step_loss:0.01040 , test_full_loss:0.01140 +Epoch 82 , train_step_loss:0.00921 , test_step_loss:0.01101 , test_full_loss:0.01211 +Epoch 83 , train_step_loss:0.01160 , test_step_loss:0.00993 , test_full_loss:0.01093 +Epoch 84 , train_step_loss:0.01119 , test_step_loss:0.01110 , test_full_loss:0.01214 +Epoch 85 , train_step_loss:0.00939 , test_step_loss:0.01204 , test_full_loss:0.01376 +Epoch 86 , train_step_loss:0.01051 , test_step_loss:0.01030 , test_full_loss:0.01125 +Epoch 87 , train_step_loss:0.00908 , test_step_loss:0.01179 , test_full_loss:0.01313 +Epoch 88 , train_step_loss:0.00897 , test_step_loss:0.01205 , test_full_loss:0.01315 +Epoch 89 , train_step_loss:0.00998 , test_step_loss:0.01175 , test_full_loss:0.01319 +Epoch 90 , train_step_loss:0.00889 , test_step_loss:0.01096 , test_full_loss:0.01216 +Epoch 91 , train_step_loss:0.00881 , test_step_loss:0.01147 , test_full_loss:0.01284 +Epoch 92 , train_step_loss:0.00932 , test_step_loss:0.01149 , test_full_loss:0.01276 +Epoch 93 , train_step_loss:0.00840 , test_step_loss:0.01104 , test_full_loss:0.01220 +Epoch 94 , train_step_loss:0.00973 , test_step_loss:0.01030 , test_full_loss:0.01140 +Epoch 95 , train_step_loss:0.00854 , test_step_loss:0.01317 , test_full_loss:0.01424 +Epoch 96 , train_step_loss:0.00864 , test_step_loss:0.01198 , test_full_loss:0.01335 +Epoch 97 , train_step_loss:0.00926 , test_step_loss:0.01036 , test_full_loss:0.01133 +Epoch 98 , train_step_loss:0.00912 , test_step_loss:0.00901 , test_full_loss:0.01014 +Epoch 99 , train_step_loss:0.00822 , test_step_loss:0.01167 , test_full_loss:0.01306 +Epoch 100 , train_step_loss:0.00876 , test_step_loss:0.00972 , test_full_loss:0.01086 +save model +Epoch 101 , train_step_loss:0.00827 , test_step_loss:0.01012 , test_full_loss:0.01132 +Epoch 102 , train_step_loss:0.00817 , test_step_loss:0.00997 , test_full_loss:0.01100 +Epoch 103 , train_step_loss:0.00871 , test_step_loss:0.01152 , test_full_loss:0.01284 +Epoch 104 , train_step_loss:0.00803 , test_step_loss:0.01068 , test_full_loss:0.01186 +Epoch 105 , train_step_loss:0.00864 , test_step_loss:0.01008 , test_full_loss:0.01130 +Epoch 106 , train_step_loss:0.00799 , test_step_loss:0.01016 , test_full_loss:0.01155 +Epoch 107 , train_step_loss:0.00785 , test_step_loss:0.00947 , test_full_loss:0.01059 +Epoch 108 , train_step_loss:0.00802 , test_step_loss:0.01011 , test_full_loss:0.01147 +Epoch 109 , train_step_loss:0.00934 , test_step_loss:0.00955 , test_full_loss:0.01065 +Epoch 110 , train_step_loss:0.00779 , test_step_loss:0.01096 , test_full_loss:0.01239 +Epoch 111 , train_step_loss:0.00895 , test_step_loss:0.00884 , test_full_loss:0.00999 +Epoch 112 , train_step_loss:0.00775 , test_step_loss:0.01055 , test_full_loss:0.01157 +Epoch 113 , train_step_loss:0.00774 , test_step_loss:0.01075 , test_full_loss:0.01169 +Epoch 114 , train_step_loss:0.00834 , test_step_loss:0.00919 , test_full_loss:0.01013 +Epoch 115 , train_step_loss:0.00768 , test_step_loss:0.01027 , test_full_loss:0.01181 +Epoch 116 , train_step_loss:0.00795 , test_step_loss:0.01006 , test_full_loss:0.01129 +Epoch 117 , train_step_loss:0.00753 , test_step_loss:0.00939 , test_full_loss:0.01041 +Epoch 118 , train_step_loss:0.00850 , test_step_loss:0.00914 , test_full_loss:0.01022 +Epoch 119 , train_step_loss:0.00758 , test_step_loss:0.00917 , test_full_loss:0.01018 +Epoch 120 , train_step_loss:0.00835 , test_step_loss:0.00995 , test_full_loss:0.01093 +Epoch 121 , train_step_loss:0.00753 , test_step_loss:0.00962 , test_full_loss:0.01090 +Epoch 122 , train_step_loss:0.00757 , test_step_loss:0.01238 , test_full_loss:0.01352 +Epoch 123 , train_step_loss:0.00795 , test_step_loss:0.00967 , test_full_loss:0.01085 +Epoch 124 , train_step_loss:0.00744 , test_step_loss:0.01016 , test_full_loss:0.01143 +Epoch 125 , train_step_loss:0.00737 , test_step_loss:0.00895 , test_full_loss:0.01003 +Epoch 126 , train_step_loss:0.00776 , test_step_loss:0.00897 , test_full_loss:0.01011 +Epoch 127 , train_step_loss:0.00727 , test_step_loss:0.00983 , test_full_loss:0.01071 +Epoch 128 , train_step_loss:0.00723 , test_step_loss:0.00914 , test_full_loss:0.00992 +Epoch 129 , train_step_loss:0.00808 , test_step_loss:0.00943 , test_full_loss:0.01090 +Epoch 130 , train_step_loss:0.00712 , test_step_loss:0.00917 , test_full_loss:0.01030 +Epoch 131 , train_step_loss:0.00796 , test_step_loss:0.01065 , test_full_loss:0.01201 +Epoch 132 , train_step_loss:0.00719 , test_step_loss:0.01047 , test_full_loss:0.01154 +Epoch 133 , train_step_loss:0.00731 , test_step_loss:0.00880 , test_full_loss:0.00966 +Epoch 134 , train_step_loss:0.00777 , test_step_loss:0.00866 , test_full_loss:0.00970 +Epoch 135 , train_step_loss:0.00710 , test_step_loss:0.00958 , test_full_loss:0.01079 +Epoch 136 , train_step_loss:0.00779 , test_step_loss:0.00899 , test_full_loss:0.00997 +Epoch 137 , train_step_loss:0.00703 , test_step_loss:0.00931 , test_full_loss:0.01047 +Epoch 138 , train_step_loss:0.00706 , test_step_loss:0.00850 , test_full_loss:0.00956 +Epoch 139 , train_step_loss:0.00748 , test_step_loss:0.00832 , test_full_loss:0.00920 +Epoch 140 , train_step_loss:0.00683 , test_step_loss:0.00949 , test_full_loss:0.01068 +Epoch 141 , train_step_loss:0.00739 , test_step_loss:0.00961 , test_full_loss:0.01043 +Epoch 142 , train_step_loss:0.00701 , test_step_loss:0.00919 , test_full_loss:0.01043 +Epoch 143 , train_step_loss:0.00715 , test_step_loss:0.00839 , test_full_loss:0.00958 +Epoch 144 , train_step_loss:0.00743 , test_step_loss:0.00871 , test_full_loss:0.00975 +Epoch 145 , train_step_loss:0.00689 , test_step_loss:0.00929 , test_full_loss:0.01046 +Epoch 146 , train_step_loss:0.00688 , test_step_loss:0.00822 , test_full_loss:0.00923 +Epoch 147 , train_step_loss:0.00718 , test_step_loss:0.00920 , test_full_loss:0.01029 +Epoch 148 , train_step_loss:0.00671 , test_step_loss:0.01151 , test_full_loss:0.01283 +Epoch 149 , train_step_loss:0.00683 , test_step_loss:0.00854 , test_full_loss:0.00947 +Epoch 150 , train_step_loss:0.00780 , test_step_loss:0.00839 , test_full_loss:0.00940 +Epoch 151 , train_step_loss:0.00681 , test_step_loss:0.00844 , test_full_loss:0.00953 +Epoch 152 , train_step_loss:0.00678 , test_step_loss:0.00931 , test_full_loss:0.01051 +Epoch 153 , train_step_loss:0.00708 , test_step_loss:0.00861 , test_full_loss:0.00975 +Epoch 154 , train_step_loss:0.00674 , test_step_loss:0.00907 , test_full_loss:0.01013 +Epoch 155 , train_step_loss:0.00690 , test_step_loss:0.00879 , test_full_loss:0.00997 +Epoch 156 , train_step_loss:0.00678 , test_step_loss:0.00824 , test_full_loss:0.00919 +Epoch 157 , train_step_loss:0.00678 , test_step_loss:0.00936 , test_full_loss:0.01042 +Epoch 158 , train_step_loss:0.00673 , test_step_loss:0.00945 , test_full_loss:0.01074 +Epoch 159 , train_step_loss:0.00666 , test_step_loss:0.00911 , test_full_loss:0.01019 +Epoch 160 , train_step_loss:0.00714 , test_step_loss:0.00826 , test_full_loss:0.00912 +Epoch 161 , train_step_loss:0.00672 , test_step_loss:0.00827 , test_full_loss:0.00914 +Epoch 162 , train_step_loss:0.00669 , test_step_loss:0.00820 , test_full_loss:0.00915 +Epoch 163 , train_step_loss:0.00671 , test_step_loss:0.00841 , test_full_loss:0.00946 +Epoch 164 , train_step_loss:0.00667 , test_step_loss:0.00875 , test_full_loss:0.00965 +Epoch 165 , train_step_loss:0.00653 , test_step_loss:0.00759 , test_full_loss:0.00850 +Epoch 166 , train_step_loss:0.00669 , test_step_loss:0.00831 , test_full_loss:0.00934 +Epoch 167 , train_step_loss:0.00656 , test_step_loss:0.00853 , test_full_loss:0.00945 +Epoch 168 , train_step_loss:0.00647 , test_step_loss:0.00866 , test_full_loss:0.00962 +Epoch 169 , train_step_loss:0.00684 , test_step_loss:0.00751 , test_full_loss:0.00836 +Epoch 170 , train_step_loss:0.00644 , test_step_loss:0.00903 , test_full_loss:0.01002 +Epoch 171 , train_step_loss:0.00663 , test_step_loss:0.00789 , test_full_loss:0.00883 +Epoch 172 , train_step_loss:0.00633 , test_step_loss:0.00802 , test_full_loss:0.00904 +Epoch 173 , train_step_loss:0.00655 , test_step_loss:0.00841 , test_full_loss:0.00926 +Epoch 174 , train_step_loss:0.00640 , test_step_loss:0.00777 , test_full_loss:0.00877 +Epoch 175 , train_step_loss:0.00647 , test_step_loss:0.00903 , test_full_loss:0.01024 +Epoch 176 , train_step_loss:0.00668 , test_step_loss:0.00872 , test_full_loss:0.00979 +Epoch 177 , train_step_loss:0.00643 , test_step_loss:0.00893 , test_full_loss:0.01003 +Epoch 178 , train_step_loss:0.00640 , test_step_loss:0.00968 , test_full_loss:0.01113 +Epoch 179 , train_step_loss:0.00649 , test_step_loss:0.00829 , test_full_loss:0.00932 +Epoch 180 , train_step_loss:0.00625 , test_step_loss:0.00856 , test_full_loss:0.00969 +Epoch 181 , train_step_loss:0.00636 , test_step_loss:0.00760 , test_full_loss:0.00841 +Epoch 182 , train_step_loss:0.00661 , test_step_loss:0.00788 , test_full_loss:0.00874 +Epoch 183 , train_step_loss:0.00628 , test_step_loss:0.00817 , test_full_loss:0.00920 +Epoch 184 , train_step_loss:0.00621 , test_step_loss:0.00836 , test_full_loss:0.00942 +Epoch 185 , train_step_loss:0.00642 , test_step_loss:0.00872 , test_full_loss:0.00977 +Epoch 186 , train_step_loss:0.00627 , test_step_loss:0.00848 , test_full_loss:0.00951 +Epoch 187 , train_step_loss:0.00627 , test_step_loss:0.00768 , test_full_loss:0.00857 +Epoch 188 , train_step_loss:0.00611 , test_step_loss:0.00888 , test_full_loss:0.00994 +Epoch 189 , train_step_loss:0.00621 , test_step_loss:0.00792 , test_full_loss:0.00896 +Epoch 190 , train_step_loss:0.00610 , test_step_loss:0.00811 , test_full_loss:0.00906 +Epoch 191 , train_step_loss:0.00635 , test_step_loss:0.00809 , test_full_loss:0.00900 +Epoch 192 , train_step_loss:0.00597 , test_step_loss:0.00725 , test_full_loss:0.00821 +Epoch 193 , train_step_loss:0.00615 , test_step_loss:0.00772 , test_full_loss:0.00869 +Epoch 194 , train_step_loss:0.00612 , test_step_loss:0.00759 , test_full_loss:0.00846 +Epoch 195 , train_step_loss:0.00651 , test_step_loss:0.00846 , test_full_loss:0.00957 +Epoch 196 , train_step_loss:0.00610 , test_step_loss:0.00819 , test_full_loss:0.00922 +Epoch 197 , train_step_loss:0.00618 , test_step_loss:0.00824 , test_full_loss:0.00915 +Epoch 198 , train_step_loss:0.00610 , test_step_loss:0.00802 , test_full_loss:0.00898 +Epoch 199 , train_step_loss:0.00610 , test_step_loss:0.00792 , test_full_loss:0.00882 +Epoch 200 , train_step_loss:0.00639 , test_step_loss:0.00993 , test_full_loss:0.01110 +save model +Epoch 201 , train_step_loss:0.00605 , test_step_loss:0.00703 , test_full_loss:0.00778 +Epoch 202 , train_step_loss:0.00604 , test_step_loss:0.00745 , test_full_loss:0.00822 +Epoch 203 , train_step_loss:0.00602 , test_step_loss:0.00758 , test_full_loss:0.00859 +Epoch 204 , train_step_loss:0.00603 , test_step_loss:0.00778 , test_full_loss:0.00870 +Epoch 205 , train_step_loss:0.00620 , test_step_loss:0.00821 , test_full_loss:0.00937 +Epoch 206 , train_step_loss:0.00596 , test_step_loss:0.00752 , test_full_loss:0.00836 +Epoch 207 , train_step_loss:0.00595 , test_step_loss:0.00763 , test_full_loss:0.00862 +Epoch 208 , train_step_loss:0.00606 , test_step_loss:0.00754 , test_full_loss:0.00868 +Epoch 209 , train_step_loss:0.00594 , test_step_loss:0.00838 , test_full_loss:0.00954 +Epoch 210 , train_step_loss:0.00597 , test_step_loss:0.00789 , test_full_loss:0.00884 +Epoch 211 , train_step_loss:0.00590 , test_step_loss:0.00822 , test_full_loss:0.00921 +Epoch 212 , train_step_loss:0.00583 , test_step_loss:0.00847 , test_full_loss:0.00952 +Epoch 213 , train_step_loss:0.00582 , test_step_loss:0.00740 , test_full_loss:0.00838 +Epoch 214 , train_step_loss:0.00584 , test_step_loss:0.00729 , test_full_loss:0.00816 +Epoch 215 , train_step_loss:0.00584 , test_step_loss:0.00819 , test_full_loss:0.00924 +Epoch 216 , train_step_loss:0.00578 , test_step_loss:0.00732 , test_full_loss:0.00812 +Epoch 217 , train_step_loss:0.00631 , test_step_loss:0.00861 , test_full_loss:0.00933 +Epoch 218 , train_step_loss:0.00577 , test_step_loss:0.00804 , test_full_loss:0.00896 +Epoch 219 , train_step_loss:0.00577 , test_step_loss:0.00925 , test_full_loss:0.01023 +Epoch 220 , train_step_loss:0.00573 , test_step_loss:0.00939 , test_full_loss:0.01079 +Epoch 221 , train_step_loss:0.00579 , test_step_loss:0.00777 , test_full_loss:0.00862 +Epoch 222 , train_step_loss:0.00570 , test_step_loss:0.00705 , test_full_loss:0.00784 +Epoch 223 , train_step_loss:0.00578 , test_step_loss:0.00707 , test_full_loss:0.00796 +Epoch 224 , train_step_loss:0.00574 , test_step_loss:0.00752 , test_full_loss:0.00839 +Epoch 225 , train_step_loss:0.00571 , test_step_loss:0.00851 , test_full_loss:0.00962 +Epoch 226 , train_step_loss:0.00571 , test_step_loss:0.00719 , test_full_loss:0.00800 +Epoch 227 , train_step_loss:0.00569 , test_step_loss:0.00722 , test_full_loss:0.00812 +Epoch 228 , train_step_loss:0.00571 , test_step_loss:0.00874 , test_full_loss:0.00974 +Epoch 229 , train_step_loss:0.00573 , test_step_loss:0.00817 , test_full_loss:0.00923 +Epoch 230 , train_step_loss:0.00573 , test_step_loss:0.00724 , test_full_loss:0.00817 +Epoch 231 , train_step_loss:0.00582 , test_step_loss:0.00700 , test_full_loss:0.00801 +Epoch 232 , train_step_loss:0.00559 , test_step_loss:0.00668 , test_full_loss:0.00748 +Epoch 233 , train_step_loss:0.00566 , test_step_loss:0.00768 , test_full_loss:0.00848 +Epoch 234 , train_step_loss:0.00589 , test_step_loss:0.00751 , test_full_loss:0.00861 +Epoch 235 , train_step_loss:0.00559 , test_step_loss:0.00750 , test_full_loss:0.00838 +Epoch 236 , train_step_loss:0.00562 , test_step_loss:0.00772 , test_full_loss:0.00865 +Epoch 237 , train_step_loss:0.00564 , test_step_loss:0.00737 , test_full_loss:0.00817 +Epoch 238 , train_step_loss:0.00581 , test_step_loss:0.00716 , test_full_loss:0.00809 +Epoch 239 , train_step_loss:0.00558 , test_step_loss:0.00755 , test_full_loss:0.00852 +Epoch 240 , train_step_loss:0.00571 , test_step_loss:0.00684 , test_full_loss:0.00769 +Epoch 241 , train_step_loss:0.00558 , test_step_loss:0.00729 , test_full_loss:0.00824 +Epoch 242 , train_step_loss:0.00557 , test_step_loss:0.00891 , test_full_loss:0.00995 +Epoch 243 , train_step_loss:0.00551 , test_step_loss:0.00752 , test_full_loss:0.00859 +Epoch 244 , train_step_loss:0.00551 , test_step_loss:0.00724 , test_full_loss:0.00806 +Epoch 245 , train_step_loss:0.00553 , test_step_loss:0.00802 , test_full_loss:0.00879 +Epoch 246 , train_step_loss:0.00551 , test_step_loss:0.00698 , test_full_loss:0.00796 +Epoch 247 , train_step_loss:0.00551 , test_step_loss:0.00779 , test_full_loss:0.00887 +Epoch 248 , train_step_loss:0.00547 , test_step_loss:0.00685 , test_full_loss:0.00778 +Epoch 249 , train_step_loss:0.00552 , test_step_loss:0.00686 , test_full_loss:0.00770 +Epoch 250 , train_step_loss:0.00573 , test_step_loss:0.00778 , test_full_loss:0.00876 +Epoch 251 , train_step_loss:0.00539 , test_step_loss:0.00684 , test_full_loss:0.00765 +Epoch 252 , train_step_loss:0.00553 , test_step_loss:0.00972 , test_full_loss:0.01055 +Epoch 253 , train_step_loss:0.00545 , test_step_loss:0.00796 , test_full_loss:0.00893 +Epoch 254 , train_step_loss:0.00543 , test_step_loss:0.00741 , test_full_loss:0.00820 +Epoch 255 , train_step_loss:0.00533 , test_step_loss:0.00731 , test_full_loss:0.00810 +Epoch 256 , train_step_loss:0.00545 , test_step_loss:0.00780 , test_full_loss:0.00873 +Epoch 257 , train_step_loss:0.00542 , test_step_loss:0.00705 , test_full_loss:0.00794 +Epoch 258 , train_step_loss:0.00540 , test_step_loss:0.00644 , test_full_loss:0.00725 +Epoch 259 , train_step_loss:0.00532 , test_step_loss:0.00774 , test_full_loss:0.00890 +Epoch 260 , train_step_loss:0.00535 , test_step_loss:0.00733 , test_full_loss:0.00824 +Epoch 261 , train_step_loss:0.00529 , test_step_loss:0.00709 , test_full_loss:0.00792 +Epoch 262 , train_step_loss:0.00542 , test_step_loss:0.00772 , test_full_loss:0.00829 +Epoch 263 , train_step_loss:0.00533 , test_step_loss:0.00756 , test_full_loss:0.00855 +Epoch 264 , train_step_loss:0.00539 , test_step_loss:0.00727 , test_full_loss:0.00812 +Epoch 265 , train_step_loss:0.00546 , test_step_loss:0.00727 , test_full_loss:0.00822 +Epoch 266 , train_step_loss:0.00530 , test_step_loss:0.00782 , test_full_loss:0.00890 +Epoch 267 , train_step_loss:0.00536 , test_step_loss:0.00703 , test_full_loss:0.00785 +Epoch 268 , train_step_loss:0.00532 , test_step_loss:0.00607 , test_full_loss:0.00687 +Epoch 269 , train_step_loss:0.00526 , test_step_loss:0.00718 , test_full_loss:0.00795 +Epoch 270 , train_step_loss:0.00523 , test_step_loss:0.00681 , test_full_loss:0.00769 +Epoch 271 , train_step_loss:0.00528 , test_step_loss:0.00716 , test_full_loss:0.00800 +Epoch 272 , train_step_loss:0.00529 , test_step_loss:0.00635 , test_full_loss:0.00714 +Epoch 273 , train_step_loss:0.00521 , test_step_loss:0.00708 , test_full_loss:0.00818 +Epoch 274 , train_step_loss:0.00530 , test_step_loss:0.00752 , test_full_loss:0.00833 +Epoch 275 , train_step_loss:0.00520 , test_step_loss:0.00754 , test_full_loss:0.00822 +Epoch 276 , train_step_loss:0.00520 , test_step_loss:0.00798 , test_full_loss:0.00889 +Epoch 277 , train_step_loss:0.00526 , test_step_loss:0.00761 , test_full_loss:0.00861 +Epoch 278 , train_step_loss:0.00526 , test_step_loss:0.00670 , test_full_loss:0.00757 +Epoch 279 , train_step_loss:0.00519 , test_step_loss:0.00660 , test_full_loss:0.00729 +Epoch 280 , train_step_loss:0.00515 , test_step_loss:0.00706 , test_full_loss:0.00778 +Epoch 281 , train_step_loss:0.00516 , test_step_loss:0.00660 , test_full_loss:0.00740 +Epoch 282 , train_step_loss:0.00518 , test_step_loss:0.00715 , test_full_loss:0.00796 +Epoch 283 , train_step_loss:0.00517 , test_step_loss:0.00657 , test_full_loss:0.00737 +Epoch 284 , train_step_loss:0.00523 , test_step_loss:0.00640 , test_full_loss:0.00709 +Epoch 285 , train_step_loss:0.00499 , test_step_loss:0.00714 , test_full_loss:0.00806 +Epoch 286 , train_step_loss:0.00512 , test_step_loss:0.00840 , test_full_loss:0.00928 +Epoch 287 , train_step_loss:0.00510 , test_step_loss:0.00625 , test_full_loss:0.00695 +Epoch 288 , train_step_loss:0.00505 , test_step_loss:0.00714 , test_full_loss:0.00802 +Epoch 289 , train_step_loss:0.00506 , test_step_loss:0.00629 , test_full_loss:0.00707 +Epoch 290 , train_step_loss:0.00510 , test_step_loss:0.00752 , test_full_loss:0.00835 +Epoch 291 , train_step_loss:0.00499 , test_step_loss:0.00636 , test_full_loss:0.00704 +Epoch 292 , train_step_loss:0.00508 , test_step_loss:0.00708 , test_full_loss:0.00783 +Epoch 293 , train_step_loss:0.00507 , test_step_loss:0.00769 , test_full_loss:0.00867 +Epoch 294 , train_step_loss:0.00507 , test_step_loss:0.00650 , test_full_loss:0.00718 +Epoch 295 , train_step_loss:0.00510 , test_step_loss:0.00696 , test_full_loss:0.00794 +Epoch 296 , train_step_loss:0.00503 , test_step_loss:0.00676 , test_full_loss:0.00739 +Epoch 297 , train_step_loss:0.00498 , test_step_loss:0.00840 , test_full_loss:0.00967 +Epoch 298 , train_step_loss:0.00498 , test_step_loss:0.00722 , test_full_loss:0.00805 +Epoch 299 , train_step_loss:0.00499 , test_step_loss:0.00643 , test_full_loss:0.00710 +Epoch 300 , train_step_loss:0.00502 , test_step_loss:0.00596 , test_full_loss:0.00678 +save model +Epoch 301 , train_step_loss:0.00493 , test_step_loss:0.00764 , test_full_loss:0.00856 +Epoch 302 , train_step_loss:0.00485 , test_step_loss:0.00667 , test_full_loss:0.00743 +Epoch 303 , train_step_loss:0.00489 , test_step_loss:0.00710 , test_full_loss:0.00793 +Epoch 304 , train_step_loss:0.00495 , test_step_loss:0.00686 , test_full_loss:0.00775 +Epoch 305 , train_step_loss:0.00489 , test_step_loss:0.00587 , test_full_loss:0.00663 +Epoch 306 , train_step_loss:0.00490 , test_step_loss:0.00656 , test_full_loss:0.00707 +Epoch 307 , train_step_loss:0.00490 , test_step_loss:0.00621 , test_full_loss:0.00698 +Epoch 308 , train_step_loss:0.00481 , test_step_loss:0.00606 , test_full_loss:0.00684 +Epoch 309 , train_step_loss:0.00469 , test_step_loss:0.00594 , test_full_loss:0.00663 +Epoch 310 , train_step_loss:0.00480 , test_step_loss:0.00587 , test_full_loss:0.00652 +Epoch 311 , train_step_loss:0.00482 , test_step_loss:0.00619 , test_full_loss:0.00703 +Epoch 312 , train_step_loss:0.00470 , test_step_loss:0.00639 , test_full_loss:0.00697 +Epoch 313 , train_step_loss:0.00475 , test_step_loss:0.00583 , test_full_loss:0.00649 +Epoch 314 , train_step_loss:0.00473 , test_step_loss:0.00544 , test_full_loss:0.00611 +Epoch 315 , train_step_loss:0.00473 , test_step_loss:0.00690 , test_full_loss:0.00772 +Epoch 316 , train_step_loss:0.00473 , test_step_loss:0.00672 , test_full_loss:0.00768 +Epoch 317 , train_step_loss:0.00477 , test_step_loss:0.00629 , test_full_loss:0.00709 +Epoch 318 , train_step_loss:0.00483 , test_step_loss:0.00617 , test_full_loss:0.00689 +Epoch 319 , train_step_loss:0.00475 , test_step_loss:0.00607 , test_full_loss:0.00678 +Epoch 320 , train_step_loss:0.00475 , test_step_loss:0.00622 , test_full_loss:0.00691 +Epoch 321 , train_step_loss:0.00472 , test_step_loss:0.00686 , test_full_loss:0.00760 +Epoch 322 , train_step_loss:0.00472 , test_step_loss:0.00647 , test_full_loss:0.00716 +Epoch 323 , train_step_loss:0.00468 , test_step_loss:0.00690 , test_full_loss:0.00782 +Epoch 324 , train_step_loss:0.00467 , test_step_loss:0.00539 , test_full_loss:0.00597 +Epoch 325 , train_step_loss:0.00466 , test_step_loss:0.00570 , test_full_loss:0.00635 +Epoch 326 , train_step_loss:0.00469 , test_step_loss:0.00597 , test_full_loss:0.00667 +Epoch 327 , train_step_loss:0.00455 , test_step_loss:0.00564 , test_full_loss:0.00629 +Epoch 328 , train_step_loss:0.00461 , test_step_loss:0.00549 , test_full_loss:0.00613 +Epoch 329 , train_step_loss:0.00463 , test_step_loss:0.00594 , test_full_loss:0.00667 +Epoch 330 , train_step_loss:0.00461 , test_step_loss:0.00545 , test_full_loss:0.00612 +Epoch 331 , train_step_loss:0.00456 , test_step_loss:0.00673 , test_full_loss:0.00764 +Epoch 332 , train_step_loss:0.00453 , test_step_loss:0.00633 , test_full_loss:0.00702 +Epoch 333 , train_step_loss:0.00453 , test_step_loss:0.00647 , test_full_loss:0.00735 +Epoch 334 , train_step_loss:0.00458 , test_step_loss:0.00597 , test_full_loss:0.00666 +Epoch 335 , train_step_loss:0.00456 , test_step_loss:0.00591 , test_full_loss:0.00661 +Epoch 336 , train_step_loss:0.00442 , test_step_loss:0.00586 , test_full_loss:0.00667 +Epoch 337 , train_step_loss:0.00443 , test_step_loss:0.00590 , test_full_loss:0.00668 +Epoch 338 , train_step_loss:0.00441 , test_step_loss:0.00688 , test_full_loss:0.00753 +Epoch 339 , train_step_loss:0.00446 , test_step_loss:0.00636 , test_full_loss:0.00711 +Epoch 340 , train_step_loss:0.00444 , test_step_loss:0.00572 , test_full_loss:0.00638 +Epoch 341 , train_step_loss:0.00445 , test_step_loss:0.00536 , test_full_loss:0.00588 +Epoch 342 , train_step_loss:0.00436 , test_step_loss:0.00563 , test_full_loss:0.00625 +Epoch 343 , train_step_loss:0.00443 , test_step_loss:0.00545 , test_full_loss:0.00615 +Epoch 344 , train_step_loss:0.00434 , test_step_loss:0.00554 , test_full_loss:0.00606 +Epoch 345 , train_step_loss:0.00431 , test_step_loss:0.00629 , test_full_loss:0.00694 +Epoch 346 , train_step_loss:0.00437 , test_step_loss:0.00690 , test_full_loss:0.00753 +Epoch 347 , train_step_loss:0.00435 , test_step_loss:0.00538 , test_full_loss:0.00600 +Epoch 348 , train_step_loss:0.00437 , test_step_loss:0.00638 , test_full_loss:0.00712 +Epoch 349 , train_step_loss:0.00434 , test_step_loss:0.00631 , test_full_loss:0.00706 +Epoch 350 , train_step_loss:0.00434 , test_step_loss:0.00556 , test_full_loss:0.00623 +Epoch 351 , train_step_loss:0.00431 , test_step_loss:0.00533 , test_full_loss:0.00602 +Epoch 352 , train_step_loss:0.00427 , test_step_loss:0.00582 , test_full_loss:0.00653 +Epoch 353 , train_step_loss:0.00423 , test_step_loss:0.00588 , test_full_loss:0.00652 +Epoch 354 , train_step_loss:0.00426 , test_step_loss:0.00522 , test_full_loss:0.00586 +Epoch 355 , train_step_loss:0.00425 , test_step_loss:0.00561 , test_full_loss:0.00634 +Epoch 356 , train_step_loss:0.00420 , test_step_loss:0.00522 , test_full_loss:0.00584 +Epoch 357 , train_step_loss:0.00420 , test_step_loss:0.00534 , test_full_loss:0.00593 +Epoch 358 , train_step_loss:0.00416 , test_step_loss:0.00523 , test_full_loss:0.00590 +Epoch 359 , train_step_loss:0.00420 , test_step_loss:0.00594 , test_full_loss:0.00663 +Epoch 360 , train_step_loss:0.00414 , test_step_loss:0.00513 , test_full_loss:0.00576 +Epoch 361 , train_step_loss:0.00408 , test_step_loss:0.00738 , test_full_loss:0.00797 +Epoch 362 , train_step_loss:0.00411 , test_step_loss:0.00555 , test_full_loss:0.00616 +Epoch 363 , train_step_loss:0.00412 , test_step_loss:0.00563 , test_full_loss:0.00628 +Epoch 364 , train_step_loss:0.00408 , test_step_loss:0.00507 , test_full_loss:0.00572 +Epoch 365 , train_step_loss:0.00412 , test_step_loss:0.00562 , test_full_loss:0.00621 +Epoch 366 , train_step_loss:0.00404 , test_step_loss:0.00546 , test_full_loss:0.00605 +Epoch 367 , train_step_loss:0.00403 , test_step_loss:0.00553 , test_full_loss:0.00600 +Epoch 368 , train_step_loss:0.00401 , test_step_loss:0.00498 , test_full_loss:0.00562 +Epoch 369 , train_step_loss:0.00404 , test_step_loss:0.00459 , test_full_loss:0.00512 +Epoch 370 , train_step_loss:0.00400 , test_step_loss:0.00498 , test_full_loss:0.00556 +Epoch 371 , train_step_loss:0.00401 , test_step_loss:0.00505 , test_full_loss:0.00560 +Epoch 372 , train_step_loss:0.00397 , test_step_loss:0.00507 , test_full_loss:0.00568 +Epoch 373 , train_step_loss:0.00400 , test_step_loss:0.00517 , test_full_loss:0.00586 +Epoch 374 , train_step_loss:0.00394 , test_step_loss:0.00458 , test_full_loss:0.00508 +Epoch 375 , train_step_loss:0.00397 , test_step_loss:0.00575 , test_full_loss:0.00632 +Epoch 376 , train_step_loss:0.00395 , test_step_loss:0.00528 , test_full_loss:0.00587 +Epoch 377 , train_step_loss:0.00391 , test_step_loss:0.00493 , test_full_loss:0.00549 +Epoch 378 , train_step_loss:0.00387 , test_step_loss:0.00496 , test_full_loss:0.00560 +Epoch 379 , train_step_loss:0.00388 , test_step_loss:0.00487 , test_full_loss:0.00534 +Epoch 380 , train_step_loss:0.00386 , test_step_loss:0.00486 , test_full_loss:0.00541 +Epoch 381 , train_step_loss:0.00382 , test_step_loss:0.00454 , test_full_loss:0.00506 +Epoch 382 , train_step_loss:0.00384 , test_step_loss:0.00477 , test_full_loss:0.00533 +Epoch 383 , train_step_loss:0.00382 , test_step_loss:0.00436 , test_full_loss:0.00482 +Epoch 384 , train_step_loss:0.00384 , test_step_loss:0.00502 , test_full_loss:0.00548 +Epoch 385 , train_step_loss:0.00386 , test_step_loss:0.00515 , test_full_loss:0.00569 +Epoch 386 , train_step_loss:0.00379 , test_step_loss:0.00469 , test_full_loss:0.00521 +Epoch 387 , train_step_loss:0.00378 , test_step_loss:0.00455 , test_full_loss:0.00510 +Epoch 388 , train_step_loss:0.00375 , test_step_loss:0.00483 , test_full_loss:0.00537 +Epoch 389 , train_step_loss:0.00379 , test_step_loss:0.00497 , test_full_loss:0.00542 +Epoch 390 , train_step_loss:0.00372 , test_step_loss:0.00496 , test_full_loss:0.00554 +Epoch 391 , train_step_loss:0.00376 , test_step_loss:0.00464 , test_full_loss:0.00517 +Epoch 392 , train_step_loss:0.00372 , test_step_loss:0.00468 , test_full_loss:0.00520 +Epoch 393 , train_step_loss:0.00368 , test_step_loss:0.00514 , test_full_loss:0.00564 +Epoch 394 , train_step_loss:0.00371 , test_step_loss:0.00467 , test_full_loss:0.00515 +Epoch 395 , train_step_loss:0.00365 , test_step_loss:0.00431 , test_full_loss:0.00480 +Epoch 396 , train_step_loss:0.00368 , test_step_loss:0.00484 , test_full_loss:0.00531 +Epoch 397 , train_step_loss:0.00363 , test_step_loss:0.00491 , test_full_loss:0.00543 +Epoch 398 , train_step_loss:0.00361 , test_step_loss:0.00423 , test_full_loss:0.00467 +Epoch 399 , train_step_loss:0.00361 , test_step_loss:0.00435 , test_full_loss:0.00485 +Epoch 400 , train_step_loss:0.00359 , test_step_loss:0.00443 , test_full_loss:0.00489 +save model +Epoch 401 , train_step_loss:0.00360 , test_step_loss:0.00461 , test_full_loss:0.00516 +Epoch 402 , train_step_loss:0.00356 , test_step_loss:0.00460 , test_full_loss:0.00508 +Epoch 403 , train_step_loss:0.00353 , test_step_loss:0.00461 , test_full_loss:0.00511 +Epoch 404 , train_step_loss:0.00356 , test_step_loss:0.00442 , test_full_loss:0.00483 +Epoch 405 , train_step_loss:0.00352 , test_step_loss:0.00476 , test_full_loss:0.00531 +Epoch 406 , train_step_loss:0.00350 , test_step_loss:0.00468 , test_full_loss:0.00520 +Epoch 407 , train_step_loss:0.00348 , test_step_loss:0.00436 , test_full_loss:0.00477 +Epoch 408 , train_step_loss:0.00348 , test_step_loss:0.00417 , test_full_loss:0.00464 +Epoch 409 , train_step_loss:0.00351 , test_step_loss:0.00411 , test_full_loss:0.00458 +Epoch 410 , train_step_loss:0.00343 , test_step_loss:0.00422 , test_full_loss:0.00470 +Epoch 411 , train_step_loss:0.00342 , test_step_loss:0.00439 , test_full_loss:0.00487 +Epoch 412 , train_step_loss:0.00345 , test_step_loss:0.00400 , test_full_loss:0.00441 +Epoch 413 , train_step_loss:0.00342 , test_step_loss:0.00450 , test_full_loss:0.00495 +Epoch 414 , train_step_loss:0.00341 , test_step_loss:0.00458 , test_full_loss:0.00508 +Epoch 415 , train_step_loss:0.00341 , test_step_loss:0.00414 , test_full_loss:0.00454 +Epoch 416 , train_step_loss:0.00338 , test_step_loss:0.00392 , test_full_loss:0.00433 +Epoch 417 , train_step_loss:0.00337 , test_step_loss:0.00411 , test_full_loss:0.00457 +Epoch 418 , train_step_loss:0.00335 , test_step_loss:0.00439 , test_full_loss:0.00481 +Epoch 419 , train_step_loss:0.00333 , test_step_loss:0.00422 , test_full_loss:0.00473 +Epoch 420 , train_step_loss:0.00332 , test_step_loss:0.00377 , test_full_loss:0.00418 +Epoch 421 , train_step_loss:0.00332 , test_step_loss:0.00390 , test_full_loss:0.00440 +Epoch 422 , train_step_loss:0.00330 , test_step_loss:0.00407 , test_full_loss:0.00447 +Epoch 423 , train_step_loss:0.00330 , test_step_loss:0.00445 , test_full_loss:0.00490 +Epoch 424 , train_step_loss:0.00329 , test_step_loss:0.00411 , test_full_loss:0.00456 +Epoch 425 , train_step_loss:0.00326 , test_step_loss:0.00398 , test_full_loss:0.00439 +Epoch 426 , train_step_loss:0.00326 , test_step_loss:0.00400 , test_full_loss:0.00445 +Epoch 427 , train_step_loss:0.00324 , test_step_loss:0.00418 , test_full_loss:0.00470 +Epoch 428 , train_step_loss:0.00325 , test_step_loss:0.00400 , test_full_loss:0.00443 +Epoch 429 , train_step_loss:0.00320 , test_step_loss:0.00414 , test_full_loss:0.00458 +Epoch 430 , train_step_loss:0.00324 , test_step_loss:0.00420 , test_full_loss:0.00462 +Epoch 431 , train_step_loss:0.00323 , test_step_loss:0.00393 , test_full_loss:0.00438 +Epoch 432 , train_step_loss:0.00321 , test_step_loss:0.00401 , test_full_loss:0.00450 +Epoch 433 , train_step_loss:0.00319 , test_step_loss:0.00397 , test_full_loss:0.00444 +Epoch 434 , train_step_loss:0.00320 , test_step_loss:0.00370 , test_full_loss:0.00411 +Epoch 435 , train_step_loss:0.00315 , test_step_loss:0.00411 , test_full_loss:0.00453 +Epoch 436 , train_step_loss:0.00316 , test_step_loss:0.00478 , test_full_loss:0.00528 +Epoch 437 , train_step_loss:0.00317 , test_step_loss:0.00356 , test_full_loss:0.00396 +Epoch 438 , train_step_loss:0.00314 , test_step_loss:0.00377 , test_full_loss:0.00418 +Epoch 439 , train_step_loss:0.00315 , test_step_loss:0.00362 , test_full_loss:0.00400 +Epoch 440 , train_step_loss:0.00313 , test_step_loss:0.00422 , test_full_loss:0.00457 +Epoch 441 , train_step_loss:0.00314 , test_step_loss:0.00350 , test_full_loss:0.00388 +Epoch 442 , train_step_loss:0.00310 , test_step_loss:0.00394 , test_full_loss:0.00433 +Epoch 443 , train_step_loss:0.00307 , test_step_loss:0.00357 , test_full_loss:0.00398 +Epoch 444 , train_step_loss:0.00308 , test_step_loss:0.00364 , test_full_loss:0.00401 +Epoch 445 , train_step_loss:0.00309 , test_step_loss:0.00357 , test_full_loss:0.00395 +Epoch 446 , train_step_loss:0.00307 , test_step_loss:0.00369 , test_full_loss:0.00410 +Epoch 447 , train_step_loss:0.00306 , test_step_loss:0.00346 , test_full_loss:0.00382 +Epoch 448 , train_step_loss:0.00308 , test_step_loss:0.00365 , test_full_loss:0.00407 +Epoch 449 , train_step_loss:0.00305 , test_step_loss:0.00371 , test_full_loss:0.00413 +Epoch 450 , train_step_loss:0.00304 , test_step_loss:0.00342 , test_full_loss:0.00378 +Epoch 451 , train_step_loss:0.00301 , test_step_loss:0.00345 , test_full_loss:0.00379 +Epoch 452 , train_step_loss:0.00299 , test_step_loss:0.00325 , test_full_loss:0.00359 +Epoch 453 , train_step_loss:0.00301 , test_step_loss:0.00354 , test_full_loss:0.00394 +Epoch 454 , train_step_loss:0.00300 , test_step_loss:0.00350 , test_full_loss:0.00388 +Epoch 455 , train_step_loss:0.00299 , test_step_loss:0.00364 , test_full_loss:0.00402 +Epoch 456 , train_step_loss:0.00298 , test_step_loss:0.00376 , test_full_loss:0.00409 +Epoch 457 , train_step_loss:0.00298 , test_step_loss:0.00337 , test_full_loss:0.00369 +Epoch 458 , train_step_loss:0.00298 , test_step_loss:0.00350 , test_full_loss:0.00387 +Epoch 459 , train_step_loss:0.00296 , test_step_loss:0.00382 , test_full_loss:0.00414 +Epoch 460 , train_step_loss:0.00296 , test_step_loss:0.00340 , test_full_loss:0.00377 +Epoch 461 , train_step_loss:0.00295 , test_step_loss:0.00378 , test_full_loss:0.00412 +Epoch 462 , train_step_loss:0.00294 , test_step_loss:0.00344 , test_full_loss:0.00375 +Epoch 463 , train_step_loss:0.00294 , test_step_loss:0.00319 , test_full_loss:0.00353 +Epoch 464 , train_step_loss:0.00294 , test_step_loss:0.00332 , test_full_loss:0.00361 +Epoch 465 , train_step_loss:0.00292 , test_step_loss:0.00328 , test_full_loss:0.00364 +Epoch 466 , train_step_loss:0.00292 , test_step_loss:0.00321 , test_full_loss:0.00353 +Epoch 467 , train_step_loss:0.00291 , test_step_loss:0.00337 , test_full_loss:0.00373 +Epoch 468 , train_step_loss:0.00292 , test_step_loss:0.00337 , test_full_loss:0.00377 +Epoch 469 , train_step_loss:0.00289 , test_step_loss:0.00343 , test_full_loss:0.00381 +Epoch 470 , train_step_loss:0.00289 , test_step_loss:0.00348 , test_full_loss:0.00381 +Epoch 471 , train_step_loss:0.00289 , test_step_loss:0.00326 , test_full_loss:0.00361 +Epoch 472 , train_step_loss:0.00289 , test_step_loss:0.00335 , test_full_loss:0.00373 +Epoch 473 , train_step_loss:0.00289 , test_step_loss:0.00329 , test_full_loss:0.00365 +Epoch 474 , train_step_loss:0.00286 , test_step_loss:0.00330 , test_full_loss:0.00364 +Epoch 475 , train_step_loss:0.00286 , test_step_loss:0.00326 , test_full_loss:0.00361 +Epoch 476 , train_step_loss:0.00286 , test_step_loss:0.00349 , test_full_loss:0.00386 +Epoch 477 , train_step_loss:0.00286 , test_step_loss:0.00319 , test_full_loss:0.00354 +Epoch 478 , train_step_loss:0.00285 , test_step_loss:0.00316 , test_full_loss:0.00351 +Epoch 479 , train_step_loss:0.00285 , test_step_loss:0.00322 , test_full_loss:0.00356 +Epoch 480 , train_step_loss:0.00282 , test_step_loss:0.00339 , test_full_loss:0.00374 +Epoch 481 , train_step_loss:0.00284 , test_step_loss:0.00353 , test_full_loss:0.00386 +Epoch 482 , train_step_loss:0.00283 , test_step_loss:0.00317 , test_full_loss:0.00351 +Epoch 483 , train_step_loss:0.00284 , test_step_loss:0.00315 , test_full_loss:0.00347 +Epoch 484 , train_step_loss:0.00281 , test_step_loss:0.00322 , test_full_loss:0.00357 +Epoch 485 , train_step_loss:0.00283 , test_step_loss:0.00309 , test_full_loss:0.00342 +Epoch 486 , train_step_loss:0.00283 , test_step_loss:0.00309 , test_full_loss:0.00343 +Epoch 487 , train_step_loss:0.00281 , test_step_loss:0.00332 , test_full_loss:0.00367 +Epoch 488 , train_step_loss:0.00281 , test_step_loss:0.00321 , test_full_loss:0.00354 +Epoch 489 , train_step_loss:0.00281 , test_step_loss:0.00327 , test_full_loss:0.00358 +Epoch 490 , train_step_loss:0.00281 , test_step_loss:0.00304 , test_full_loss:0.00335 +Epoch 491 , train_step_loss:0.00279 , test_step_loss:0.00309 , test_full_loss:0.00343 +Epoch 492 , train_step_loss:0.00280 , test_step_loss:0.00319 , test_full_loss:0.00353 +Epoch 493 , train_step_loss:0.00281 , test_step_loss:0.00324 , test_full_loss:0.00351 +Epoch 494 , train_step_loss:0.00278 , test_step_loss:0.00309 , test_full_loss:0.00343 +Epoch 495 , train_step_loss:0.00277 , test_step_loss:0.00303 , test_full_loss:0.00334 +Epoch 496 , train_step_loss:0.00276 , test_step_loss:0.00314 , test_full_loss:0.00346 +Epoch 497 , train_step_loss:0.00276 , test_step_loss:0.00313 , test_full_loss:0.00346 +Epoch 498 , train_step_loss:0.00277 , test_step_loss:0.00295 , test_full_loss:0.00329 +Epoch 499 , train_step_loss:0.00276 , test_step_loss:0.00300 , test_full_loss:0.00332 +save model diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Embedding.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Embedding.py new file mode 100644 index 0000000000..566f6305cd --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Embedding.py @@ -0,0 +1,80 @@ +import paddle +import math +from einops import rearrange + + +class RotaryEmbedding(paddle.nn.Layer): + + def __init__(self, dim, min_freq=1 / 2, scale=1.0): + super().__init__() + inv_freq = 1.0 / 10000 ** (paddle.arange(start=0, end=dim, step=2). + astype(dtype='float32') / dim) + self.min_freq = min_freq + self.scale = scale + self.register_buffer(name='inv_freq', tensor=inv_freq) + + def forward(self, coordinates, device): + t = coordinates.to(device).astype(dtype=self.inv_freq.dtype) + t = t * (self.scale / self.min_freq) + freqs = paddle.einsum('... i , j -> ... i j', t, self.inv_freq) + return paddle.concat(x=(freqs, freqs), axis=-1) + + +def rotate_half(x): + x = rearrange(x, '... (j d) -> ... j d', j=2) + x1, x2 = x.unbind(axis=-2) + return paddle.concat(x=(-x2, x1), axis=-1) + + +def apply_rotary_pos_emb(t, freqs): + return t * freqs.cos() + rotate_half(t) * freqs.sin() + + +def apply_2d_rotary_pos_emb(t, freqs_x, freqs_y): + d = tuple(t.shape)[-1] + t_x, t_y = t[..., :d // 2], t[..., d // 2:] + return paddle.concat(x=(apply_rotary_pos_emb(t_x, freqs_x), + apply_rotary_pos_emb(t_y, freqs_y)), axis=-1) + + +class PositionalEncoding(paddle.nn.Layer): + """Implement the PE function.""" + + def __init__(self, d_model, dropout, max_len=421 * 421): + super(PositionalEncoding, self).__init__() + self.dropout = paddle.nn.Dropout(p=dropout) + pe = paddle.zeros(shape=[max_len, d_model]) + position = paddle.arange(start=0, end=max_len).unsqueeze(axis=1) + div_term = paddle.exp(x=paddle.arange(start=0, end=d_model, step=2) * + -(math.log(10000.0) / d_model)) + pe[:, 0::2] = paddle.sin(x=position * div_term) + pe[:, 1::2] = paddle.cos(x=position * div_term) + pe = pe.unsqueeze(axis=0) + self.register_buffer(name='pe', tensor=pe) + + def forward(self, x): + out_0 = self.pe[:, :x.shape[1]] + out_0.stop_gradient = not False + x = x + out_0 + return self.dropout(x) + + +def timestep_embedding(timesteps, dim, max_period=10000, repeat_only=False): + """ + Create sinusoidal timestep embeddings. + :param timesteps: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = paddle.exp(x=-math.log(max_period) * paddle.arange(start=0, end + =half, dtype='float32') / half) + args = timesteps[:, None].astype(dtype='float32') * freqs[None] + embedding = paddle.concat(x=[paddle.cos(x=args), paddle.sin(x=args)], + axis=-1) + if dim % 2: + embedding = paddle.concat(x=[embedding, paddle.zeros_like(x= + embedding[:, :1])], axis=-1) + return embedding diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Physics_Attention.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Physics_Attention.py new file mode 100644 index 0000000000..79ab672970 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Physics_Attention.py @@ -0,0 +1,191 @@ +import sys +# sys.path.append('../../utils') +from utils import paddle_aux +import paddle +from einops import rearrange, repeat + + +class Physics_Attention_Irregular_Mesh(paddle.nn.Layer): + + def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64): + super().__init__() + inner_dim = dim_head * heads + self.dim_head = dim_head + self.heads = heads + self.scale = dim_head ** -0.5 + self.softmax = paddle.nn.Softmax(axis=-1) + self.dropout = paddle.nn.Dropout(p=dropout) + self.temperature = paddle.base.framework.EagerParamBase.from_tensor( + tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) + self.in_project_x = paddle.nn.Linear(in_features=dim, out_features= + inner_dim) + self.in_project_fx = paddle.nn.Linear(in_features=dim, out_features + =inner_dim) + self.in_project_slice = paddle.nn.Linear(in_features=dim_head, + out_features=slice_num) + for l in [self.in_project_slice]: + init_Orthogonal = paddle.nn.initializer.Orthogonal() + init_Orthogonal(l.weight) + self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= + inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) + + def forward(self, x): + B, N, C = tuple(x.shape) + fx_mid = self.in_project_fx(x).reshape(B, N, self.heads, self.dim_head + ).transpose(perm=[0, 2, 1, 3]).contiguous() + x_mid = self.in_project_x(x).reshape(B, N, self.heads, self.dim_head + ).transpose(perm=[0, 2, 1, 3]).contiguous() + slice_weights = self.softmax(self.in_project_slice(x_mid) / self. + temperature) + slice_norm = slice_weights.sum(axis=2) + slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) + slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( + repeat_times=[1, 1, 1, self.dim_head]) + q_slice_token = self.to_q(slice_token) + k_slice_token = self.to_k(slice_token) + v_slice_token = self.to_v(slice_token) + dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( + perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) + ) * self.scale + attn = self.softmax(dots) + attn = self.dropout(attn) + out_slice_token = paddle.matmul(x=attn, y=v_slice_token) + out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights + ) + out_x = rearrange(out_x, 'b h n d -> b n (h d)') + return self.to_out(out_x) + + +class Physics_Attention_Structured_Mesh_2D(paddle.nn.Layer): + + def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64, + H=101, W=31, kernel=3): + super().__init__() + inner_dim = dim_head * heads + self.dim_head = dim_head + self.heads = heads + self.scale = dim_head ** -0.5 + self.softmax = paddle.nn.Softmax(axis=-1) + self.dropout = paddle.nn.Dropout(p=dropout) + self.temperature = paddle.base.framework.EagerParamBase.from_tensor( + tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) + self.H = H + self.W = W + self.in_project_x = paddle.nn.Conv2D(in_channels=dim, out_channels= + inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) + self.in_project_fx = paddle.nn.Conv2D(in_channels=dim, out_channels + =inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) + self.in_project_slice = paddle.nn.Linear(in_features=dim_head, + out_features=slice_num) + for l in [self.in_project_slice]: + init_Orthogonal = paddle.nn.initializer.Orthogonal() + init_Orthogonal(l.weight) + self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= + inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) + + def forward(self, x): + B, N, C = tuple(x.shape) + x = x.reshape(B, self.H, self.W, C).contiguous().transpose(perm=[0, + 3, 1, 2]).contiguous() + fx_mid = self.in_project_fx(x).transpose(perm=[0, 2, 3, 1]).contiguous( + ).reshape(B, N, self.heads, self.dim_head).transpose(perm=[0, 2, + 1, 3]).contiguous() + x_mid = self.in_project_x(x).transpose(perm=[0, 2, 3, 1]).contiguous( + ).reshape(B, N, self.heads, self.dim_head).transpose(perm=[0, 2, + 1, 3]).contiguous() + slice_weights = self.softmax(self.in_project_slice(x_mid) / paddle. + clip(x=self.temperature, min=0.1, max=5)) + slice_norm = slice_weights.sum(axis=2) + slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) + slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( + repeat_times=[1, 1, 1, self.dim_head]) + q_slice_token = self.to_q(slice_token) + k_slice_token = self.to_k(slice_token) + v_slice_token = self.to_v(slice_token) + dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( + perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) + ) * self.scale + attn = self.softmax(dots) + attn = self.dropout(attn) + out_slice_token = paddle.matmul(x=attn, y=v_slice_token) + out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights + ) + out_x = rearrange(out_x, 'b h n d -> b n (h d)') + return self.to_out(out_x) + + +class Physics_Attention_Structured_Mesh_3D(paddle.nn.Layer): + + def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=32, + H=32, W=32, D=32, kernel=3): + super().__init__() + inner_dim = dim_head * heads + self.dim_head = dim_head + self.heads = heads + self.scale = dim_head ** -0.5 + self.softmax = paddle.nn.Softmax(axis=-1) + self.dropout = paddle.nn.Dropout(p=dropout) + self.temperature = paddle.base.framework.EagerParamBase.from_tensor( + tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) + self.H = H + self.W = W + self.D = D + self.in_project_x = paddle.nn.Conv3D(in_channels=dim, out_channels= + inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) + self.in_project_fx = paddle.nn.Conv3D(in_channels=dim, out_channels + =inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) + self.in_project_slice = paddle.nn.Linear(in_features=dim_head, + out_features=slice_num) + for l in [self.in_project_slice]: + init_Orthogonal = paddle.nn.initializer.Orthogonal() + init_Orthogonal(l.weight) + self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= + dim_head, bias_attr=False) + self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= + inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) + + def forward(self, x): + B, N, C = tuple(x.shape) + x = x.reshape(B, self.H, self.W, self.D, C).contiguous().transpose(perm + =[0, 4, 1, 2, 3]).contiguous() + fx_mid = self.in_project_fx(x).transpose(perm=[0, 2, 3, 4, 1] + ).contiguous().reshape(B, N, self.heads, self.dim_head).transpose( + perm=[0, 2, 1, 3]).contiguous() + x_mid = self.in_project_x(x).transpose(perm=[0, 2, 3, 4, 1] + ).contiguous().reshape(B, N, self.heads, self.dim_head).transpose( + perm=[0, 2, 1, 3]).contiguous() + slice_weights = self.softmax(self.in_project_slice(x_mid) / paddle. + clip(x=self.temperature, min=0.1, max=5)) + slice_norm = slice_weights.sum(axis=2) + slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) + slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( + repeat_times=[1, 1, 1, self.dim_head]) + q_slice_token = self.to_q(slice_token) + k_slice_token = self.to_k(slice_token) + v_slice_token = self.to_v(slice_token) + dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( + perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) + ) * self.scale + attn = self.softmax(dots) + attn = self.dropout(attn) + out_slice_token = paddle.matmul(x=attn, y=v_slice_token) + out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights + ) + out_x = rearrange(out_x, 'b h n d -> b n (h d)') + return self.to_out(out_x) diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Irregular_Mesh.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Irregular_Mesh.py new file mode 100644 index 0000000000..eb0badfe98 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Irregular_Mesh.py @@ -0,0 +1,160 @@ +import sys +# sys.path.append('../../utils') +from utils import paddle_aux +import paddle +from paddle.nn.initializer import TruncatedNormal, Constant +from model.Embedding import timestep_embedding +import numpy as np +from model.Physics_Attention import Physics_Attention_Irregular_Mesh +ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': + paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. + LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': + paddle.nn.ELU, 'silu': paddle.nn.Silu} + + +class MLP(paddle.nn.Layer): + + def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', + res=True): + super(MLP, self).__init__() + if act in ACTIVATION.keys(): + act = ACTIVATION[act] + else: + raise NotImplementedError + self.n_input = n_input + self.n_hidden = n_hidden + self.n_output = n_output + self.n_layers = n_layers + self.res = res + self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features + =n_input, out_features=n_hidden), act()) + self.linear_post = paddle.nn.Linear(in_features=n_hidden, + out_features=n_output) + self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), + act()) for _ in range(n_layers)]) + + def forward(self, x): + x = self.linear_pre(x) + for i in range(self.n_layers): + if self.res: + x = self.linears[i](x) + x + else: + x = self.linears[i](x) + x = self.linear_post(x) + return x + + +class Transolver_block(paddle.nn.Layer): + """Transformer encoder block.""" + + def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act + ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32): + super().__init__() + self.last_layer = last_layer + self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.Attn = Physics_Attention_Irregular_Mesh(hidden_dim, heads= + num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, + slice_num=slice_num) + self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, + n_layers=0, res=False, act=act) + if self.last_layer: + self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, + out_features=out_dim) + + def forward(self, fx): + fx = self.Attn(self.ln_1(fx)) + fx + fx = self.mlp(self.ln_2(fx)) + fx + if self.last_layer: + return self.mlp2(self.ln_3(fx)) + else: + return fx + + +class Model(paddle.nn.Layer): + + def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0.0, + n_head=8, Time_Input=False, act='gelu', mlp_ratio=1, fun_dim=1, + out_dim=1, slice_num=32, ref=8, unified_pos=False): + super(Model, self).__init__() + self.__name__ = 'Transolver_1D' + self.ref = ref + self.unified_pos = unified_pos + self.Time_Input = Time_Input + self.n_hidden = n_hidden + self.space_dim = space_dim + if self.unified_pos: + self.preprocess = MLP(fun_dim + self.ref * self.ref, n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) + else: + self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) + if Time_Input: + self.time_fc = paddle.nn.Sequential( + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), + paddle.nn.Silu(), + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden) + ) + self.blocks = paddle.nn.LayerList([ + Transolver_block( + num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, + mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, + last_layer=_ == n_layers - 1 + ) for _ in range(n_layers) + ]) + self.initialize_weights() + self.placeholder = paddle.create_parameter( + shape=[n_hidden], dtype='float32', + default_initializer=paddle.nn.initializer.Assign(1 / n_hidden * paddle.rand([n_hidden])) + ) + + def initialize_weights(self): + self.apply(self._init_weights) + + def _init_weights(self, m): + if isinstance(m, paddle.nn.Linear): + trunc_normal = TruncatedNormal(mean=0.0, std=0.02) + trunc_normal(m.weight) + if m.bias is not None: + constant = Constant(value=0.0) + constant(m.bias) + elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): + constant = Constant(value=0.0) + constant(m.bias) + constant = Constant(value=1.0) + constant(m.weight) + + + def get_grid(self, x, batchsize=1): + gridx = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= + 'float32') + gridx = gridx.reshape(1, self.ref, 1, 1).tile(repeat_times=[ + batchsize, 1, self.ref, 1]) + gridy = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= + 'float32') + gridy = gridy.reshape(1, 1, self.ref, 1).tile(repeat_times=[ + batchsize, self.ref, 1, 1]) + grid_ref = paddle.concat(x=(gridx, gridy), axis=-1).cuda(blocking=True + ).reshape(batchsize, self.ref * self.ref, 2) + pos = paddle.sqrt(x=paddle.sum(x=(x[:, :, None, :] - grid_ref[:, + None, :, :]) ** 2, axis=-1)).reshape(batchsize, tuple(x.shape)[ + 1], self.ref * self.ref).contiguous() + return pos + + def forward(self, x, fx, T=None): + if self.unified_pos: + x = self.get_grid(x, tuple(x.shape)[0]) + if fx is not None: + fx = paddle.concat(x=(x, fx), axis=-1) + fx = self.preprocess(fx) + else: + fx = self.preprocess(x) + fx = fx + self.placeholder[None, None, :] + if T is not None: + Time_emb = timestep_embedding(T, self.n_hidden).repeat(1, tuple + (x.shape)[1], 1) + Time_emb = self.time_fc(Time_emb) + fx = fx + Time_emb + for block in self.blocks: + fx = block(fx) + return fx diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_2D.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_2D.py new file mode 100644 index 0000000000..c294b4d142 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_2D.py @@ -0,0 +1,184 @@ +import sys + +from utils import paddle_aux +import paddle +from paddle.nn.initializer import TruncatedNormal, Constant +import numpy as np +from model.Embedding import timestep_embedding +from model.Physics_Attention import Physics_Attention_Structured_Mesh_2D + +ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': + paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. + LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': + paddle.nn.ELU, 'silu': paddle.nn.Silu} + + +class MLP(paddle.nn.Layer): + + def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', + res=True): + super(MLP, self).__init__() + if act in ACTIVATION.keys(): + act = ACTIVATION[act] + else: + raise NotImplementedError + self.n_input = n_input + self.n_hidden = n_hidden + self.n_output = n_output + self.n_layers = n_layers + self.res = res + self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features + =n_input, out_features=n_hidden), act()) + self.linear_post = paddle.nn.Linear(in_features=n_hidden, + out_features=n_output) + self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), + act()) for _ in range(n_layers)]) + + def forward(self, x): + x = self.linear_pre(x) + for i in range(self.n_layers): + if self.res: + x = self.linears[i](x) + x + else: + x = self.linears[i](x) + x = self.linear_post(x) + return x + + +class Transolver_block(paddle.nn.Layer): + """Transformer encoder block.""" + + def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act + ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32, H= + 85, W=85): + super().__init__() + self.last_layer = last_layer + self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.Attn = Physics_Attention_Structured_Mesh_2D(hidden_dim, heads= + num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, + slice_num=slice_num, H=H, W=W) + self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, + n_layers=0, res=False, act=act) + if self.last_layer: + self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, + out_features=out_dim) + + def forward(self, fx): + fx = self.Attn(self.ln_1(fx)) + fx + fx = self.mlp(self.ln_2(fx)) + fx + if self.last_layer: + return self.mlp2(self.ln_3(fx)) + else: + return fx + + +class Model(paddle.nn.Layer): + + def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0.0, + n_head=8, Time_Input=False, act='gelu', mlp_ratio=1, fun_dim=1, + out_dim=1, slice_num=32, ref=8, unified_pos=False, H=85, W=85): + super(Model, self).__init__() + self.__name__ = 'Transolver_2D' + self.H = H + self.W = W + self.ref = ref + self.unified_pos = unified_pos + if self.unified_pos: + self.pos = self.get_grid() + self.preprocess = MLP(fun_dim + self.ref * self.ref, n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) + else: + self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) + self.Time_Input = Time_Input + self.n_hidden = n_hidden + self.space_dim = space_dim + if Time_Input: + self.time_fc = paddle.nn.Sequential( + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), + paddle.nn.Silu(), + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden) + ) + self.blocks = paddle.nn.LayerList([ + Transolver_block( + num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, + mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, H=H, + W=W, last_layer=_ == n_layers - 1 + ) for _ in range(n_layers) + ]) + self.initialize_weights() + self.placeholder = paddle.create_parameter( + shape=[n_hidden], dtype='float32', + default_initializer=paddle.nn.initializer.Assign(1 / n_hidden * paddle.rand([n_hidden])) + ) + + def initialize_weights(self): + self.apply(self._init_weights) + + def _init_weights(self, m): + if isinstance(m, paddle.nn.Linear): + trunc_normal = TruncatedNormal(mean=0.0, std=0.02) + trunc_normal(m.weight) + if m.bias is not None: + constant = Constant(value=0.0) + constant(m.bias) + elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): + constant = Constant(value=0.0) + constant(m.bias) + constant = Constant(value=1.0) + constant(m.weight) + + def get_grid(self): + # 获取网格位置信息 + h = paddle.arange(0, self.H, dtype='float32') + w = paddle.arange(0, self.W, dtype='float32') + grid = paddle.meshgrid(h, w) + grid = paddle.stack(grid, axis=-1) + grid = grid.reshape([1, -1, 2]) + return grid + + def get_grid(self, batchsize=1): + size_x, size_y = self.H, self.W + gridx = paddle.to_tensor(data=np.linspace(0, 1, size_x), dtype= + 'float32') + gridx = gridx.reshape(1, size_x, 1, 1).tile(repeat_times=[batchsize, + 1, size_y, 1]) + gridy = paddle.to_tensor(data=np.linspace(0, 1, size_y), dtype= + 'float32') + gridy = gridy.reshape(1, 1, size_y, 1).tile(repeat_times=[batchsize, + size_x, 1, 1]) + grid = paddle.concat(x=(gridx, gridy), axis=-1).cuda(blocking=True) + gridx = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= + 'float32') + gridx = gridx.reshape(1, self.ref, 1, 1).tile(repeat_times=[ + batchsize, 1, self.ref, 1]) + gridy = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= + 'float32') + gridy = gridy.reshape(1, 1, self.ref, 1).tile(repeat_times=[ + batchsize, self.ref, 1, 1]) + grid_ref = paddle.concat(x=(gridx, gridy), axis=-1).cuda(blocking=True) + pos = paddle.sqrt(x=paddle.sum(x=(grid[:, :, :, None, None, :] - + grid_ref[:, None, None, :, :, :]) ** 2, axis=-1)).reshape(batchsize + , size_x, size_y, + self.ref * self.ref).contiguous() + return pos + + def forward(self, x, fx, T=None): + if self.unified_pos: + x = self.pos.tile(repeat_times=[tuple(x.shape)[0], 1, 1, 1] + ).reshape(tuple(x.shape)[0], self.H * self.W, self.ref * + self.ref) + if fx is not None: + fx = paddle.concat(x=(x, fx), axis=-1) + fx = self.preprocess(fx) + else: + fx = self.preprocess(x) + fx = fx + self.placeholder[None, None, :] + if T is not None: + Time_emb = paddle.tile(timestep_embedding(T, self.n_hidden), repeat_times=[1, x.shape[1], 1]) + Time_emb = self.time_fc(Time_emb) + fx = fx + Time_emb + for block in self.blocks: + fx = block(fx) + return fx diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_3D.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_3D.py new file mode 100644 index 0000000000..fcb68d76d0 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_3D.py @@ -0,0 +1,192 @@ +import sys +# sys.path.append('../../utils') +from utils import paddle_aux +import paddle +import numpy as np +from paddle.nn.initializer import TruncatedNormal, Constant +from model.Embedding import timestep_embedding +from model.Physics_Attention import Physics_Attention_Structured_Mesh_3D +ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': + paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. + LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': + paddle.nn.ELU, 'silu': paddle.nn.Silu} + + +class MLP(paddle.nn.Layer): + + def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', + res=True): + super(MLP, self).__init__() + if act in ACTIVATION.keys(): + act = ACTIVATION[act] + else: + raise NotImplementedError + self.n_input = n_input + self.n_hidden = n_hidden + self.n_output = n_output + self.n_layers = n_layers + self.res = res + self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features + =n_input, out_features=n_hidden), act()) + self.linear_post = paddle.nn.Linear(in_features=n_hidden, + out_features=n_output) + self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), + act()) for _ in range(n_layers)]) + + def forward(self, x): + x = self.linear_pre(x) + for i in range(self.n_layers): + if self.res: + x = self.linears[i](x) + x + else: + x = self.linears[i](x) + x = self.linear_post(x) + return x + + +class Transolver_block(paddle.nn.Layer): + """Transformer encoder block.""" + + def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act + ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32, H= + 32, W=32, D=32): + super().__init__() + self.last_layer = last_layer + self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.Attn = Physics_Attention_Structured_Mesh_3D(hidden_dim, heads= + num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, + slice_num=slice_num, H=H, W=W, D=D) + self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, + n_layers=0, res=False, act=act) + if self.last_layer: + self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) + self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, + out_features=out_dim) + + def forward(self, fx): + fx = self.Attn(self.ln_1(fx)) + fx + fx = self.mlp(self.ln_2(fx)) + fx + if self.last_layer: + return self.mlp2(self.ln_3(fx)) + else: + return fx + + +class Model(paddle.nn.Layer): + + def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0.0, + n_head=8, Time_Input=False, act='gelu', mlp_ratio=1, fun_dim=1, + out_dim=1, slice_num=32, ref=8, unified_pos=False, H=32, W=32, D=32): + super(Model, self).__init__() + self.__name__ = 'Transolver_3D' + self.use_checkpoint = False + self.H = H + self.W = W + self.D = D + self.ref = ref + self.unified_pos = unified_pos + if self.unified_pos: + self.pos = self.get_grid() + self.preprocess = MLP(fun_dim + self.ref * self.ref * self.ref, + n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) + else: + self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, + n_hidden, n_layers=0, res=False, act=act) + self.Time_Input = Time_Input + self.n_hidden = n_hidden + self.space_dim = space_dim + if Time_Input: + self.time_fc = paddle.nn.Sequential( + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), + paddle.nn.Silu(), + paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden) + ) + self.blocks = paddle.nn.LayerList([ + Transolver_block( + num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, + mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, H=H, + W=W, D=D, last_layer=_ == n_layers - 1 + ) for _ in range(n_layers) + ]) + self.initialize_weights() + self.placeholder = paddle.create_parameter( + shape=[n_hidden], dtype='float32', + default_initializer=paddle.nn.initializer.Assign(1 / n_hidden * paddle.rand([n_hidden])) + ) + + def initialize_weights(self): + self.apply(self._init_weights) + + def _init_weights(self, m): + if isinstance(m, paddle.nn.Linear): + trunc_normal = TruncatedNormal(mean=0.0, std=0.02) + trunc_normal(m.weight) + if m.bias is not None: + constant = Constant(value=0.0) + constant(m.bias) + elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): + constant = Constant(value=0.0) + constant(m.bias) + constant = Constant(value=1.0) + constant(m.weight) + + def get_grid(self, batchsize=1): + size_x, size_y, size_z = self.H, self.W, self.D + gridx = paddle.to_tensor(data=np.linspace(0, 1, size_x), dtype= + 'float32') + gridx = gridx.reshape(1, size_x, 1, 1, 1).tile(repeat_times=[ + batchsize, 1, size_y, size_z, 1]) + gridy = paddle.to_tensor(data=np.linspace(0, 1, size_y), dtype= + 'float32') + gridy = gridy.reshape(1, 1, size_y, 1, 1).tile(repeat_times=[ + batchsize, size_x, 1, size_z, 1]) + gridz = paddle.to_tensor(data=np.linspace(0, 1, size_z), dtype= + 'float32') + gridz = gridz.reshape(1, 1, 1, size_z, 1).tile(repeat_times=[ + batchsize, size_x, size_y, 1, 1]) + grid = paddle.concat(x=(gridx, gridy, gridz), axis=-1).cuda(blocking + =True) + gridx = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= + 'float32') + gridx = gridx.reshape(1, self.ref, 1, 1, 1).tile(repeat_times=[ + batchsize, 1, self.ref, self.ref, 1]) + gridy = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= + 'float32') + gridy = gridy.reshape(1, 1, self.ref, 1, 1).tile(repeat_times=[ + batchsize, self.ref, 1, self.ref, 1]) + gridz = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= + 'float32') + gridz = gridz.reshape(1, 1, 1, self.ref, 1).tile(repeat_times=[ + batchsize, self.ref, self.ref, 1, 1]) + grid_ref = paddle.concat(x=(gridx, gridy, gridz), axis=-1).cuda( + blocking=True) + pos = paddle.sqrt(x=paddle.sum(x=(grid[:, :, :, :, None, None, None, + :] - grid_ref[:, None, None, None, :, :, :, :]) ** 2, axis=-1) + ).reshape(batchsize, size_x, size_y, size_z, self.ref * self. + ref * self.ref).contiguous() + return pos + + def forward(self, x, fx, T=None): + if self.unified_pos: + x = self.pos.tile(repeat_times=[tuple(x.shape)[0], 1, 1, 1, 1] + ).reshape(tuple(x.shape)[0], self.H * self.W * self.D, self + .ref * self.ref * self.ref) + if fx is not None: + fx = paddle.concat(x=(x, fx), axis=-1) + fx = self.preprocess(fx) + else: + fx = self.preprocess(x) + fx = fx + self.placeholder[None, None, :] + if T is not None: + Time_emb = timestep_embedding(T, self.n_hidden).repeat(1, tuple + (x.shape)[1], 1) + Time_emb = self.time_fc(Time_emb) + fx = fx + Time_emb + for block in self.blocks: + if self.use_checkpoint: + fx = paddle.distributed.fleet.utils.recompute(block, fx) + else: + fx = block(fx) + return fx diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model_dict.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model_dict.py new file mode 100644 index 0000000000..cd3afbea0c --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model_dict.py @@ -0,0 +1,8 @@ +from model import Transolver_Irregular_Mesh, Transolver_Structured_Mesh_2D, Transolver_Structured_Mesh_3D + + +def get_model(args): + model_dict = {'Transolver_Irregular_Mesh': Transolver_Irregular_Mesh, + 'Transolver_Structured_Mesh_2D': Transolver_Structured_Mesh_2D, + 'Transolver_Structured_Mesh_3D': Transolver_Structured_Mesh_3D} + return model_dict[args.model] diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Airfoil.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Airfoil.sh new file mode 100644 index 0000000000..c476e46ff4 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Airfoil.sh @@ -0,0 +1,16 @@ +export CUDA_VISIBLE_DEVICES=3 + +python exp_airfoil.py \ +--gpu 3 \ +--model Transolver_Structured_Mesh_2D \ +--n-hidden 128 \ +--n-heads 8 \ +--n-layers 8 \ +--lr 0.001 \ +--max_grad_norm 0.1 \ +--batch-size 4 \ +--slice_num 64 \ +--unified_pos 0 \ +--ref 8 \ +--eval 1 \ +--save_name airfoil_Transolver \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Darcy.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Darcy.sh new file mode 100644 index 0000000000..64ffe8636d --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Darcy.sh @@ -0,0 +1,18 @@ +export CUDA_VISIBLE_DEVICES=0 + +python exp_darcy.py \ +--gpu 0 \ +--model 1 \ +--n-hidden 128 \ +--n-heads 8 \ +--n-layers 8 \ +--lr 0.001 \ +--max_grad_norm 0.1 \ +--batch-size 4 \ +--slice_num 64 \ +--unified_pos 1 \ +--ref 8 \ +--eval 0 \ +--downsample 5 \ +--save_name darcy_UniPDE + diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Elas.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Elas.sh new file mode 100644 index 0000000000..a17255f110 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Elas.sh @@ -0,0 +1,16 @@ +export CUDA_VISIBLE_DEVICES=3 + +python exp_elas.py \ +--gpu 3 \ +--model Transolver_Irregular_Mesh \ +--n-hidden 128 \ +--n-heads 8 \ +--n-layers 8 \ +--lr 0.001 \ +--max_grad_norm 0.1 \ +--batch-size 1 \ +--slice_num 64 \ +--unified_pos 0 \ +--ref 8 \ +--eval 1 \ +--save_name elas_Transolver diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_NS.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_NS.sh new file mode 100644 index 0000000000..af649953e2 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_NS.sh @@ -0,0 +1,16 @@ +export CUDA_VISIBLE_DEVICES=3 + +python exp_ns.py \ +--gpu 3 \ +--model Transolver_Structured_Mesh_2D \ +--n-hidden 256 \ +--n-heads 8 \ +--n-layers 8 \ +--lr 0.001 \ +--batch-size 2 \ +--slice_num 32 \ +--unified_pos 1 \ +--ref 8 \ +--eval 0 \ +--save_name ns_Transolver + diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Pipe.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Pipe.sh new file mode 100644 index 0000000000..f5fe09a5c0 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Pipe.sh @@ -0,0 +1,18 @@ +export CUDA_VISIBLE_DEVICES=1 + +python exp_pipe.py \ +--gpu 1 \ +--model Transolver_Structured_Mesh_2D \ +--n-hidden 128 \ +--n-heads 8 \ +--n-layers 8 \ +--mlp_ratio 2 \ +--lr 0.001 \ +--max_grad_norm 0.1 \ +--batch-size 8 \ +--slice_num 64 \ +--unified_pos 0 \ +--ref 8 \ +--eval 1 \ +--save_name pipe_Transolver + diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Plas.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Plas.sh new file mode 100644 index 0000000000..f89c76ee5c --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Plas.sh @@ -0,0 +1,17 @@ +export CUDA_VISIBLE_DEVICES=1 + +python exp_plas.py \ +--gpu 1 \ +--model Transolver_Structured_Mesh_2D \ +--n-hidden 128 \ +--n-heads 8 \ +--n-layers 8 \ +--lr 0.001 \ +--max_grad_norm 0.1 \ +--batch-size 8 \ +--slice_num 64 \ +--unified_pos 0 \ +--ref 8 \ +--eval 0 \ +--save_name plas_Transolver + diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/normalizer.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/normalizer.py new file mode 100644 index 0000000000..637b2a001f --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/normalizer.py @@ -0,0 +1,116 @@ +import sys +from utils import paddle_aux +import paddle +from tqdm import * + + +class IdentityTransformer: + + def __init__(self, X): + self.mean = X.mean(axis=0, keepdim=True) + self.std = X.std(axis=0, keepdim=True) + 1e-08 + + def to(self, device): + self.mean = self.mean.to(device) + self.std = self.std.to(device) + return self + + def cuda(self): + self.mean = self.mean.cuda(blocking=True) + self.std = self.std.cuda(blocking=True) + + def cpu(self): + self.mean = self.mean.cpu() + self.std = self.std.cpu() + + def encode(self, x): + return x + + def decode(self, x): + return x + + +class UnitTransformer: + + def __init__(self, X): + self.mean = X.mean(axis=(0, 1), keepdim=True) + self.std = X.std(axis=(0, 1), keepdim=True) + 1e-08 + + def to(self, device): + self.mean = self.mean.to(device) + self.std = self.std.to(device) + return self + + def cuda(self): + self.mean = self.mean.cuda(blocking=True) + self.std = self.std.cuda(blocking=True) + + def cpu(self): + self.mean = self.mean.cpu() + self.std = self.std.cpu() + + def encode(self, x): + x = (x - self.mean) / self.std + return x + + def decode(self, x): + return x * self.std + self.mean + + def transform(self, X, inverse=True, component='all'): + if component == 'all' or 'all-reduce': + if inverse: + orig_shape = tuple(X.shape) + return (X * (self.std - 1e-08) + self.mean).view(orig_shape) + else: + return (X - self.mean) / self.std + elif inverse: + orig_shape = tuple(X.shape) + return (X * (self.std[:, component] - 1e-08) + self.mean[:, + component]).view(orig_shape) + else: + return (X - self.mean[:, component]) / self.std[:, component] + + +class UnitGaussianNormalizer(object): + + def __init__(self, x, eps=1e-05, time_last=True): + super(UnitGaussianNormalizer, self).__init__() + self.mean = paddle.mean(x=x, axis=0) + self.std = paddle.std(x=x, axis=0) + self.eps = eps + self.time_last = time_last + + def encode(self, x): + x = (x - self.mean) / (self.std + self.eps) + return x + + def decode(self, x, sample_idx=None): + if sample_idx is None: + std = self.std + self.eps + mean = self.mean + else: + if self.mean.ndim == sample_idx.ndim or self.time_last: + std = self.std[sample_idx] + self.eps + mean = self.mean[sample_idx] + if self.mean.ndim > sample_idx.ndim and not self.time_last: + std = self.std[..., sample_idx] + self.eps + mean = self.mean[..., sample_idx] + x = x * std + mean + return x + + def to(self, device): + if paddle.is_tensor(x=self.mean): + self.mean = self.mean.to(device) + self.std = self.std.to(device) + else: + self.mean = paddle.to_tensor(data=self.mean).to(device) + self.std = paddle.to_tensor(data=self.std).to(device) + return self + + def cuda(self): + self.mean = self.mean.cuda(blocking=True) + self.std = self.std.cuda(blocking=True) + + def cpu(self): + self.mean = self.mean.cpu() + self.std = self.std.cpu() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/testloss.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/testloss.py new file mode 100644 index 0000000000..fa28e35e18 --- /dev/null +++ b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/testloss.py @@ -0,0 +1,42 @@ +import sys +# import paddle_aux +import paddle + + +class TestLoss(object): + + def __init__(self, d=2, p=2, size_average=True, reduction=True): + super(TestLoss, self).__init__() + assert d > 0 and p > 0 + self.d = d + self.p = p + self.reduction = reduction + self.size_average = size_average + + def abs(self, x, y): + num_examples = tuple(x.shape)[0] + h = 1.0 / (tuple(x.shape)[1] - 1.0) + all_norms = h ** (self.d / self.p) * paddle.linalg.norm(x=x.view( + num_examples, -1) - y.view(num_examples, -1), p=self.p, axis=1) + if self.reduction: + if self.size_average: + return paddle.mean(x=all_norms) + else: + return paddle.sum(x=all_norms) + return all_norms + + def rel(self, x, y): + num_examples = tuple(x.shape)[0] + diff_norms = paddle.linalg.norm(x=x.reshape(num_examples, -1) - y. + reshape(num_examples, -1), p=self.p, axis=1) + y_norms = paddle.linalg.norm(x=y.reshape(num_examples, -1), p=self. + p, axis=1) + if self.reduction: + if self.size_average: + return paddle.mean(x=diff_norms / y_norms) + else: + return paddle.sum(x=diff_norms / y_norms) + return diff_norms / y_norms + + def __call__(self, x, y): + return self.rel(x, y) From 24051725377218b0237acb17ffd1b4df767377a1 Mon Sep 17 00:00:00 2001 From: Lil_Ken Date: Mon, 23 Dec 2024 22:52:19 +0800 Subject: [PATCH 09/10] update shapenetcar dataset --- ppsci/data/dataset/__init__.py | 6 + .../dataset/transolver_shapenetcar_dataset.py | 683 ++++++++++++++++++ 2 files changed, 689 insertions(+) create mode 100644 ppsci/data/dataset/transolver_shapenetcar_dataset.py diff --git a/ppsci/data/dataset/__init__.py b/ppsci/data/dataset/__init__.py index 7755c53850..4dd66d1c4d 100644 --- a/ppsci/data/dataset/__init__.py +++ b/ppsci/data/dataset/__init__.py @@ -27,6 +27,8 @@ from ppsci.data.dataset.cylinder_dataset import MeshCylinderDataset from ppsci.data.dataset.darcyflow_dataset import DarcyFlowDataset from ppsci.data.dataset.dgmr_dataset import DGMRDataset +from ppsci.data.dataset.drivaernet_dataset import DrivAerNetDataset +from ppsci.data.dataset.drivaernetplusplus_dataset import DrivAerNetPlusPlusDataset from ppsci.data.dataset.enso_dataset import ENSODataset from ppsci.data.dataset.era5_dataset import ERA5Dataset from ppsci.data.dataset.era5_dataset import ERA5SampledDataset @@ -42,6 +44,7 @@ from ppsci.data.dataset.radar_dataset import RadarDataset from ppsci.data.dataset.sevir_dataset import SEVIRDataset from ppsci.data.dataset.spherical_swe_dataset import SphericalSWEDataset +from ppsci.data.dataset.transolver_shapenetcar_dataset import ShapeNetCarDataset from ppsci.data.dataset.trphysx_dataset import CylinderDataset from ppsci.data.dataset.trphysx_dataset import LorenzDataset from ppsci.data.dataset.trphysx_dataset import RosslerDataset @@ -85,6 +88,9 @@ "build_dataset", "CGCNNDataset", "FWIDataset", + "DrivAerNetDataset", + "DrivAerNetPlusPlusDataset", + "ShapeNetCarDataset", ] diff --git a/ppsci/data/dataset/transolver_shapenetcar_dataset.py b/ppsci/data/dataset/transolver_shapenetcar_dataset.py new file mode 100644 index 0000000000..51c1192a41 --- /dev/null +++ b/ppsci/data/dataset/transolver_shapenetcar_dataset.py @@ -0,0 +1,683 @@ +import itertools +import os +import random +from concurrent.futures import ThreadPoolExecutor +from typing import Optional +from typing import Sequence +from typing import Tuple +from typing import Union + +import numpy as np +import paddle +import vtk +from scipy.spatial import cKDTree +from sklearn.neighbors import NearestNeighbors +from tqdm import tqdm +from vtk.util.numpy_support import vtk_to_numpy + + +def collate_fn(batch: Tuple["Data", paddle.Tensor]): + """自定义collate_fn,用于处理单个Data类型的数据项,直接返回单个数据和shape。""" + data, shape = batch[0] + + # 提取 cfd_data 的各属性 + pos = data.pos + x = data.x + y = data.y + surf = data.surf + edge_index = data.edge_index + + # 创建新的 Data 对象 + single_data = Data(pos=pos, x=x, y=y, surf=surf, edge_index=edge_index) + label = data.y[:, :-1] + + return ( + {"input": single_data}, + {"label": label}, + {"weight_keys": paddle.to_tensor(1)}, + ) + + +def radius( + x: paddle.Tensor, + y: paddle.Tensor, + r: float, + batch_x: Optional[paddle.Tensor] = None, + batch_y: Optional[paddle.Tensor] = None, + max_num_neighbors: int = 32, + num_workers: int = 32, + batch_size: Optional[int] = None, +) -> paddle.Tensor: + if x.numel() == 0 or y.numel() == 0: + return paddle.empty([2, 0], dtype="int64", place=x.place) + + x = x.reshape([-1, 1]) if x.ndim == 1 else x + y = y.reshape([-1, 1]) if y.ndim == 1 else y + + if batch_size is None: + batch_size = 1 + if batch_x is not None: + assert x.shape[0] == batch_x.numel() + batch_size = int(batch_x.max()) + 1 + if batch_y is not None: + assert y.shape[0] == batch_y.numel() + batch_size = max(batch_size, int(batch_y.max()) + 1) + assert batch_size > 0 + + x = ( + paddle.concat([x, 2 * r * batch_x.reshape([-1, 1])], axis=-1) + if batch_x is not None + else x + ) + y = ( + paddle.concat([y, 2 * r * batch_y.reshape([-1, 1])], axis=-1) + if batch_y is not None + else y + ) + + # 使用 cKDTree 创建 KD 树(只支持 CPU) + tree = cKDTree(x.numpy()) + + # 执行多线程查询 + def query_neighbors(idx): + _, indices = tree.query( + y[idx].numpy(), k=max_num_neighbors, distance_upper_bound=r + 1e-8 + ) + row = [idx] * len(indices) + return row, indices + + rows, cols = [], [] + with ThreadPoolExecutor(max_workers=num_workers) as executor: + results = executor.map(query_neighbors, range(y.shape[0])) + for row, col in results: + rows.extend(row) + cols.extend(col) + + row_tensor = paddle.to_tensor(rows, dtype="int64") + col_tensor = paddle.to_tensor(cols, dtype="int64") + mask = col_tensor < tree.n + + return paddle.stack([row_tensor[mask], col_tensor[mask]], axis=0) + + +def radius_graph( + x: paddle.Tensor, + r: float, + batch: Optional[paddle.Tensor] = None, + loop: bool = False, + max_num_neighbors: int = 32, + flow: str = "source_to_target", + num_workers: int = 32, + batch_size: Optional[int] = None, +) -> paddle.Tensor: + assert flow in ["source_to_target", "target_to_source"] + edge_index = radius( + x, + x, + r, + batch, + batch, + max_num_neighbors if loop else max_num_neighbors + 1, + num_workers, + batch_size, + ) + + if flow == "source_to_target": + row, col = edge_index[1], edge_index[0] + else: + row, col = edge_index[0], edge_index[1] + + if not loop: + mask = row != col + row, col = row[mask], col[mask] + + return paddle.stack([row, col], axis=0) + + +class Data: + def __init__(self, pos=None, x=None, y=None, edge_index=None, surf=None): + self.pos = pos # 节点的坐标 + self.x = x # 节点特征 + self.y = y # 标签或目标值 + self.edge_index = edge_index # 边的索引 + self.surf = surf # 其他自定义属性,如 surf + + def to(self, device): + # 将数据移动到指定设备(如GPU或CPU) + if self.pos is not None: + self.pos = self.pos.to(device) + if self.x is not None: + self.x = self.x.to(device) + if self.y is not None: + self.y = self.y.to(device) + if self.edge_index is not None: + self.edge_index = self.edge_index.to(device) + if self.surf is not None: + self.surf = self.surf.to(device) + return self + + def __repr__(self): + return ( + f"Data(x={self._format_attr(self.x)}, " + f"edge_index={self._format_attr(self.edge_index)}, " + f"y={self._format_attr(self.y)}, " + f"pos={self._format_attr(self.pos)}, " + f"surf={self._format_attr(self.surf)})" + ) + + def _format_attr(self, attr): + if attr is None: + return "None" + elif hasattr(attr, "shape"): + return f"[{', '.join(map(str, attr.shape))}]" + else: + return str(attr) + + +def load_unstructured_grid_data(file_name): + reader = vtk.vtkUnstructuredGridReader() + reader.SetFileName(file_name) + reader.Update() + output = reader.GetOutput() + return output + + +def unstructured_grid_data_to_poly_data(unstructured_grid_data): + filter = vtk.vtkDataSetSurfaceFilter() + filter.SetInputData(unstructured_grid_data) + filter.Update() + poly_data = filter.GetOutput() + return poly_data, filter + + +def get_sdf(target, boundary): + nbrs = NearestNeighbors(n_neighbors=1).fit(boundary) + dists, indices = nbrs.kneighbors(target) + neis = np.array([boundary[i[0]] for i in indices]) + dirs = (target - neis) / (dists + 1e-08) + return dists.reshape(-1), dirs + + +def get_normal(unstructured_grid_data): + poly_data, surface_filter = unstructured_grid_data_to_poly_data( + unstructured_grid_data + ) + normal_filter = vtk.vtkPolyDataNormals() + normal_filter.SetInputData(poly_data) + normal_filter.SetAutoOrientNormals(1) + normal_filter.SetConsistency(1) + normal_filter.SetComputeCellNormals(1) + normal_filter.SetComputePointNormals(0) + normal_filter.Update() + """ + normal_filter.SetComputeCellNormals(0) + normal_filter.SetComputePointNormals(1) + normal_filter.Update() + #visualize_poly_data(poly_data, surface_filter, normal_filter) + poly_data.GetPointData().SetNormals(normal_filter.GetOutput().GetPointData().GetNormals()) + p2c = vtk.vtkPointDataToCellData() + p2c.ProcessAllArraysOn() + p2c.SetInputData(poly_data) + p2c.Update() + unstructured_grid_data.GetCellData().SetNormals(p2c.GetOutput().GetCellData().GetNormals()) + #visualize_poly_data(poly_data, surface_filter, p2c) + """ + unstructured_grid_data.GetCellData().SetNormals( + normal_filter.GetOutput().GetCellData().GetNormals() + ) + c2p = vtk.vtkCellDataToPointData() + c2p.SetInputData(unstructured_grid_data) + c2p.Update() + unstructured_grid_data = c2p.GetOutput() + normal = vtk_to_numpy(c2p.GetOutput().GetPointData().GetNormals()).astype(np.double) + normal /= np.max(np.abs(normal), axis=1, keepdims=True) + 1e-08 + normal /= np.linalg.norm(normal, axis=1, keepdims=True) + 1e-08 + if np.isnan(normal).sum() > 0: + print(np.isnan(normal).sum()) + print("recalculate") + return get_normal(unstructured_grid_data) + return normal + + +def visualize_poly_data(poly_data, surface_filter, normal_filter=None): + if normal_filter is not None: + mask = vtk.vtkMaskPoints() + mask.SetInputData(normal_filter.GetOutput()) + mask.Update() + arrow = vtk.vtkArrowSource() + arrow.Update() + glyph = vtk.vtkGlyph3D() + glyph.SetInputData(mask.GetOutput()) + glyph.SetSourceData(arrow.GetOutput()) + glyph.SetVectorModeToUseNormal() + glyph.SetScaleFactor(0.1) + glyph.Update() + norm_mapper = vtk.vtkPolyDataMapper() + norm_mapper.SetInputData(normal_filter.GetOutput()) + glyph_mapper = vtk.vtkPolyDataMapper() + glyph_mapper.SetInputData(glyph.GetOutput()) + norm_actor = vtk.vtkActor() + norm_actor.SetMapper(norm_mapper) + glyph_actor = vtk.vtkActor() + glyph_actor.SetMapper(glyph_mapper) + glyph_actor.GetProperty().SetColor(1, 0, 0) + norm_render = vtk.vtkRenderer() + norm_render.AddActor(norm_actor) + norm_render.SetBackground(0, 1, 0) + glyph_render = vtk.vtkRenderer() + glyph_render.AddActor(glyph_actor) + glyph_render.AddActor(norm_actor) + glyph_render.SetBackground(0, 0, 1) + scalar_range = poly_data.GetScalarRange() + mapper = vtk.vtkDataSetMapper() + mapper.SetInputConnection(surface_filter.GetOutputPort()) + mapper.SetScalarRange(scalar_range) + actor = vtk.vtkActor() + actor.SetMapper(mapper) + renderer = vtk.vtkRenderer() + renderer.AddActor(actor) + renderer.SetBackground(1, 1, 1) + renderer_window = vtk.vtkRenderWindow() + renderer_window.AddRenderer(renderer) + if normal_filter is not None: + renderer_window.AddRenderer(norm_render) + renderer_window.AddRenderer(glyph_render) + renderer_window.Render() + interactor = vtk.vtkRenderWindowInteractor() + interactor.SetRenderWindow(renderer_window) + interactor.Initialize() + interactor.Start() + + +def get_datalist( + root, samples, norm=False, coef_norm=None, savedir=None, preprocessed=False +): + dataset = [] + mean_in, mean_out = 0, 0 + std_in, std_out = 0, 0 + for k, s in tqdm(enumerate(samples), total=len(samples), desc="Processing Samples"): + if preprocessed and savedir is not None: + save_path = os.path.join(savedir, s) + if not os.path.exists(save_path): + continue + init = np.load(os.path.join(save_path, "x.npy")) + target = np.load(os.path.join(save_path, "y.npy")) + pos = np.load(os.path.join(save_path, "pos.npy")) + surf = np.load(os.path.join(save_path, "surf.npy")) + edge_index = np.load(os.path.join(save_path, "edge_index.npy")) + else: + file_name_press = os.path.join(root, os.path.join(s, "quadpress_smpl.vtk")) + file_name_velo = os.path.join(root, os.path.join(s, "hexvelo_smpl.vtk")) + if not os.path.exists(file_name_press) or not os.path.exists( + file_name_velo + ): + continue + unstructured_grid_data_press = load_unstructured_grid_data(file_name_press) + unstructured_grid_data_velo = load_unstructured_grid_data(file_name_velo) + velo = vtk_to_numpy(unstructured_grid_data_velo.GetPointData().GetVectors()) + press = vtk_to_numpy( + unstructured_grid_data_press.GetPointData().GetScalars() + ) + points_velo = vtk_to_numpy( + unstructured_grid_data_velo.GetPoints().GetData() + ) + points_press = vtk_to_numpy( + unstructured_grid_data_press.GetPoints().GetData() + ) + edges_press = get_edges( + unstructured_grid_data_press, points_press, cell_size=4 + ) + edges_velo = get_edges( + unstructured_grid_data_velo, points_velo, cell_size=8 + ) + sdf_velo, normal_velo = get_sdf(points_velo, points_press) + sdf_press = np.zeros(tuple(points_press.shape)[0]) + normal_press = get_normal(unstructured_grid_data_press) + surface = {tuple(p) for p in points_press} + exterior_indices = [ + i for i, p in enumerate(points_velo) if tuple(p) not in surface + ] + velo_dict = {tuple(p): velo[i] for i, p in enumerate(points_velo)} + pos_ext = points_velo[exterior_indices] + pos_surf = points_press + sdf_ext = sdf_velo[exterior_indices] + sdf_surf = sdf_press + normal_ext = normal_velo[exterior_indices] + normal_surf = normal_press + velo_ext = velo[exterior_indices] + velo_surf = np.array( + [ + (velo_dict[tuple(p)] if tuple(p) in velo_dict else np.zeros(3)) + for p in pos_surf + ] + ) + press_ext = np.zeros([len(exterior_indices), 1]) + press_surf = press + init_ext = np.c_[pos_ext, sdf_ext, normal_ext] + init_surf = np.c_[pos_surf, sdf_surf, normal_surf] + target_ext = np.c_[velo_ext, press_ext] + target_surf = np.c_[velo_surf, press_surf] + surf = np.concatenate([np.zeros(len(pos_ext)), np.ones(len(pos_surf))]) + pos = np.concatenate([pos_ext, pos_surf]) + init = np.concatenate([init_ext, init_surf]) + target = np.concatenate([target_ext, target_surf]) + edge_index = get_edge_index(pos, edges_press, edges_velo) + if savedir is not None: + save_path = os.path.join(savedir, s) + if not os.path.exists(save_path): + os.makedirs(save_path) + np.save(os.path.join(save_path, "x.npy"), init) + np.save(os.path.join(save_path, "y.npy"), target) + np.save(os.path.join(save_path, "pos.npy"), pos) + np.save(os.path.join(save_path, "surf.npy"), surf) + np.save(os.path.join(save_path, "edge_index.npy"), edge_index) + surf = paddle.to_tensor(data=surf) + pos = paddle.to_tensor(data=pos) + x = paddle.to_tensor(data=init) + y = paddle.to_tensor(data=target) + edge_index = paddle.to_tensor(data=edge_index) + if norm and coef_norm is None: + if k == 0: + old_length = tuple(init.shape)[0] + mean_in = init.mean(axis=0) + mean_out = target.mean(axis=0) + else: + new_length = old_length + tuple(init.shape)[0] + mean_in += ( + init.sum(axis=0) - tuple(init.shape)[0] * mean_in + ) / new_length + mean_out += ( + target.sum(axis=0) - tuple(init.shape)[0] * mean_out + ) / new_length + old_length = new_length + data = Data( + pos=pos, x=x, y=y, surf=surf.astype(dtype="bool"), edge_index=edge_index + ) + dataset.append(data) + if norm and coef_norm is None: + for k, data in enumerate(dataset): + if k == 0: + old_length = tuple(data.x.numpy().shape)[0] + std_in = ((data.x.numpy() - mean_in) ** 2).sum(axis=0) / old_length + std_out = ((data.y.numpy() - mean_out) ** 2).sum(axis=0) / old_length + else: + new_length = old_length + tuple(data.x.numpy().shape)[0] + std_in += ( + ((data.x.numpy() - mean_in) ** 2).sum(axis=0) + - tuple(data.x.numpy().shape)[0] * std_in + ) / new_length + std_out += ( + ((data.y.numpy() - mean_out) ** 2).sum(axis=0) + - tuple(data.x.numpy().shape)[0] * std_out + ) / new_length + old_length = new_length + std_in = np.sqrt(std_in) + std_out = np.sqrt(std_out) + for data in dataset: + data.x = ((data.x - mean_in) / (std_in + 1e-08)).astype(dtype="float32") + data.y = ((data.y - mean_out) / (std_out + 1e-08)).astype(dtype="float32") + coef_norm = mean_in, std_in, mean_out, std_out + dataset = dataset, coef_norm + elif coef_norm is not None: + for data in dataset: + data.x = ((data.x - coef_norm[0]) / (coef_norm[1] + 1e-08)).astype( + dtype="float32" + ) + data.y = ((data.y - coef_norm[2]) / (coef_norm[3] + 1e-08)).astype( + dtype="float32" + ) + return dataset + + +def get_edges(unstructured_grid_data, points, cell_size=4): + edge_indeces = set() + cells = vtk_to_numpy(unstructured_grid_data.GetCells().GetData()).reshape( + -1, cell_size + 1 + ) + for i in range(len(cells)): + for j, k in itertools.product(range(1, cell_size + 1), repeat=2): + edge_indeces.add((cells[i][j], cells[i][k])) + edge_indeces.add((cells[i][k], cells[i][j])) + edges = [[], []] + for u, v in edge_indeces: + edges[0].append(tuple(points[u])) + edges[1].append(tuple(points[v])) + return edges + + +def get_edge_index(pos, edges_press, edges_velo): + indices = {tuple(pos[i]): i for i in range(len(pos))} + edges = set() + for i in range(len(edges_press[0])): + edges.add((indices[edges_press[0][i]], indices[edges_press[1][i]])) + for i in range(len(edges_velo[0])): + edges.add((indices[edges_velo[0][i]], indices[edges_velo[1][i]])) + edge_index = np.array(list(edges)).T + return edge_index + + +# def get_induced_graph(data, idx, num_hops): +# subset, sub_edge_index, _, _ = k_hop_subgraph(node_idx=idx, num_hops= +# num_hops, edge_index=data.edge_index, relabel_nodes=True) +# return Data(x=data.x[subset], y=data.y[idx], edge_index=sub_edge_index) + + +def get_induced_graph(data, idx, num_hops): + # 初始化节点集合和边集合 + subset = set([idx]) + current_layer_nodes = set([idx]) + + for _ in range(num_hops): + neighbors = set() + for node in current_layer_nodes: + neighbors.update(data.edge_index[1][data.edge_index[0] == node].numpy()) + neighbors.update(data.edge_index[0][data.edge_index[1] == node].numpy()) + current_layer_nodes = neighbors - subset # 去重 + subset.update(current_layer_nodes) + + subset = paddle.to_tensor(list(subset), dtype="int64") + + # 提取子图的边 + mask = paddle.to_tensor( + [ + (i in subset) and (j in subset) + for i, j in zip(data.edge_index[0], data.edge_index[1]) + ], + dtype="bool", + ) + sub_edge_index = data.edge_index[:, mask] + + # 创建子图 + return Data(x=data.x[subset], y=data.y[idx], edge_index=sub_edge_index) + + +def pc_normalize(pc): + # 计算点云的中心点 + centroid = paddle.mean(pc, axis=0) + # 将点云平移到原点 + pc = pc - centroid + # 计算点云的最大距离 + m = paddle.max(paddle.sqrt(paddle.sum(pc**2, axis=1))) + # 将点云归一化 + pc = pc / m + return pc + + +def get_shape(data, max_n_point=8192, normalize=True, use_height=False): + # data 是一个包含 'surf' 和 'pos' 属性的 Data 对象 + surf_indices = paddle.nonzero(data.surf).squeeze().numpy().tolist() + + # 对采样点数量进行限制 + if len(surf_indices) > max_n_point: + surf_indices = np.array(random.sample(surf_indices, max_n_point)) + + # 获取指定点的坐标 + shape_pc = paddle.gather(data.pos, paddle.to_tensor(surf_indices, dtype="int64")) + + # 如果需要,则对点云数据进行归一化 + if normalize: + shape_pc = pc_normalize(shape_pc) + + # 如果需要,则增加高度维度 + if use_height: + gravity_dim = 1 + height_array = shape_pc[:, gravity_dim : gravity_dim + 1] - paddle.min( + shape_pc[:, gravity_dim : gravity_dim + 1] + ) + shape_pc = paddle.concat((shape_pc, height_array), axis=1) + + return shape_pc + + +def create_edge_index_radius(data, r, max_neighbors=32): + data.edge_index = radius_graph( + x=data.pos, r=r, loop=True, max_num_neighbors=max_neighbors + ) + return data + + +def get_samples(root): + folds = [f"param{i}" for i in range(9)] + samples = [] + for fold in folds: + fold_samples = [] + files = os.listdir(os.path.join(root, fold)) + for file in files: + path = os.path.join(root, os.path.join(fold, file)) + if os.path.isdir(path): + fold_samples.append(os.path.join(fold, file)) + samples.append(fold_samples) + return samples + + +class ShapeNetCarDataset(paddle.io.Dataset): + def __init__( + self, + input_keys: Tuple[str, ...], + label_keys: Tuple[str, ...], + weight_keys: Tuple[str, ...], + use_height=False, + use_cfd_mesh=True, + data_dir=None, + fold_id=None, + preprocessed=None, + save_dir=None, + r=None, + mode=None, + transform=None, + ): + super().__init__() + self.input_keys = input_keys + self.label_keys = label_keys + self.weight_keys = weight_keys + self.data_dir = data_dir + self.fold_id = fold_id + self.preprocessed = preprocessed + self.save_dir = save_dir + self.transform = transform + self.use_height = use_height + self.mode = mode + self.use_cfd_mesh = use_cfd_mesh + self._indices: Optional[Sequence] = None + + if self.mode == "train": + train_data, _, coef_norm = self.load_train_val_fold() + self.datalist = train_data + elif self.mode == "eval": + _, val_data, coef_norm = self.load_train_val_fold() + self.datalist = val_data + elif self.mode == "test": + _, val_data, coef_norm, vallst = self.load_train_val_fold_file() + self.datalist = val_data + + if not self.use_cfd_mesh: + assert ( + r is not None + ), "Parameter 'r' must be provided when 'use_cfd_mesh' is False." + for i in tqdm(range(len(self.datalist)), desc="Processing neighbors"): + self.datalist[i] = create_edge_index_radius(self.datalist[i], r) + + def __len__(self): + return len(self.datalist) + + def __getitem__(self, idx: Union[int, np.integer, paddle.Tensor, np.ndarray]): + """获取数据项或数据子集,支持单个索引或索引切片。""" + if ( + isinstance(idx, (int, np.integer)) + or (isinstance(idx, paddle.Tensor) and idx.dim() == 0) + or (isinstance(idx, np.ndarray) and np.isscalar(idx)) + ): + data, shape = self.get(self.indices()[idx]) + data = data if self.transform is None else self.transform(data) + label = data.y[:, :-1] + + return ( + {self.input_keys[0]: data}, + {self.label_keys[0]: label}, + {self.weight_keys[0]: paddle.to_tensor(1)}, + ) + + def get(self, idx): + data = self.datalist[idx] + shape = get_shape(data, use_height=self.use_height) + return data, shape + + def indices(self) -> Sequence: + """返回数据集的索引列表。""" + return range(len(self.datalist)) if self._indices is None else self._indices + + def load_train_val_fold(self): + samples = get_samples(self.data_dir) + trainlst = [] + for i in range(len(samples)): + if i == self.fold_id: + continue + trainlst += samples[i] + vallst = samples[self.fold_id] if 0 <= self.fold_id < len(samples) else None + if self.preprocessed: + print("use preprocessed data") + print("loading data") + train_dataset, coef_norm = get_datalist( + self.data_dir, + trainlst, + norm=True, + savedir=self.save_dir, + preprocessed=self.preprocessed, + ) + val_dataset = get_datalist( + self.data_dir, + vallst, + coef_norm=coef_norm, + savedir=self.save_dir, + preprocessed=self.preprocessed, + ) + print("load data finish") + return train_dataset, val_dataset, coef_norm + + def load_train_val_fold_file(self): + samples = get_samples(self.data_dir) + trainlst = [] + for i in range(len(samples)): + if i == self.fold_id: + continue + trainlst += samples[i] + vallst = samples[self.fold_id] if 0 <= self.fold_id < len(samples) else None + if self.preprocessed: + print("use preprocessed data") + print("loading data") + train_dataset, coef_norm = get_datalist( + self.data_dir, + trainlst, + norm=True, + savedir=self.save_dir, + preprocessed=self.preprocessed, + ) + val_dataset = get_datalist( + self.data_dir, + vallst, + coef_norm=coef_norm, + savedir=self.save_dir, + preprocessed=self.preprocessed, + ) + print("load data finish") + return train_dataset, val_dataset, coef_norm, vallst From e550542ab76073c3fd945d3f32fc1bf7b2c2f469 Mon Sep 17 00:00:00 2001 From: Lil_Ken <98253413+LilaKen@users.noreply.github.com> Date: Mon, 23 Dec 2024 22:58:18 +0800 Subject: [PATCH 10/10] Delete examples/fsi/Transolver-paddle-convert-main directory --- .../Airfoil-Design-AirfRANS/LICENSE | 540 ------- .../Airfoil-Design-AirfRANS/README.md | 87 -- .../dataset/__init__.py | 0 .../dataset/dataset.py | 513 ------- .../Airfoil-Design-AirfRANS/dataset/radius.py | 210 --- .../Airfoil-Design-AirfRANS/main.py | 101 -- .../main_evaluation.py | 87 -- .../Airfoil-Design-AirfRANS/models/GUNet.py | 157 --- .../models/GraphSAGE.py | 43 - .../Airfoil-Design-AirfRANS/models/MLP.py | 58 - .../Airfoil-Design-AirfRANS/models/NN.py | 23 - .../models/PointNet.py | 41 - .../models/Transolver.py | 208 --- .../Airfoil-Design-AirfRANS/params.yaml | 64 - .../scripts/Evaluation.sh | 3 - .../scripts/GraphSAGE.sh | 3 - .../scripts/Transolver.sh | 3 - .../Airfoil-Design-AirfRANS/train.py | 376 ----- .../Airfoil-Design-AirfRANS/utils/metrics.py | 437 ------ .../utils/metrics_NACA.py | 191 --- .../utils/naca_generator.py | 112 -- .../utils/reorganize.py | 13 - .../Car-Design-ShapeNetCar/README.md | 98 -- .../Car-Design-ShapeNetCar/Transolver_E.log | 218 --- .../dataset/__init__.py | 0 .../Car-Design-ShapeNetCar/dataset/dataset.py | 429 ------ .../dataset/load_dataset.py | 56 - .../Car-Design-ShapeNetCar/dataset/radius.py | 161 --- .../fig/car_slice_surf.png | Bin 840428 -> 0 bytes .../Car-Design-ShapeNetCar/fig/case_study.png | Bin 273342 -> 0 bytes .../Car-Design-ShapeNetCar/fig/results.png | Bin 297941 -> 0 bytes .../Car-Design-ShapeNetCar/fig/task.png | Bin 292640 -> 0 bytes .../Car-Design-ShapeNetCar/main.py | 46 - .../Car-Design-ShapeNetCar/main_evaluation.py | 131 -- .../models/Transolver.py | 211 --- .../scripts/Evaluation.sh | 6 - .../scripts/Transolver.sh | 8 - .../Car-Design-ShapeNetCar/train.py | 146 -- .../PDE-Solving-StandardBenchmark/README.md | 98 -- .../exp_airfoil.py | 210 --- .../exp_darcy.py | 249 ---- .../PDE-Solving-StandardBenchmark/exp_elas.py | 189 --- .../PDE-Solving-StandardBenchmark/exp_ns.py | 231 --- .../PDE-Solving-StandardBenchmark/exp_pipe.py | 221 --- .../PDE-Solving-StandardBenchmark/exp_plas.py | 291 ---- .../log/Transolver_Airfoil_E.log | 310 ----- .../log/Transolver_Airfoil_T.log | 1235 ----------------- .../log/Transolver_Dracy_E.log | 240 ---- .../log/Transolver_Dracy_T.log | 1234 ---------------- .../log/Transolver_Elas_E.log | 238 ---- .../log/Transolver_Elas_T.log | 1235 ----------------- .../log/Transolver_NS_E.log | 238 ---- .../log/Transolver_NS_E_Second.log | 238 ---- .../log/Transolver_NS_T.log | 528 ------- .../log/Transolver_Pipe_E.log | 310 ----- .../log/Transolver_Pipe_T.log | 1235 ----------------- .../log/Transolver_Plas_E.log | 115 -- .../log/Transolver_Plas_T.log | 611 -------- .../model/Embedding.py | 80 -- .../model/Physics_Attention.py | 191 --- .../model/Transolver_Irregular_Mesh.py | 160 --- .../model/Transolver_Structured_Mesh_2D.py | 184 --- .../model/Transolver_Structured_Mesh_3D.py | 192 --- .../model_dict.py | 8 - .../scripts/Transolver_Airfoil.sh | 16 - .../scripts/Transolver_Darcy.sh | 18 - .../scripts/Transolver_Elas.sh | 16 - .../scripts/Transolver_NS.sh | 16 - .../scripts/Transolver_Pipe.sh | 18 - .../scripts/Transolver_Plas.sh | 17 - .../utils/normalizer.py | 116 -- .../utils/testloss.py | 42 - .../Physics_Attention.py | 191 --- .../Transolver-paddle-convert-main/ReadME.md | 1 - .../utils/__init__.py | 0 .../utils/paddle_aux.py | 91 -- 76 files changed, 15393 deletions(-) delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/LICENSE delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/README.md delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/__init__.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/dataset.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/radius.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main_evaluation.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GUNet.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GraphSAGE.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/MLP.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/NN.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/PointNet.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/Transolver.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/params.yaml delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Evaluation.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/GraphSAGE.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Transolver.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/train.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics_NACA.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/naca_generator.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/reorganize.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/README.md delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/Transolver_E.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/__init__.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/dataset.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/load_dataset.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/radius.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/car_slice_surf.png delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/case_study.png delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/results.png delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/task.png delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main_evaluation.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/models/Transolver.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Evaluation.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Transolver.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/train.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/README.md delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_darcy.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_elas.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_ns.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_plas.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_E.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_T.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_E.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_T.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_E.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_T.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E_Second.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_T.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_E.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_T.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_E.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_T.log delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Embedding.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Physics_Attention.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Irregular_Mesh.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_2D.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_3D.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model_dict.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Airfoil.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Darcy.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Elas.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_NS.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Pipe.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Plas.sh delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/normalizer.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/testloss.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/Physics_Attention.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/ReadME.md delete mode 100644 examples/fsi/Transolver-paddle-convert-main/utils/__init__.py delete mode 100644 examples/fsi/Transolver-paddle-convert-main/utils/paddle_aux.py diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/LICENSE b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/LICENSE deleted file mode 100644 index c734a1dd88..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/LICENSE +++ /dev/null @@ -1,540 +0,0 @@ -## ODC Open Database License (ODbL) - -### Preamble - -The Open Database License (ODbL) is a license agreement intended to -allow users to freely share, modify, and use this Database while -maintaining this same freedom for others. Many databases are covered by -copyright, and therefore this document licenses these rights. Some -jurisdictions, mainly in the European Union, have specific rights that -cover databases, and so the ODbL addresses these rights, too. Finally, -the ODbL is also an agreement in contract for users of this Database to -act in certain ways in return for accessing this Database. - -Databases can contain a wide variety of types of content (images, -audiovisual material, and sounds all in the same database, for example), -and so the ODbL only governs the rights over the Database, and not the -contents of the Database individually. Licensors should use the ODbL -together with another license for the contents, if the contents have a -single set of rights that uniformly covers all of the contents. If the -contents have multiple sets of different rights, Licensors should -describe what rights govern what contents together in the individual -record or in some other way that clarifies what rights apply. - -Sometimes the contents of a database, or the database itself, can be -covered by other rights not addressed here (such as private contracts, -trade mark over the name, or privacy rights / data protection rights -over information in the contents), and so you are advised that you may -have to consult other documents or clear other rights before doing -activities not covered by this License. - ------- - -The Licensor (as defined below) - -and - -You (as defined below) - -agree as follows: - -### 1.0 Definitions of Capitalised Words - -"Collective Database" – Means this Database in unmodified form as part -of a collection of independent databases in themselves that together are -assembled into a collective whole. A work that constitutes a Collective -Database will not be considered a Derivative Database. - -"Convey" – As a verb, means Using the Database, a Derivative Database, -or the Database as part of a Collective Database in any way that enables -a Person to make or receive copies of the Database or a Derivative -Database. Conveying does not include interaction with a user through a -computer network, or creating and Using a Produced Work, where no -transfer of a copy of the Database or a Derivative Database occurs. -"Contents" – The contents of this Database, which includes the -information, independent works, or other material collected into the -Database. For example, the contents of the Database could be factual -data or works such as images, audiovisual material, text, or sounds. - -"Database" – A collection of material (the Contents) arranged in a -systematic or methodical way and individually accessible by electronic -or other means offered under the terms of this License. - -"Database Directive" – Means Directive 96/9/EC of the European -Parliament and of the Council of 11 March 1996 on the legal protection -of databases, as amended or succeeded. - -"Database Right" – Means rights resulting from the Chapter III ("sui -generis") rights in the Database Directive (as amended and as transposed -by member states), which includes the Extraction and Re-utilisation of -the whole or a Substantial part of the Contents, as well as any similar -rights available in the relevant jurisdiction under Section 10.4. - -"Derivative Database" – Means a database based upon the Database, and -includes any translation, adaptation, arrangement, modification, or any -other alteration of the Database or of a Substantial part of the -Contents. This includes, but is not limited to, Extracting or -Re-utilising the whole or a Substantial part of the Contents in a new -Database. - -"Extraction" – Means the permanent or temporary transfer of all or a -Substantial part of the Contents to another medium by any means or in -any form. - -"License" – Means this license agreement and is both a license of rights -such as copyright and Database Rights and an agreement in contract. - -"Licensor" – Means the Person that offers the Database under the terms -of this License. - -"Person" – Means a natural or legal person or a body of persons -corporate or incorporate. - -"Produced Work" – a work (such as an image, audiovisual material, text, -or sounds) resulting from using the whole or a Substantial part of the -Contents (via a search or other query) from this Database, a Derivative -Database, or this Database as part of a Collective Database. - -"Publicly" – means to Persons other than You or under Your control by -either more than 50% ownership or by the power to direct their -activities (such as contracting with an independent consultant). - -"Re-utilisation" – means any form of making available to the public all -or a Substantial part of the Contents by the distribution of copies, by -renting, by online or other forms of transmission. - -"Substantial" – Means substantial in terms of quantity or quality or a -combination of both. The repeated and systematic Extraction or -Re-utilisation of insubstantial parts of the Contents may amount to the -Extraction or Re-utilisation of a Substantial part of the Contents. - -"Use" – As a verb, means doing any act that is restricted by copyright -or Database Rights whether in the original medium or any other; and -includes without limitation distributing, copying, publicly performing, -publicly displaying, and preparing derivative works of the Database, as -well as modifying the Database as may be technically necessary to use it -in a different mode or format. - -"You" – Means a Person exercising rights under this License who has not -previously violated the terms of this License with respect to the -Database, or who has received express permission from the Licensor to -exercise rights under this License despite a previous violation. - -Words in the singular include the plural and vice versa. - -### 2.0 What this License covers - -2.1. Legal effect of this document. This License is: - - a. A license of applicable copyright and neighbouring rights; - - b. A license of the Database Right; and - - c. An agreement in contract between You and the Licensor. - -2.2 Legal rights covered. This License covers the legal rights in the -Database, including: - - a. Copyright. Any copyright or neighbouring rights in the Database. - The copyright licensed includes any individual elements of the - Database, but does not cover the copyright over the Contents - independent of this Database. See Section 2.4 for details. Copyright - law varies between jurisdictions, but is likely to cover: the Database - model or schema, which is the structure, arrangement, and organisation - of the Database, and can also include the Database tables and table - indexes; the data entry and output sheets; and the Field names of - Contents stored in the Database; - - b. Database Rights. Database Rights only extend to the Extraction and - Re-utilisation of the whole or a Substantial part of the Contents. - Database Rights can apply even when there is no copyright over the - Database. Database Rights can also apply when the Contents are removed - from the Database and are selected and arranged in a way that would - not infringe any applicable copyright; and - - c. Contract. This is an agreement between You and the Licensor for - access to the Database. In return you agree to certain conditions of - use on this access as outlined in this License. - -2.3 Rights not covered. - - a. This License does not apply to computer programs used in the making - or operation of the Database; - - b. This License does not cover any patents over the Contents or the - Database; and - - c. This License does not cover any trademarks associated with the - Database. - -2.4 Relationship to Contents in the Database. The individual items of -the Contents contained in this Database may be covered by other rights, -including copyright, patent, data protection, privacy, or personality -rights, and this License does not cover any rights (other than Database -Rights or in contract) in individual Contents contained in the Database. -For example, if used on a Database of images (the Contents), this -License would not apply to copyright over individual images, which could -have their own separate licenses, or one single license covering all of -the rights over the images. - -### 3.0 Rights granted - -3.1 Subject to the terms and conditions of this License, the Licensor -grants to You a worldwide, royalty-free, non-exclusive, terminable (but -only under Section 9) license to Use the Database for the duration of -any applicable copyright and Database Rights. These rights explicitly -include commercial use, and do not exclude any field of endeavour. To -the extent possible in the relevant jurisdiction, these rights may be -exercised in all media and formats whether now known or created in the -future. - -The rights granted cover, for example: - - a. Extraction and Re-utilisation of the whole or a Substantial part of - the Contents; - - b. Creation of Derivative Databases; - - c. Creation of Collective Databases; - - d. Creation of temporary or permanent reproductions by any means and - in any form, in whole or in part, including of any Derivative - Databases or as a part of Collective Databases; and - - e. Distribution, communication, display, lending, making available, or - performance to the public by any means and in any form, in whole or in - part, including of any Derivative Database or as a part of Collective - Databases. - -3.2 Compulsory license schemes. For the avoidance of doubt: - - a. Non-waivable compulsory license schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme cannot be waived, the Licensor reserves - the exclusive right to collect such royalties for any exercise by You - of the rights granted under this License; - - b. Waivable compulsory license schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme can be waived, the Licensor waives the - exclusive right to collect such royalties for any exercise by You of - the rights granted under this License; and, - - c. Voluntary license schemes. The Licensor waives the right to collect - royalties, whether individually or, in the event that the Licensor is - a member of a collecting society that administers voluntary licensing - schemes, via that society, from any exercise by You of the rights - granted under this License. - -3.3 The right to release the Database under different terms, or to stop -distributing or making available the Database, is reserved. Note that -this Database may be multiple-licensed, and so You may have the choice -of using alternative licenses for this Database. Subject to Section -10.4, all other rights not expressly granted by Licensor are reserved. - -### 4.0 Conditions of Use - -4.1 The rights granted in Section 3 above are expressly made subject to -Your complying with the following conditions of use. These are important -conditions of this License, and if You fail to follow them, You will be -in material breach of its terms. - -4.2 Notices. If You Publicly Convey this Database, any Derivative -Database, or the Database as part of a Collective Database, then You -must: - - a. Do so only under the terms of this License or another license - permitted under Section 4.4; - - b. Include a copy of this License (or, as applicable, a license - permitted under Section 4.4) or its Uniform Resource Identifier (URI) - with the Database or Derivative Database, including both in the - Database or Derivative Database and in any relevant documentation; and - - c. Keep intact any copyright or Database Right notices and notices - that refer to this License. - - d. If it is not possible to put the required notices in a particular - file due to its structure, then You must include the notices in a - location (such as a relevant directory) where users would be likely to - look for it. - -4.3 Notice for using output (Contents). Creating and Using a Produced -Work does not require the notice in Section 4.2. However, if you -Publicly Use a Produced Work, You must include a notice associated with -the Produced Work reasonably calculated to make any Person that uses, -views, accesses, interacts with, or is otherwise exposed to the Produced -Work aware that Content was obtained from the Database, Derivative -Database, or the Database as part of a Collective Database, and that it -is available under this License. - - a. Example notice. The following text will satisfy notice under - Section 4.3: - - Contains information from DATABASE NAME, which is made available - here under the Open Database License (ODbL). - -DATABASE NAME should be replaced with the name of the Database and a -hyperlink to the URI of the Database. "Open Database License" should -contain a hyperlink to the URI of the text of this License. If -hyperlinks are not possible, You should include the plain text of the -required URI's with the above notice. - -4.4 Share alike. - - a. Any Derivative Database that You Publicly Use must be only under - the terms of: - - i. This License; - - ii. A later version of this License similar in spirit to this - License; or - - iii. A compatible license. - - If You license the Derivative Database under one of the licenses - mentioned in (iii), You must comply with the terms of that license. - - b. For the avoidance of doubt, Extraction or Re-utilisation of the - whole or a Substantial part of the Contents into a new database is a - Derivative Database and must comply with Section 4.4. - - c. Derivative Databases and Produced Works. A Derivative Database is - Publicly Used and so must comply with Section 4.4. if a Produced Work - created from the Derivative Database is Publicly Used. - - d. Share Alike and additional Contents. For the avoidance of doubt, - You must not add Contents to Derivative Databases under Section 4.4 a - that are incompatible with the rights granted under this License. - - e. Compatible licenses. Licensors may authorise a proxy to determine - compatible licenses under Section 4.4 a iii. If they do so, the - authorised proxy's public statement of acceptance of a compatible - license grants You permission to use the compatible license. - - -4.5 Limits of Share Alike. The requirements of Section 4.4 do not apply -in the following: - - a. For the avoidance of doubt, You are not required to license - Collective Databases under this License if You incorporate this - Database or a Derivative Database in the collection, but this License - still applies to this Database or a Derivative Database as a part of - the Collective Database; - - b. Using this Database, a Derivative Database, or this Database as - part of a Collective Database to create a Produced Work does not - create a Derivative Database for purposes of Section 4.4; and - - c. Use of a Derivative Database internally within an organisation is - not to the public and therefore does not fall under the requirements - of Section 4.4. - -4.6 Access to Derivative Databases. If You Publicly Use a Derivative -Database or a Produced Work from a Derivative Database, You must also -offer to recipients of the Derivative Database or Produced Work a copy -in a machine readable form of: - - a. The entire Derivative Database; or - - b. A file containing all of the alterations made to the Database or - the method of making the alterations to the Database (such as an - algorithm), including any additional Contents, that make up all the - differences between the Database and the Derivative Database. - -The Derivative Database (under a.) or alteration file (under b.) must be -available at no more than a reasonable production cost for physical -distributions and free of charge if distributed over the internet. - -4.7 Technological measures and additional terms - - a. This License does not allow You to impose (except subject to - Section 4.7 b.) any terms or any technological measures on the - Database, a Derivative Database, or the whole or a Substantial part of - the Contents that alter or restrict the terms of this License, or any - rights granted under it, or have the effect or intent of restricting - the ability of any person to exercise those rights. - - b. Parallel distribution. You may impose terms or technological - measures on the Database, a Derivative Database, or the whole or a - Substantial part of the Contents (a "Restricted Database") in - contravention of Section 4.74 a. only if You also make a copy of the - Database or a Derivative Database available to the recipient of the - Restricted Database: - - i. That is available without additional fee; - - ii. That is available in a medium that does not alter or restrict - the terms of this License, or any rights granted under it, or have - the effect or intent of restricting the ability of any person to - exercise those rights (an "Unrestricted Database"); and - - iii. The Unrestricted Database is at least as accessible to the - recipient as a practical matter as the Restricted Database. - - c. For the avoidance of doubt, You may place this Database or a - Derivative Database in an authenticated environment, behind a - password, or within a similar access control scheme provided that You - do not alter or restrict the terms of this License or any rights - granted under it or have the effect or intent of restricting the - ability of any person to exercise those rights. - -4.8 Licensing of others. You may not sublicense the Database. Each time -You communicate the Database, the whole or Substantial part of the -Contents, or any Derivative Database to anyone else in any way, the -Licensor offers to the recipient a license to the Database on the same -terms and conditions as this License. You are not responsible for -enforcing compliance by third parties with this License, but You may -enforce any rights that You have over a Derivative Database. You are -solely responsible for any modifications of a Derivative Database made -by You or another Person at Your direction. You may not impose any -further restrictions on the exercise of the rights granted or affirmed -under this License. - -### 5.0 Moral rights - -5.1 Moral rights. This section covers moral rights, including any rights -to be identified as the author of the Database or to object to treatment -that would otherwise prejudice the author's honour and reputation, or -any other derogatory treatment: - - a. For jurisdictions allowing waiver of moral rights, Licensor waives - all moral rights that Licensor may have in the Database to the fullest - extent possible by the law of the relevant jurisdiction under Section - 10.4; - - b. If waiver of moral rights under Section 5.1 a in the relevant - jurisdiction is not possible, Licensor agrees not to assert any moral - rights over the Database and waives all claims in moral rights to the - fullest extent possible by the law of the relevant jurisdiction under - Section 10.4; and - - c. For jurisdictions not allowing waiver or an agreement not to assert - moral rights under Section 5.1 a and b, the author may retain their - moral rights over certain aspects of the Database. - -Please note that some jurisdictions do not allow for the waiver of moral -rights, and so moral rights may still subsist over the Database in some -jurisdictions. - -### 6.0 Fair dealing, Database exceptions, and other rights not affected - -6.1 This License does not affect any rights that You or anyone else may -independently have under any applicable law to make any use of this -Database, including without limitation: - - a. Exceptions to the Database Right including: Extraction of Contents - from non-electronic Databases for private purposes, Extraction for - purposes of illustration for teaching or scientific research, and - Extraction or Re-utilisation for public security or an administrative - or judicial procedure. - - b. Fair dealing, fair use, or any other legally recognised limitation - or exception to infringement of copyright or other applicable laws. - -6.2 This License does not affect any rights of lawful users to Extract -and Re-utilise insubstantial parts of the Contents, evaluated -quantitatively or qualitatively, for any purposes whatsoever, including -creating a Derivative Database (subject to other rights over the -Contents, see Section 2.4). The repeated and systematic Extraction or -Re-utilisation of insubstantial parts of the Contents may however amount -to the Extraction or Re-utilisation of a Substantial part of the -Contents. - -### 7.0 Warranties and Disclaimer - -7.1 The Database is licensed by the Licensor "as is" and without any -warranty of any kind, either express, implied, or arising by statute, -custom, course of dealing, or trade usage. Licensor specifically -disclaims any and all implied warranties or conditions of title, -non-infringement, accuracy or completeness, the presence or absence of -errors, fitness for a particular purpose, merchantability, or otherwise. -Some jurisdictions do not allow the exclusion of implied warranties, so -this exclusion may not apply to You. - -### 8.0 Limitation of liability - -8.1 Subject to any liability that may not be excluded or limited by law, -the Licensor is not liable for, and expressly excludes, all liability -for loss or damage however and whenever caused to anyone by any use -under this License, whether by You or by anyone else, and whether caused -by any fault on the part of the Licensor or not. This exclusion of -liability includes, but is not limited to, any special, incidental, -consequential, punitive, or exemplary damages such as loss of revenue, -data, anticipated profits, and lost business. This exclusion applies -even if the Licensor has been advised of the possibility of such -damages. - -8.2 If liability may not be excluded by law, it is limited to actual and -direct financial loss to the extent it is caused by proved negligence on -the part of the Licensor. - -### 9.0 Termination of Your rights under this License - -9.1 Any breach by You of the terms and conditions of this License -automatically terminates this License with immediate effect and without -notice to You. For the avoidance of doubt, Persons who have received the -Database, the whole or a Substantial part of the Contents, Derivative -Databases, or the Database as part of a Collective Database from You -under this License will not have their licenses terminated provided -their use is in full compliance with this License or a license granted -under Section 4.8 of this License. Sections 1, 2, 7, 8, 9 and 10 will -survive any termination of this License. - -9.2 If You are not in breach of the terms of this License, the Licensor -will not terminate Your rights under it. - -9.3 Unless terminated under Section 9.1, this License is granted to You -for the duration of applicable rights in the Database. - -9.4 Reinstatement of rights. If you cease any breach of the terms and -conditions of this License, then your full rights under this License -will be reinstated: - - a. Provisionally and subject to permanent termination until the 60th - day after cessation of breach; - - b. Permanently on the 60th day after cessation of breach unless - otherwise reasonably notified by the Licensor; or - - c. Permanently if reasonably notified by the Licensor of the - violation, this is the first time You have received notice of - violation of this License from the Licensor, and You cure the - violation prior to 30 days after your receipt of the notice. - -Persons subject to permanent termination of rights are not eligible to -be a recipient and receive a license under Section 4.8. - -9.5 Notwithstanding the above, Licensor reserves the right to release -the Database under different license terms or to stop distributing or -making available the Database. Releasing the Database under different -license terms or stopping the distribution of the Database will not -withdraw this License (or any other license that has been, or is -required to be, granted under the terms of this License), and this -License will continue in full force and effect unless terminated as -stated above. - -### 10.0 General - -10.1 If any provision of this License is held to be invalid or -unenforceable, that must not affect the validity or enforceability of -the remainder of the terms and conditions of this License and each -remaining provision of this License shall be valid and enforced to the -fullest extent permitted by law. - -10.2 This License is the entire agreement between the parties with -respect to the rights granted here over the Database. It replaces any -earlier understandings, agreements or representations with respect to -the Database. - -10.3 If You are in breach of the terms of this License, You will not be -entitled to rely on the terms of this License or to complain of any -breach by the Licensor. - -10.4 Choice of law. This License takes effect in and will be governed by -the laws of the relevant jurisdiction in which the License terms are -sought to be enforced. If the standard suite of rights granted under -applicable copyright law and Database Rights in the relevant -jurisdiction includes additional rights not granted under this License, -these additional rights are granted in this License in order to meet the -terms of this License. diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/README.md b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/README.md deleted file mode 100644 index bedf062f13..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/README.md +++ /dev/null @@ -1,87 +0,0 @@ -# Transolver for Airfoil Design - -We test [Transolver](https://arxiv.org/abs/2402.02366) on practical design tasks. The airfoil design task requires the model to estimate the surrounding and surface physical quantities of a 2D airfoil under different Reynolds and angles of attacks. - -

- -

-Figure 1. Airfoil design task. Left: surrounding pressure; Right: x-direction wind speed. -

- -## Get Started - -This part of code is developed based on the [[AirfRANS]](https://github.com/Extrality/AirfRANS). - -1. Install Python 3.8. For convenience, execute the following command. - -```bash -pip install -r requirements.txt -``` - -Note: You need to install [pytorch_geometric](https://github.com/pyg-team/pytorch_geometric). - -2. Prepare Data. - -The experiment data is provided by [[AirfRANS]](https://github.com/Extrality/AirfRANS). You can directly download it with this [link](https://data.isir.upmc.fr/extrality/NeurIPS_2022/Dataset.zip) (9.3GB). - -3. Train and evaluate model. We provide the experiment scripts under the folder `./scripts/`. You can reproduce the experiment results as the following examples: - -```bash -bash scripts/Transolver.sh # for Training Transolver (will take 20-24 hours on one single A100) -bash scripts/Evaluation.sh # for Evaluation -bash scripts/GraphSAGE.sh # for Training GraphSAGE (will take 30-36 hours on one single A100) -``` - -Note: You need to change the argument `--my_path` to your dataset path. - -4. Test model with different settings. This benchmark supports four types of settings. - -| Settings | Argument | -| -------------------------------------------- | ------------- | -| Use full data | `-t full` | -| Use scarce data | `-t scarce` | -| Test on out-of-distribution Reynolds | `-t reynolds` | -| Test on out-of-distribution Angle of Attacks | `-t aoa` | - -5. Develop your own model. Here are the instructions: - - - Add the model file under folder `./models/`. - - - Add the training details in `./params.yaml`. If you donot want to change setting, just copy other models' configuration. - - - Add the model configuration into `./main.py`. - - - Add a script file under folder `./scripts/` and change the argument `--model`. - -## Main Results - -Transolver achieves the consistent best performance in practical design tasks. - -

- -

-Table 1. Model comparisons on the practical design tasks. -

- -## Citation - -If you find this repo useful, please cite our paper. - -``` -@inproceedings{wu2024Transolver, - title={Transolver: A Fast Transformer Solver for PDEs on General Geometries}, - author={Haixu Wu and Huakun Luo and Haowen Wang and Jianmin Wang and Mingsheng Long}, - booktitle={International Conference on Machine Learning}, - year={2024} -} -``` - -## Contact - -If you have any questions or want to use the code, please contact [wuhx23@mails.tsinghua.edu.cn](mailto:wuhx23@mails.tsinghua.edu.cn). - -## Acknowledgement - -We appreciate the following github repos a lot for their valuable code base or datasets: - -https://github.com/Extrality/AirfRANS diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/__init__.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/dataset.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/dataset.py deleted file mode 100644 index 033f903ac6..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/dataset.py +++ /dev/null @@ -1,513 +0,0 @@ -import sys - -# sys.path.append('../../utils') -from utils import paddle_aux -import os -import paddle -import numpy as np -import pyvista as pv -from utils.reorganize import reorganize -from tqdm import tqdm -from paddle.io import Dataset - -class Data: - def __init__(self, pos=None, x=None, y=None, surf=None, edge_index=None): - self.pos = pos # 节点的坐标 - self.x = x # 节点特征 - self.y = y # 标签或目标值 - self.edge_index = edge_index # 边的索引 - self.surf = surf # 其他自定义属性,如 surf - - def to(self, device): - # 将数据移动到指定设备(如 GPU 或 CPU) - if self.pos is not None: - self.pos = self.pos.to(device) - if self.x is not None: - self.x = self.x.to(device) - if self.y is not None: - self.y = self.y.to(device) - if self.edge_index is not None: - self.edge_index = self.edge_index.to(device) - if self.surf is not None: - self.surf = self.surf.to(device) - return self - - def clone(self): - # 创建当前 Data 对象的深拷贝 - pos_clone = self.pos.clone() if self.pos is not None else None - x_clone = self.x.clone() if self.x is not None else None - y_clone = self.y.clone() if self.y is not None else None - edge_index_clone = self.edge_index.clone() if self.edge_index is not None else None - surf_clone = self.surf.clone() if self.surf is not None else None - return Data(pos=pos_clone, x=x_clone, y=y_clone, surf=surf_clone, edge_index=edge_index_clone) - - def size(self, dim=None): - """返回 x 的大小或指定维度的大小.""" - if self.x is not None: - # 如果 dim 是整数,则返回对应维度的大小;否则返回完整形状 - if dim is not None and isinstance(dim, int): - return self.x.shape[dim] - return self.x.shape - else: - raise AttributeError("Attribute 'x' is not set.") - - def __repr__(self): - return (f"Data(x={self._format_attr(self.x)}, " - f"edge_index={self._format_attr(self.edge_index)}, " - f"y={self._format_attr(self.y)}, " - f"pos={self._format_attr(self.pos)}, " - f"surf={self._format_attr(self.surf)})") - - def _format_attr(self, attr): - if attr is None: - return "None" - elif hasattr(attr, 'shape'): - return f"[{', '.join(map(str, attr.shape))}]" - else: - return str(attr) - - -def cell_sampling_2d(cell_points, cell_attr=None): - """ - Sample points in a two dimensional cell via parallelogram sampling and triangle interpolation via barycentric coordinates. The vertices have to be ordered in a certain way. - - Args: - cell_points (array): Vertices of the 2 dimensional cells. Shape (N, 4) for N cells with 4 vertices. - cell_attr (array, optional): Features of the vertices of the 2 dimensional cells. Shape (N, 4, k) for N cells with 4 edges and k features. - If given shape (N, 4) it will resize it automatically in a (N, 4, 1) array. Default: ``None`` - """ - v0, v1 = cell_points[:, 1] - cell_points[:, 0], cell_points[:, 3 - ] - cell_points[:, 0] - v2, v3 = cell_points[:, 3] - cell_points[:, 2], cell_points[:, 1 - ] - cell_points[:, 2] - a0, a1 = np.abs(np.linalg.det(np.hstack([v0[:, :2], v1[:, :2]]).reshape - (-1, 2, 2))), np.abs(np.linalg.det(np.hstack([v2[:, :2], v3[:, :2]] - ).reshape(-1, 2, 2))) - p = a0 / (a0 + a1) - index_triangle = np.random.binomial(1, p)[:, None] - u = np.random.uniform(size=(len(p), 2)) - sampled_point = index_triangle * (u[:, 0:1] * v0 + u[:, 1:2] * v1) + (1 - - index_triangle) * ( - u[:, 0:1] * v2 + u[:, 1:2] * v3) - sampled_point_mirror = index_triangle * ((1 - u[:, 0:1]) * v0 + (1 - u[ - :, 1:2]) * v1) + (1 - index_triangle) * ( - (1 - u[:, 0:1]) * v2 + (1 - - u[:, 1:2]) * v3) - reflex = u.sum(axis=1) > 1 - sampled_point[reflex] = sampled_point_mirror[reflex] - if cell_attr is not None: - t0, t1, t2 = np.zeros_like(v0), index_triangle * v0 + (1 - - index_triangle) * v2, index_triangle * v1 + ( - 1 - index_triangle - ) * v3 - w = (t1[:, 1] - t2[:, 1]) * (t0[:, 0] - t2[:, 0]) + (t2[:, 0] - t1[ - :, 0]) * (t0[:, 1] - t2[:, 1]) - w0 = (t1[:, 1] - t2[:, 1]) * (sampled_point[:, 0] - t2[:, 0]) + (t2 - [:, 0] - t1[:, 0]) * ( - sampled_point[:, 1] - t2[:, 1]) - w1 = (t2[:, 1] - t0[:, 1]) * (sampled_point[:, 0] - t2[:, 0]) + (t0 - [:, 0] - t2[:, 0]) * ( - sampled_point[:, 1] - t2[:, 1]) - w0, w1 = w0 / w, w1 / w - w2 = 1 - w0 - w1 - if len(tuple(cell_attr.shape)) == 2: - cell_attr = cell_attr[:, :, None] - attr0 = index_triangle * cell_attr[:, 0] + (1 - index_triangle - ) * cell_attr[:, 2] - attr1 = index_triangle * cell_attr[:, 1] + (1 - index_triangle - ) * cell_attr[:, 1] - attr2 = index_triangle * cell_attr[:, 3] + (1 - index_triangle - ) * cell_attr[:, 3] - sampled_attr = w0[:, None] * attr0 + w1[:, None] * attr1 + w2[:, None - ] * attr2 - sampled_point += index_triangle * cell_points[:, 0] + (1 - index_triangle - ) * cell_points[:, 2] - return np.hstack([sampled_point[:, :2], sampled_attr] - ) if cell_attr is not None else sampled_point[:, :2] - - -def cell_sampling_1d(line_points, line_attr=None): - """ - Sample points in a one dimensional cell via linear sampling and interpolation. - - Args: - line_points (array): Edges of the 1 dimensional cells. Shape (N, 2) for N cells with 2 edges. - line_attr (array, optional): Features of the edges of the 1 dimensional cells. Shape (N, 2, k) for N cells with 2 edges and k features. - If given shape (N, 2) it will resize it automatically in a (N, 2, 1) array. Default: ``None`` - """ - u = np.random.uniform(size=(len(line_points), 1)) - sampled_point = u * line_points[:, 0] + (1 - u) * line_points[:, 1] - if line_attr is not None: - if len(tuple(line_attr.shape)) == 2: - line_attr = line_attr[:, :, None] - sampled_attr = u * line_attr[:, 0] + (1 - u) * line_attr[:, 1] - return np.hstack([sampled_point[:, :2], sampled_attr] - ) if line_attr is not None else sampled_point[:, :2] - - -def Dataset(set, norm=False, coef_norm=None, crop=None, sample=None, n_boot=int(500000.0), surf_ratio=0.1, my_path='/data/path'): - """ - Create a list of simulation to input in a PyTorch Geometric DataLoader. Simulation are transformed by keeping vertices of the CFD mesh or - by sampling (uniformly or via the mesh density) points in the simulation cells. - - Args: - set (list): List of geometry names to include in the dataset. - norm (bool, optional): If norm is set to ``True``, the mean and the standard deviation of the dataset will be computed and returned. - Moreover, the dataset will be normalized by these quantities. Ignored when ``coef_norm`` is not None. Default: ``False`` - coef_norm (tuple, optional): This has to be a tuple of the form (mean input, std input, mean output, std ouput) if not None. - The dataset generated will be normalized by those quantites. Default: ``None`` - crop (list, optional): List of the vertices of the rectangular [xmin, xmax, ymin, ymax] box to crop simulations. Default: ``None`` - sample (string, optional): Type of sampling. If ``None``, no sampling strategy is applied and the nodes of the CFD mesh are returned. - If ``uniform`` or ``mesh`` is chosen, uniform or mesh density sampling is applied on the domain. Default: ``None`` - n_boot (int, optional): Used only if sample is not None, gives the size of the sampling for each simulation. Defaul: ``int(5e5)`` - surf_ratio (float, optional): Used only if sample is not None, gives the ratio of point over the airfoil to sample with respect to point - in the volume. Default: ``0.1`` - """ - if norm and coef_norm is not None: - raise ValueError( - 'If coef_norm is not None and norm is True, the normalization will be done via coef_norm' - ) - dataset = [] - for k, s in enumerate(tqdm(set)): - internal = pv.read(os.path.join(my_path, s, s + '_internal.vtu')) - aerofoil = pv.read(os.path.join(my_path, s, s + '_aerofoil.vtp')) - internal = internal.compute_cell_sizes(length=False, volume=False) - if crop is not None: - bounds = crop[0], crop[1], crop[2], crop[3], 0, 1 - internal = internal.clip_box(bounds=bounds, invert=False, - crinkle=True) - if sample is not None: - if sample == 'uniform': - p = internal.cell_data['Area'] / internal.cell_data['Area' - ].sum() - sampled_cell_indices = np.random.choice(internal.n_cells, - size=n_boot, p=p) - surf_p = aerofoil.cell_data['Length'] / aerofoil.cell_data[ - 'Length'].sum() - sampled_line_indices = np.random.choice(aerofoil.n_cells, - size=int(n_boot * surf_ratio), p=surf_p) - elif sample == 'mesh': - sampled_cell_indices = np.random.choice(internal.n_cells, - size=n_boot) - sampled_line_indices = np.random.choice(aerofoil.n_cells, - size=int(n_boot * surf_ratio)) - cell_dict = internal.cells.reshape(-1, 5)[sampled_cell_indices, 1:] - cell_points = internal.points[cell_dict] - line_dict = aerofoil.lines.reshape(-1, 3)[sampled_line_indices, 1:] - line_points = aerofoil.points[line_dict] - geom = -internal.point_data['implicit_distance'][cell_dict, None] - Uinf, alpha = float(s.split('_')[2]), float(s.split('_')[3] - ) * np.pi / 180 - u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2 - ) * np.ones_like( - internal.point_data['U'][cell_dict, :1]) - normal = np.zeros_like(u) - surf_geom = np.zeros_like(aerofoil.point_data['U'][line_dict, :1]) - surf_u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape( - 1, 2) * np.ones_like(aerofoil.point_data['U'][line_dict, :1]) - surf_normal = -aerofoil.point_data['Normals'][line_dict, :2] - attr = np.concatenate([u, geom, normal, internal.point_data['U' - ][cell_dict, :2], internal.point_data['p'][cell_dict, None], - internal.point_data['nut'][cell_dict, None]], axis=-1) - surf_attr = np.concatenate([surf_u, surf_geom, surf_normal, - aerofoil.point_data['U'][line_dict, :2], aerofoil. - point_data['p'][line_dict, None], aerofoil.point_data['nut' - ][line_dict, None]], axis=-1) - sampled_points = cell_sampling_2d(cell_points, attr) - surf_sampled_points = cell_sampling_1d(line_points, surf_attr) - pos = sampled_points[:, :2] - init = sampled_points[:, :7] - target = sampled_points[:, 7:] - surf_pos = surf_sampled_points[:, :2] - surf_init = surf_sampled_points[:, :7] - surf_target = surf_sampled_points[:, 7:] - surf = paddle.concat(x=[paddle.zeros(shape=len(pos)), paddle. - ones(shape=len(surf_pos))], axis=0) - pos = paddle.concat(x=[paddle.to_tensor(data=pos, dtype= - 'float32'), paddle.to_tensor(data=surf_pos, dtype='float32' - )], axis=0) - x = paddle.concat(x=[paddle.to_tensor(data=init, dtype= - 'float32'), paddle.to_tensor(data=surf_init, dtype= - 'float32')], axis=0) - y = paddle.concat(x=[paddle.to_tensor(data=target, dtype= - 'float32'), paddle.to_tensor(data=surf_target, dtype= - 'float32')], axis=0) - else: - surf_bool = internal.point_data['U'][:, 0] == 0 - geom = -internal.point_data['implicit_distance'][:, None] - Uinf, alpha = float(s.split('_')[2]), float(s.split('_')[3] - ) * np.pi / 180 - u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2 - ) * np.ones_like( - internal.point_data['U'][:, :1]) - normal = np.zeros_like(u) - normal[surf_bool] = reorganize(aerofoil.points[:, :2], internal - .points[surf_bool, :2], -aerofoil.point_data['Normals'][:, :2]) - attr = np.concatenate([u, geom, normal, internal.point_data['U' - ][:, :2], internal.point_data['p'][:, None], internal. - point_data['nut'][:, None]], axis=-1) - pos = internal.points[:, :2] - init = np.concatenate([pos, attr[:, :5]], axis=1) - target = attr[:, 5:] - surf = paddle.to_tensor(data=surf_bool) - pos = paddle.to_tensor(data=pos, dtype='float32') - x = paddle.to_tensor(data=init, dtype='float32') - y = paddle.to_tensor(data=target, dtype='float32') - if norm and coef_norm is None: - if k == 0: - old_length = tuple(init.shape)[0] - mean_in = init.mean(axis=0, dtype=np.double) - mean_out = target.mean(axis=0, dtype=np.double) - else: - new_length = old_length + tuple(init.shape)[0] - mean_in += (init.sum(axis=0, dtype=np.double) - tuple(init. - shape)[0] * mean_in) / new_length - mean_out += (target.sum(axis=0, dtype=np.double) - tuple( - init.shape)[0] * mean_out) / new_length - old_length = new_length - data = Data(pos=pos, x=x, y=y, surf=surf.astype(dtype='bool')) - dataset.append(data) - if norm and coef_norm is None: - mean_in = mean_in.astype(np.single) - mean_out = mean_out.astype(np.single) - for k, data in enumerate(dataset): - if k == 0: - old_length = tuple(data.x.numpy().shape)[0] - std_in = ((data.x.numpy() - mean_in) ** 2).sum(axis=0, - dtype=np.double) / old_length - std_out = ((data.y.numpy() - mean_out) ** 2).sum(axis=0, - dtype=np.double) / old_length - else: - new_length = old_length + tuple(data.x.numpy().shape)[0] - std_in += (((data.x.numpy() - mean_in) ** 2).sum(axis=0, - dtype=np.double) - tuple(data.x.numpy().shape)[ - 0] * std_in - ) / new_length - std_out += (((data.y.numpy() - mean_out) ** 2).sum(axis=0, - dtype=np.double) - tuple(data.x.numpy().shape)[ - 0] * std_out - ) / new_length - old_length = new_length - std_in = np.sqrt(std_in).astype(np.single) - std_out = np.sqrt(std_out).astype(np.single) - for data in dataset: - data.x = (data.x - mean_in) / (std_in + 1e-08) - data.y = (data.y - mean_out) / (std_out + 1e-08) - coef_norm = mean_in, std_in, mean_out, std_out - dataset = dataset, coef_norm - elif coef_norm is not None: - for data in dataset: - data.x = (data.x - coef_norm[0]) / (coef_norm[1] + 1e-08) - data.y = (data.y - coef_norm[2]) / (coef_norm[3] + 1e-08) - return dataset - -# class CFDataset: -# def __init__(self, set, norm=False, coef_norm=None, crop=None, sample=None, n_boot=int(500000.0), surf_ratio=0.1, my_path='/data/path'): -# """ -# Create a list of simulation to input in a Paddle DataLoader. Simulation are transformed by keeping vertices of the CFD mesh or -# by sampling (uniformly or via the mesh density) points in the simulation cells. -# -# Args: -# set (list): List of geometry names to include in the dataset. -# norm (bool, optional): If norm is set to ``True``, the mean and the standard deviation of the dataset will be computed and returned. -# Moreover, the dataset will be normalized by these quantities. Ignored when ``coef_norm`` is not None. Default: ``False`` -# coef_norm (tuple, optional): This has to be a tuple of the form (mean input, std input, mean output, std ouput) if not None. -# The dataset generated will be normalized by those quantites. Default: ``None`` -# crop (list, optional): List of the vertices of the rectangular [xmin, xmax, ymin, ymax] box to crop simulations. Default: ``None`` -# sample (string, optional): Type of sampling. If ``None``, no sampling strategy is applied and the nodes of the CFD mesh are returned. -# If ``uniform`` or ``mesh`` is chosen, uniform or mesh density sampling is applied on the domain. Default: ``None`` -# n_boot (int, optional): Used only if sample is not None, gives the size of the sampling for each simulation. Default: ``int(5e5)`` -# surf_ratio (float, optional): Used only if sample is not None, gives the ratio of point over the airfoil to sample with respect to point -# in the volume. Default: ``0.1`` -# """ -# self.set = set -# self.norm = norm -# self.coef_norm = coef_norm -# self.crop = crop -# self.sample = sample -# self.n_boot = n_boot -# self.surf_ratio = surf_ratio -# self.my_path = my_path -# self.dataset = [] -# self.mean_in, self.std_in, self.mean_out, self.std_out = None, None, None, None -# -# # Load the dataset -# self._load_dataset() -# -# # Compute normalization if required -# if self.norm and self.coef_norm is None: -# self._compute_normalization() -# self._apply_normalization() -# elif self.coef_norm is not None: -# self.mean_in, self.std_in, self.mean_out, self.std_out = self.coef_norm -# self._apply_normalization() -# -# -# def _load_dataset(self): -# """ -# Load all samples into the dataset. -# """ -# for k, s in enumerate(tqdm(self.set, desc="Loading dataset")): -# data = self._load_single_sample(s, k) -# self.dataset.append(data) -# -# def _load_single_sample(self, s, k): -# """ -# Load a single sample and return a Data object. -# """ -# internal = pv.read(os.path.join(self.my_path, s, s + '_internal.vtu')) -# aerofoil = pv.read(os.path.join(self.my_path, s, s + '_aerofoil.vtp')) -# internal = internal.compute_cell_sizes(length=False, volume=False) -# -# # Apply cropping if specified -# if self.crop is not None: -# bounds = self.crop[0], self.crop[1], self.crop[2], self.crop[3], 0, 1 -# internal = internal.clip_box(bounds=bounds, invert=False, crinkle=True) -# -# # Sampling logic -# if self.sample is not None: -# pos, x, y, surf = self._sample_data(internal, aerofoil, s) -# else: -# surf_bool = internal.point_data['U'][:, 0] == 0 -# geom = -internal.point_data['implicit_distance'][:, None] -# Uinf, alpha = float(s.split('_')[2]), float(s.split('_')[3]) * np.pi / 180 -# u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2) * np.ones_like( -# internal.point_data['U'][:, :1] -# ) -# normal = np.zeros_like(u) -# normal[surf_bool] = reorganize( -# aerofoil.points[:, :2], internal.points[surf_bool, :2], -aerofoil.point_data['Normals'][:, :2] -# ) -# attr = np.concatenate( -# [u, geom, normal, internal.point_data['U'][:, :2], internal.point_data['p'][:, None], internal.point_data['nut'][:, None]], -# axis=-1 -# ) -# pos = paddle.to_tensor(data=internal.points[:, :2], dtype='float32') -# x = paddle.to_tensor(data=attr[:, :5], dtype='float32') -# y = paddle.to_tensor(data=attr[:, 5:], dtype='float32') -# surf = paddle.to_tensor(data=surf_bool, dtype='bool') -# -# # 检查 x 是否为空 -# if x is None or x.size == 0: -# raise ValueError( -# f"Failed to load x for sample {s} at index {k}. Check input files or preprocessing logic.") -# -# # print(f"Loaded sample {s}: x.shape={x.shape}, y.shape={y.shape}") -# return Data(pos=pos, x=x, y=y, surf=surf) -# -# def _sample_data(self, internal, aerofoil, s): -# """ -# Perform sampling on the data and return sampled points and attributes. -# """ -# if self.sample == 'uniform': -# p = internal.cell_data['Area'] / internal.cell_data['Area'].sum() -# sampled_cell_indices = np.random.choice(internal.n_cells, size=self.n_boot, p=p) -# surf_p = aerofoil.cell_data['Length'] / aerofoil.cell_data['Length'].sum() -# sampled_line_indices = np.random.choice(aerofoil.n_cells, size=int(self.n_boot * self.surf_ratio), p=surf_p) -# elif self.sample == 'mesh': -# sampled_cell_indices = np.random.choice(internal.n_cells, size=self.n_boot) -# sampled_line_indices = np.random.choice(aerofoil.n_cells, size=int(self.n_boot * self.surf_ratio)) -# -# cell_dict = internal.cells.reshape(-1, 5)[sampled_cell_indices, 1:] -# cell_points = internal.points[cell_dict] -# line_dict = aerofoil.lines.reshape(-1, 3)[sampled_line_indices, 1:] -# line_points = aerofoil.points[line_dict] -# -# geom = -internal.point_data['implicit_distance'][cell_dict, None] -# Uinf, alpha = float(s.split('_')[2]), float(s.split('_')[3]) * np.pi / 180 -# u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2) * np.ones_like(internal.point_data['U'][cell_dict, :1]) -# normal = np.zeros_like(u) -# surf_geom = np.zeros_like(aerofoil.point_data['U'][line_dict, :1]) -# surf_u = (np.array([np.cos(alpha), np.sin(alpha)]) * Uinf).reshape(1, 2) * np.ones_like(aerofoil.point_data['U'][line_dict, :1]) -# surf_normal = -aerofoil.point_data['Normals'][line_dict, :2] -# -# attr = np.concatenate( -# [u, geom, normal, internal.point_data['U'][cell_dict, :2], internal.point_data['p'][cell_dict, None], internal.point_data['nut'][cell_dict, None]], -# axis=-1 -# ) -# surf_attr = np.concatenate( -# [surf_u, surf_geom, surf_normal, aerofoil.point_data['U'][line_dict, :2], aerofoil.point_data['p'][line_dict, None], aerofoil.point_data['nut'][line_dict, None]], -# axis=-1 -# ) -# -# sampled_points = cell_sampling_2d(cell_points, attr) -# surf_sampled_points = cell_sampling_1d(line_points, surf_attr) -# -# pos = paddle.concat( -# [paddle.to_tensor(sampled_points[:, :2], dtype='float32'), paddle.to_tensor(surf_sampled_points[:, :2], dtype='float32')], axis=0 -# ) -# x = paddle.concat( -# [paddle.to_tensor(sampled_points[:, :7], dtype='float32'), paddle.to_tensor(surf_sampled_points[:, :7], dtype='float32')], axis=0 -# ) -# y = paddle.concat( -# [paddle.to_tensor(sampled_points[:, 7:], dtype='float32'), paddle.to_tensor(surf_sampled_points[:, 7:], dtype='float32')], axis=0 -# ) -# surf = paddle.concat( -# [paddle.zeros(shape=[len(sampled_points)]), paddle.ones(shape=[len(surf_sampled_points)])], axis=0 -# ) -# -# return pos, x, y, surf -# -# def _compute_normalization(self): -# """ -# Compute mean and std for normalization. -# """ -# print("Computing normalization...") -# for k, data in enumerate(self.dataset): -# if data.x is None: -# raise ValueError(f"Data.x is None for sample at index {k}") -# x, y = data.x.numpy(), data.y.numpy() -# if k == 0: -# self.mean_in = x.mean(axis=0, dtype=np.double) -# self.std_in = x.std(axis=0, dtype=np.double) -# self.mean_out = y.mean(axis=0, dtype=np.double) -# self.std_out = y.std(axis=0, dtype=np.double) -# else: -# self.mean_in += x.mean(axis=0, dtype=np.double) -# self.std_in += x.std(axis=0, dtype=np.double) -# self.mean_out += y.mean(axis=0, dtype=np.double) -# self.std_out += y.std(axis=0, dtype=np.double) -# -# # # 检查 mean 和 std 是否正确 -# # if self.mean_in is None or self.std_in is None: -# # raise ValueError("Failed to compute mean or std for input features.") -# # print(f"Mean input: {self.mean_in}, Std input: {self.std_in}") -# # print(f"Mean output: {self.mean_out}, Std output: {self.std_out}") -# -# def _apply_normalization(self): -# """ -# Apply normalization to the dataset. -# """ -# for data in self.dataset: -# if data.x is None: -# raise ValueError(f"Data.x is None for sample {data}. Check data loading process.") -# # print(f"Normalizing data.x: {data.x.shape}, mean: {self.mean_in.shape}, std: {self.std_in.shape}") -# data.x = (data.x - self.mean_in) / (self.std_in + 1e-8) -# data.y = (data.y - self.mean_out) / (self.std_out + 1e-8) -# -# def __len__(self): -# """ -# Return the length of the dataset. -# """ -# return len(self.dataset) -# -# def __getitem__(self, idx): -# """ -# Get a single item from the dataset. -# """ -# data = self.dataset[idx] -# print(f"Returning sample {idx}: {data}") -# return data -# -# def __call__(self): -# """ -# Make the class callable to maintain compatibility with the original function style. -# """ -# if self.norm: -# return self.dataset, (self.mean_in, self.std_in, self.mean_out, self.std_out) -# else: -# return self.dataset -# -# def get(self, idx): -# data = self.datalist[idx] -# return data \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/radius.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/radius.py deleted file mode 100644 index fe4c1543dc..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/dataset/radius.py +++ /dev/null @@ -1,210 +0,0 @@ -import paddle -from typing import Optional -# from custom_setup_ops import custom_radius - - -# def radius( -# x: paddle.Tensor, -# y: paddle.Tensor, -# r: float, -# batch_x: Optional[paddle.Tensor] = None, -# batch_y: Optional[paddle.Tensor] = None, -# max_num_neighbors: int = 32, -# num_workers: int = 32, -# batch_size: Optional[int] = None, -# ) -> paddle.Tensor: -# r"""Finds for each element in :obj:`y` all points in :obj:`x` within -# distance :obj:`r`. -# -# Args: -# x (Tensor): Node feature matrix -# :math:`\mathbf{X} \in \mathbb{R}^{N \times F}`. -# y (Tensor): Node feature matrix -# :math:`\mathbf{Y} \in \mathbb{R}^{M \times F}`. -# r (float): The radius. -# batch_x (LongTensor, optional): Batch vector -# :math:`\mathbf{b} \in {\{ 0, \ldots, B-1\}}^N`, which assigns each -# node to a specific example. :obj:`batch_x` needs to be sorted. -# (default: :obj:`None`) -# batch_y (LongTensor, optional): Batch vector -# :math:`\mathbf{b} \in {\{ 0, \ldots, B-1\}}^M`, which assigns each -# node to a specific example. :obj:`batch_y` needs to be sorted. -# (default: :obj:`None`) -# max_num_neighbors (int, optional): The maximum number of neighbors to -# return for each element in :obj:`y`. -# If the number of actual neighbors is greater than -# :obj:`max_num_neighbors`, returned neighbors are picked randomly. -# (default: :obj:`32`) -# num_workers (int): Number of workers to use for computation. Has no -# effect in case :obj:`batch_x` or :obj:`batch_y` is not -# :obj:`None`, or the input lies on the GPU. (default: :obj:`1`) -# batch_size (int, optional): The number of examples :math:`B`. -# Automatically calculated if not given. (default: :obj:`None`) -# -# .. code-block:: python -# -# import paddle -# from paddle_cluster import radius -# -# x = paddle.to_tensor([[-1, -1], [-1, 1], [1, -1], [1, 1]], dtype='float32') -# batch_x = paddle.to_tensor([0, 0, 0, 0], dtype='int64') -# y = paddle.to_tensor([[-1, 0], [1, 0]], dtype='float32') -# batch_y = paddle.to_tensor([0, 0], dtype='int64') -# assign_index = radius(x, y, 1.5, batch_x, batch_y) -# """ -# -# if x.numel() == 0 or y.numel() == 0: -# return paddle.empty(shape=[2, 0], dtype='int64') -# -# x = x.reshape([-1, 1]) if x.dim() == 1 else x -# y = y.reshape([-1, 1]) if y.dim() == 1 else y -# x, y = x.contiguous(), y.contiguous() -# -# if batch_size is None: -# batch_size = 1 -# if batch_x is not None: -# assert x.shape[0] == batch_x.numel() -# batch_size = int(batch_x.max()) + 1 -# if batch_y is not None: -# assert y.shape[0] == batch_y.numel() -# batch_size = max(batch_size, int(batch_y.max()) + 1) -# assert batch_size > 0 -# -# ptr_x: Optional[paddle.Tensor] = None -# ptr_y: Optional[paddle.Tensor] = None -# -# if batch_size > 1: -# assert batch_x is not None -# assert batch_y is not None -# arange = paddle.arange(batch_size + 1, dtype='int64', device=x.place) -# ptr_x = paddle.bucketize(arange, batch_x) -# ptr_y = paddle.bucketize(arange, batch_y) -# -# out = custom_radius(x, y, r, max_num_neighbors, ignore_same_index=False) -# -# # 在 Python 端进行转置 -# out_transposed = paddle.transpose(out, [1, 0]) -# -# # 交换两行 -# out_swapped = paddle.concat([out_transposed[1].unsqueeze(0), out_transposed[0].unsqueeze(0)], axis=0) -# -# return out_swapped -from scipy.spatial import cKDTree -from concurrent.futures import ThreadPoolExecutor -from tqdm import tqdm - - -def radius( - x: paddle.Tensor, - y: paddle.Tensor, - r: float, - batch_x: Optional[paddle.Tensor] = None, - batch_y: Optional[paddle.Tensor] = None, - max_num_neighbors: int = 32, - num_workers: int = 32, - batch_size: Optional[int] = None, -) -> paddle.Tensor: - if x.numel() == 0 or y.numel() == 0: - return paddle.empty([2, 0], dtype='int64', place=x.place) - - x = x.reshape([-1, 1]) if x.ndim == 1 else x - y = y.reshape([-1, 1]) if y.ndim == 1 else y - - if batch_size is None: - batch_size = 1 - if batch_x is not None: - assert x.shape[0] == batch_x.numel() - batch_size = int(batch_x.max()) + 1 - if batch_y is not None: - assert y.shape[0] == batch_y.numel() - batch_size = max(batch_size, int(batch_y.max()) + 1) - assert batch_size > 0 - - x = paddle.concat([x, 2 * r * batch_x.reshape([-1, 1])], axis=-1) if batch_x is not None else x - y = paddle.concat([y, 2 * r * batch_y.reshape([-1, 1])], axis=-1) if batch_y is not None else y - - # 使用 cKDTree 创建 KD 树(只支持 CPU) - tree = cKDTree(x.numpy()) - - # 执行多线程查询 - def query_neighbors(idx): - _, indices = tree.query(y[idx].numpy(), k=max_num_neighbors, distance_upper_bound=r + 1e-8) - row = [idx] * len(indices) - return row, indices - - rows, cols = [], [] - with ThreadPoolExecutor(max_workers=num_workers) as executor: - results = executor.map(query_neighbors, range(y.shape[0])) - for row, col in results: - rows.extend(row) - cols.extend(col) - - row_tensor = paddle.to_tensor(rows, dtype='int64') - col_tensor = paddle.to_tensor(cols, dtype='int64') - mask = col_tensor < tree.n - - return paddle.stack([row_tensor[mask], col_tensor[mask]], axis=0) - - -def radius_graph( - x: paddle.Tensor, - r: float, - batch: Optional[paddle.Tensor] = None, - loop: bool = False, - max_num_neighbors: int = 32, - flow: str = 'source_to_target', - num_workers: int = 32, - batch_size: Optional[int] = None, -) -> paddle.Tensor: - r"""Computes graph edges to all points within a given distance. - - Args: - x (Tensor): Node feature matrix - :math:`\mathbf{X} \in \mathbb{R}^{N \times F}`. - r (float): The radius. - batch (LongTensor, optional): Batch vector - :math:`\mathbf{b} \in {\{ 0, \ldots, B-1\}}^N`, which assigns each - node to a specific example. :obj:`batch` needs to be sorted. - (default: :obj:`None`) - loop (bool, optional): If :obj:`True`, the graph will contain - self-loops. (default: :obj:`False`) - max_num_neighbors (int, optional): The maximum number of neighbors to - return for each element. - If the number of actual neighbors is greater than - :obj:`max_num_neighbors`, returned neighbors are picked randomly. - (default: :obj:`32`) - flow (string, optional): The flow direction when used in combination - with message passing (:obj:`"source_to_target"` or - :obj:`"target_to_source"`). (default: :obj:`"source_to_target"`) - num_workers (int): Number of workers to use for computation. Has no - effect in case :obj:`batch` is not :obj:`None`, or the input lies - on the GPU. (default: :obj:`1`) - batch_size (int, optional): The number of examples :math:`B`. - Automatically calculated if not given. (default: :obj:`None`) - - :rtype: :class:`LongTensor` - - .. code-block:: python - - import paddle - from paddle_cluster import radius_graph - - x = paddle.to_tensor([[-1, -1], [-1, 1], [1, -1], [1, 1]], dtype='float32') - batch = paddle.to_tensor([0, 0, 0, 0], dtype='int64') - edge_index = radius_graph(x, r=1.5, batch=batch, loop=False) - """ - - assert flow in ['source_to_target', 'target_to_source'] - edge_index = radius(x, x, r, batch, batch, - max_num_neighbors if loop else max_num_neighbors + 1, - num_workers, batch_size) - if flow == 'source_to_target': - row, col = edge_index[1], edge_index[0] - else: - row, col = edge_index[0], edge_index[1] - - if not loop: - mask = row != col - row, col = row[mask], col[mask] - - return paddle.stack([row, col], axis=0) \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main.py deleted file mode 100644 index e6fb6fdaf6..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main.py +++ /dev/null @@ -1,101 +0,0 @@ -import paddle -import os -import argparse, yaml, json -import train -import utils.metrics as metrics -from dataset.dataset import Dataset -import numpy as np - -parser = argparse.ArgumentParser() -parser.add_argument('--model', help= -'The model you want to train, choose between MLP, GraphSAGE, PointNet, GUNet' - , type=str) -parser.add_argument('-n', '--nmodel', help= -'Number of trained models for standard deviation estimation (default: 1)', - default=1, type=int) -parser.add_argument('-w', '--weight', help= -'Weight in front of the surface loss (default: 1)', default=1, type=float) -parser.add_argument('-t', '--task', help= -'Task to train on. Choose between "full", "scarce", "reynolds" and "aoa" (default: full)' - , default='full', type=str) -parser.add_argument('-s', '--score', help= -'If you want to compute the score of the models on the associated test set. (default: 0)' - , default=1, type=int) -parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') -parser.add_argument('--my_path', default='data/naca/Dataset', type=str) -parser.add_argument('--save_path', default='metrics', type=str) -args = parser.parse_args() - - -with open(args.my_path + '/manifest.json', 'r') as f: - manifest = json.load(f) -manifest_train = manifest[args.task + '_train'] -test_dataset = manifest[args.task + '_test' - ] if args.task != 'scarce' else manifest['full_test'] -n = int(0.1 * len(manifest_train)) - -print(n) -train_dataset = manifest_train[:-n] -val_dataset = manifest_train[-n:] - - -print('start load data') -train_dataset, coef_norm = Dataset(train_dataset, norm=True, sample=None, - my_path=args.my_path) -val_dataset = Dataset(val_dataset, sample=None, coef_norm=coef_norm, - my_path=args.my_path) - - -print('load data finish') - - -n_gpu = paddle.device.cuda.device_count() -use_cuda = n_gpu > 0 and 0 <= args.gpu < n_gpu -device = f'gpu:{args.gpu}' if use_cuda else 'cpu' -print(device) - -if use_cuda: - print('Using GPU') -else: - print('Using CPU') - -with open('params.yaml', 'r') as f: - hparams = yaml.safe_load(f)[args.model] - -models = [] - -if args.model == 'Transolver': - from models.Transolver import Transolver - - model = Transolver(n_hidden=256, n_layers=8, space_dim=7, fun_dim=0, - n_head=8, mlp_ratio=2, out_dim=4, slice_num=32, unified_pos=1, - device=device).to(device) - -log_path = os.path.join(args.save_path, args.task, args.model) -print('start training') -model = train.main(device, train_dataset, val_dataset, model, hparams, - log_path, criterion='MSE_weighted', val_iter=10, reg=args.weight, - name_mod=args.model, val_sample=True) -print('end training') -models.append(model) - -model_path = os.path.join(args.save_path, args.task, args.model, args.model) -paddle.save(model.state_dict(), model_path) - -if bool(args.score): - print('start score') - s = args.task + '_test' if args.task != 'scarce' else 'full_test' - coefs = metrics.Results_test(device, [models], [hparams], coef_norm, args.my_path, path_out='scores', - n_test=3, criterion='MSE', s=s) - np.save(os.path.join('scores', args.task, 'true_coefs'), coefs[0]) - np.save(os.path.join('scores', args.task, 'pred_coefs_mean'), coefs[1]) - np.save(os.path.join('scores', args.task, 'pred_coefs_std'), coefs[2]) - for n, file in enumerate(coefs[3]): - np.save(os.path.join('scores', args.task, 'true_surf_coefs_' + str( - n)), file) - for n, file in enumerate(coefs[4]): - np.save(os.path.join('scores', args.task, 'surf_coefs_' + str(n)), file - ) - np.save(os.path.join('scores', args.task, 'true_bls'), coefs[5]) - np.save(os.path.join('scores', args.task, 'bls'), coefs[6]) - print('end score') diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main_evaluation.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main_evaluation.py deleted file mode 100644 index 6e1ac6c5e7..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/main_evaluation.py +++ /dev/null @@ -1,87 +0,0 @@ -import paddle -import os -import yaml, json -import utils.metrics as metrics -from dataset.dataset import Dataset -import argparse -import numpy as np -from models.Transolver import Transolver - -parser = argparse.ArgumentParser() -parser.add_argument('--my_path', default='/data/path', type=str) -parser.add_argument('--save_path', default='./', type=str) -parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') - -args = parser.parse_args() - -n_gpu = paddle.device.cuda.device_count() -use_cuda = n_gpu > 0 and 0 <= args.gpu < n_gpu -device = f'gpu:{args.gpu}' if use_cuda else 'cpu' - -print(device) -if use_cuda: - print('Using GPU') -else: - print('Using CPU') - -mod = Transolver( - n_hidden=256, - n_layers=8, - space_dim=7, - fun_dim=0, - n_head=8, - mlp_ratio=2, - out_dim=4, - slice_num=32, - unified_pos=1, - device=device -).to(device) - -data_root_dir = args.my_path -ckpt_root_dir = args.save_path -tasks = ['full'] - -for task in tasks: - print('Generating results for task ' + task + '...') - s = task + '_test' if task != 'scarce' else 'full_test' - s_train = task + '_train' - data_dir = os.path.join(data_root_dir, 'Dataset') - with open(os.path.join(data_dir, 'manifest.json'), 'r') as f: - manifest = json.load(f) - - manifest_train = manifest[s_train] - n = int(0.1 * len(manifest_train)) - - train_dataset = manifest_train[:-n] - - _, coef_norm = Dataset(train_dataset, norm=True, sample=None, my_path= - data_dir) - model_names = ['Transolver'] - models = [] - hparams = [] - for model in model_names: - model_path = os.path.join(ckpt_root_dir, 'metrics', task, model, "Transolver.pdparams") - - mod.set_state_dict(paddle.load(model_path)) - - # mod = [m.to(device) for m in mod] - - models.append(mod) - - with open('params.yaml', 'r') as f: - hparam = yaml.safe_load(f)[model] - hparams.append(hparam) - results_dir = os.path.join(ckpt_root_dir, 'scores', task) - - coefs = metrics.Results_test(device, models, hparams, coef_norm, - data_dir, results_dir, n_test=3, criterion='MSE', s=s) - # print(coefs) - np.save(os.path.join(results_dir, 'true_coefs'), coefs[0]) - np.save(os.path.join(results_dir, 'pred_coefs_mean'), coefs[1]) - np.save(os.path.join(results_dir, 'pred_coefs_std'), coefs[2]) - for n, file in enumerate(coefs[3]): - np.save(os.path.join(results_dir, 'true_surf_coefs_' + str(n)), file) - for n, file in enumerate(coefs[4]): - np.save(os.path.join(results_dir, 'surf_coefs_' + str(n)), file) - np.save(os.path.join(results_dir, 'true_bls'), coefs[5]) - np.save(os.path.join(results_dir, 'bls'), coefs[6]) diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GUNet.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GUNet.py deleted file mode 100644 index 1e44c6d6d0..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GUNet.py +++ /dev/null @@ -1,157 +0,0 @@ -import paddle -import torch_geometric.nn as nng -import random - - -def DownSample(id, x, edge_index, pos_x, pool, pool_ratio, r, max_neighbors): - y = x.clone() - n = int(x.shape[0]) - if pool is not None: - y, _, _, _, id_sampled, _ = pool(y, edge_index) - else: - k = int((pool_ratio * paddle.to_tensor(data=n, dtype='float32')).ceil() - ) - id_sampled = random.sample(range(n), k) - id_sampled = paddle.to_tensor(data=id_sampled, dtype='int64') - y = y[id_sampled] - pos_x = pos_x[id_sampled] - id.append(id_sampled) - edge_index_sampled = nng.radius_graph(x=pos_x.detach(), r=r, loop=True, - max_num_neighbors=max_neighbors) - return y, edge_index_sampled - - -def UpSample(x, pos_x_up, pos_x_down): - cluster = nng.nearest(pos_x_up, pos_x_down) - x_up = x[cluster] - return x_up - - -class GUNet(paddle.nn.Layer): - - def __init__(self, hparams, encoder, decoder): - super(GUNet, self).__init__() - self.L = hparams['nb_scale'] - self.layer = hparams['layer'] - self.pool_type = hparams['pool'] - self.pool_ratio = hparams['pool_ratio'] - self.list_r = hparams['list_r'] - self.size_hidden_layers = hparams['size_hidden_layers'] - self.size_hidden_layers_init = hparams['size_hidden_layers'] - self.max_neighbors = hparams['max_neighbors'] - self.dim_enc = hparams['encoder'][-1] - self.bn_bool = hparams['batchnorm'] - self.res = hparams['res'] - self.head = 2 - self.activation = paddle.nn.ReLU() - self.encoder = encoder - self.decoder = decoder - self.down_layers = paddle.nn.LayerList() - if self.pool_type != 'random': - self.pool = paddle.nn.LayerList() - else: - self.pool = None - if self.layer == 'SAGE': - self.down_layers.append(nng.SAGEConv(in_channels=self.dim_enc, - out_channels=self.size_hidden_layers)) - bn_in = self.size_hidden_layers - elif self.layer == 'GAT': - self.down_layers.append(nng.GATConv(in_channels=self.dim_enc, - out_channels=self.size_hidden_layers, heads=self.head, - add_self_loops=False, concat=True)) - bn_in = self.head * self.size_hidden_layers - if self.bn_bool == True: - self.bn = paddle.nn.LayerList() - self.bn.append(nng.BatchNorm(in_channels=bn_in, - track_running_stats=False)) - else: - self.bn = None - for n in range(1, self.L): - if self.pool_type != 'random': - self.pool.append(nng.TopKPooling(in_channels=self. - size_hidden_layers, ratio=self.pool_ratio[n - 1], - nonlinearity=paddle.nn.functional.sigmoid)) - if self.layer == 'SAGE': - self.down_layers.append(nng.SAGEConv(in_channels=self. - size_hidden_layers, out_channels=2 * self. - size_hidden_layers)) - self.size_hidden_layers = 2 * self.size_hidden_layers - bn_in = self.size_hidden_layers - elif self.layer == 'GAT': - self.down_layers.append(nng.GATConv(in_channels=self.head * - self.size_hidden_layers, out_channels=self. - size_hidden_layers, heads=2, add_self_loops=False, - concat=True)) - if self.bn_bool == True: - self.bn.append(nng.BatchNorm(in_channels=bn_in, - track_running_stats=False)) - self.up_layers = paddle.nn.LayerList() - if self.layer == 'SAGE': - self.up_layers.append(nng.SAGEConv(in_channels=3 * self. - size_hidden_layers_init, out_channels=self.dim_enc)) - self.size_hidden_layers_init = 2 * self.size_hidden_layers_init - elif self.layer == 'GAT': - self.up_layers.append(nng.GATConv(in_channels=2 * self.head * - self.size_hidden_layers, out_channels=self.dim_enc, heads=2, - add_self_loops=False, concat=False)) - if self.bn_bool == True: - self.bn.append(nng.BatchNorm(in_channels=self.dim_enc, - track_running_stats=False)) - for n in range(1, self.L - 1): - if self.layer == 'SAGE': - self.up_layers.append(nng.SAGEConv(in_channels=3 * self. - size_hidden_layers_init, out_channels=self. - size_hidden_layers_init)) - bn_in = self.size_hidden_layers_init - self.size_hidden_layers_init = 2 * self.size_hidden_layers_init - elif self.layer == 'GAT': - self.up_layers.append(nng.GATConv(in_channels=2 * self.head * - self.size_hidden_layers, out_channels=self. - size_hidden_layers, heads=2, add_self_loops=False, - concat=True)) - if self.bn_bool == True: - self.bn.append(nng.BatchNorm(in_channels=bn_in, - track_running_stats=False)) - - def forward(self, data): - x, edge_index = data.x, data.edge_index - id = [] - edge_index_list = [edge_index.clone()] - pos_x_list = [] - z = self.encoder(x) - if self.res: - z_res = z.clone() - z = self.down_layers[0](z, edge_index) - if self.bn_bool == True: - z = self.bn[0](z) - z = self.activation(z) - z_list = [z.clone()] - for n in range(self.L - 1): - pos_x = x[:, :2] if n == 0 else pos_x[id[n - 1]] - pos_x_list.append(pos_x.clone()) - if self.pool_type != 'random': - z, edge_index = DownSample(id, z, edge_index, pos_x, self. - pool[n], self.pool_ratio[n], self.list_r[n], self. - max_neighbors) - else: - z, edge_index = DownSample(id, z, edge_index, pos_x, None, - self.pool_ratio[n], self.list_r[n], self.max_neighbors) - edge_index_list.append(edge_index.clone()) - z = self.down_layers[n + 1](z, edge_index) - if self.bn_bool == True: - z = self.bn[n + 1](z) - z = self.activation(z) - z_list.append(z.clone()) - pos_x_list.append(pos_x[id[-1]].clone()) - for n in range(self.L - 1, 0, -1): - z = UpSample(z, pos_x_list[n - 1], pos_x_list[n]) - z = paddle.concat(x=[z, z_list[n - 1]], axis=1) - z = self.up_layers[n - 1](z, edge_index_list[n - 1]) - if self.bn_bool == True: - z = self.bn[self.L + n - 1](z) - z = self.activation(z) if n != 1 else z - del (z_list, pos_x_list, edge_index_list) - if self.res: - z = z + z_res - z = self.decoder(z) - return z diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GraphSAGE.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GraphSAGE.py deleted file mode 100644 index 93880d59d5..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/GraphSAGE.py +++ /dev/null @@ -1,43 +0,0 @@ -import paddle -import torch_geometric.nn as nng - - -class GraphSAGE(paddle.nn.Layer): - - def __init__(self, hparams, encoder, decoder): - super(GraphSAGE, self).__init__() - self.nb_hidden_layers = hparams['nb_hidden_layers'] - self.size_hidden_layers = hparams['size_hidden_layers'] - self.bn_bool = hparams['bn_bool'] - self.activation = paddle.nn.ReLU() - self.encoder = encoder - self.decoder = decoder - self.in_layer = nng.SAGEConv(in_channels=hparams['encoder'][-1], - out_channels=self.size_hidden_layers) - self.hidden_layers = paddle.nn.LayerList() - for n in range(self.nb_hidden_layers - 1): - self.hidden_layers.append(nng.SAGEConv(in_channels=self. - size_hidden_layers, out_channels=self.size_hidden_layers)) - self.out_layer = nng.SAGEConv(in_channels=self.size_hidden_layers, - out_channels=hparams['decoder'][0]) - if self.bn_bool: - self.bn = paddle.nn.LayerList() - for n in range(self.nb_hidden_layers): - self.bn.append(paddle.nn.BatchNorm1D(num_features=self. - size_hidden_layers)) - - def forward(self, data): - z, edge_index = data.x, data.edge_index - z = self.encoder(z) - z = self.in_layer(z, edge_index) - if self.bn_bool: - z = self.bn[0](z) - z = self.activation(z) - for n in range(self.nb_hidden_layers - 1): - z = self.hidden_layers[n](z, edge_index) - if self.bn_bool: - z = self.bn[n + 1](z) - z = self.activation(z) - z = self.out_layer(z, edge_index) - z = self.decoder(z) - return z diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/MLP.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/MLP.py deleted file mode 100644 index 8b420b0e11..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/MLP.py +++ /dev/null @@ -1,58 +0,0 @@ -import paddle -from torch_geometric.nn import Linear - - -class MLP(paddle.nn.Layer): - """A multi-layer perception (MLP) model. - - Args: - channel_list (List[int]): List of input, intermediate and output - channels. :obj:`len(channel_list) - 1` denotes the number of layers - of the MLP. - dropout (float, optional): Dropout probability of each hidden - embedding. (default: :obj:`0.`) - batch_norm (bool, optional): If set to :obj:`False`, will not make use - of batch normalization. (default: :obj:`True`) - relu_first (bool, optional): If set to :obj:`True`, ReLU activation is - applied before batch normalization. (default: :obj:`False`) - """ - - def __init__(self, channel_list, dropout=0.0, batch_norm=True, - relu_first=False): - super().__init__() - assert len(channel_list) >= 2 - self.channel_list = channel_list - self.dropout = dropout - self.relu_first = relu_first - self.lins = paddle.nn.LayerList() - for dims in zip(self.channel_list[:-1], self.channel_list[1:]): - self.lins.append(Linear(*dims)) - self.norms = paddle.nn.LayerList() - for dim in zip(self.channel_list[1:-1]): - self.norms.append(paddle.nn.BatchNorm1D(num_features=dim) if - batch_norm else paddle.nn.Identity()) - self.reset_parameters() - - def reset_parameters(self): - for lin in self.lins: - lin.reset_parameters() - for norm in self.norms: - if hasattr(norm, 'reset_parameters'): - norm.reset_parameters() - - def forward(self, x: paddle.Tensor) ->paddle.Tensor: - """""" - x = self.lins[0](x) - for lin, norm in zip(self.lins[1:], self.norms): - if self.relu_first: - x = x.relu_() - x = norm(x) - if not self.relu_first: - x = x.relu_() - x = paddle.nn.functional.dropout(x=x, p=self.dropout, training= - self.training) - x = lin.forward(x) - return x - - def __repr__(self) ->str: - return f'{self.__class__.__name__}({str(self.channel_list)[1:-1]})' diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/NN.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/NN.py deleted file mode 100644 index 1138e8671b..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/NN.py +++ /dev/null @@ -1,23 +0,0 @@ -import paddle -from models.MLP import MLP - - -class NN(paddle.nn.Layer): - - def __init__(self, hparams, encoder, decoder): - super(NN, self).__init__() - self.nb_hidden_layers = hparams['nb_hidden_layers'] - self.size_hidden_layers = hparams['size_hidden_layers'] - self.bn_bool = hparams['bn_bool'] - self.activation = paddle.nn.ReLU() - self.encoder = encoder - self.decoder = decoder - self.dim_enc = hparams['encoder'][-1] - self.nn = MLP([self.dim_enc] + [self.size_hidden_layers] * self. - nb_hidden_layers + [self.dim_enc], batch_norm=self.bn_bool) - - def forward(self, data): - z = self.encoder(data.x) - z = self.nn(z) - z = self.decoder(z) - return z diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/PointNet.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/PointNet.py deleted file mode 100644 index 4438f534da..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/PointNet.py +++ /dev/null @@ -1,41 +0,0 @@ -import sys -# sys.path.append('../../utils') -from utils import paddle_aux -import paddle -import torch_geometric.nn as nng -from models.MLP import MLP - - -class PointNet(paddle.nn.Layer): - - def __init__(self, hparams, encoder, decoder): - super(PointNet, self).__init__() - self.base_nb = hparams['base_nb'] - self.in_block = MLP([hparams['encoder'][-1], self.base_nb, self. - base_nb * 2], batch_norm=False) - self.max_block = MLP([self.base_nb * 2, self.base_nb * 4, self. - base_nb * 8, self.base_nb * 32], batch_norm=False) - self.out_block = MLP([self.base_nb * (32 + 2), self.base_nb * 16, - self.base_nb * 8, self.base_nb * 4], batch_norm=False) - self.encoder = encoder - self.decoder = decoder - self.fcfinal = paddle.nn.Linear(in_features=self.base_nb * 4, - out_features=hparams['encoder'][-1]) - - def forward(self, data): - z, batch = data.x.float(), data.batch.long() - z = self.encoder(z) - z = self.in_block(z) - global_coef = self.max_block(z) - global_coef = nng.global_max_pool(global_coef, batch=batch) - nb_points = paddle.zeros(shape=tuple(global_coef.shape)[0]) - for i in range(batch.max() + 1): - nb_points[i] = (batch == i).sum() - nb_points = nb_points.astype(dtype='int64') - global_coef = paddle.repeat_interleave(x=global_coef, repeats= - nb_points, axis=0) - z = paddle.concat(x=[z, global_coef], axis=1) - z = self.out_block(z) - z = self.fcfinal(z) - z = self.decoder(z) - return z diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/Transolver.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/Transolver.py deleted file mode 100644 index 35e4c39be4..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/models/Transolver.py +++ /dev/null @@ -1,208 +0,0 @@ -import sys -from utils import paddle_aux -import paddle -import numpy as np -from paddle.nn.initializer import TruncatedNormal, Constant -from einops import rearrange, repeat -ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': - paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. - LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': - paddle.nn.ELU, 'silu': paddle.nn.Silu} - - -class Physics_Attention_Irregular_Mesh(paddle.nn.Layer): - - def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64): - super().__init__() - inner_dim = dim_head * heads - self.dim_head = dim_head - self.heads = heads - self.scale = dim_head ** -0.5 - self.softmax = paddle.nn.Softmax(axis=-1) - self.dropout = paddle.nn.Dropout(p=dropout) - self.temperature = paddle.base.framework.EagerParamBase.from_tensor( - tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) - self.in_project_x = paddle.nn.Linear(in_features=dim, out_features= - inner_dim) - self.in_project_fx = paddle.nn.Linear(in_features=dim, out_features - =inner_dim) - self.in_project_slice = paddle.nn.Linear(in_features=dim_head, - out_features=slice_num) - for l in [self.in_project_slice]: - init_Orthogonal = paddle.nn.initializer.Orthogonal() - init_Orthogonal(l.weight) - self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= - inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) - - def forward(self, x): - B, N, C = tuple(x.shape) - fx_mid = self.in_project_fx(x).reshape(B, N, self.heads, self.dim_head - ).transpose(perm=[0, 2, 1, 3]).contiguous() - x_mid = self.in_project_x(x).reshape(B, N, self.heads, self.dim_head - ).transpose(perm=[0, 2, 1, 3]).contiguous() - slice_weights = self.softmax(self.in_project_slice(x_mid) / self. - temperature) - slice_norm = slice_weights.sum(axis=2) - slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) - slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( - repeat_times=[1, 1, 1, self.dim_head]) - q_slice_token = self.to_q(slice_token) - k_slice_token = self.to_k(slice_token) - v_slice_token = self.to_v(slice_token) - dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( - perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) - ) * self.scale - attn = self.softmax(dots) - attn = self.dropout(attn) - out_slice_token = paddle.matmul(x=attn, y=v_slice_token) - out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights - ) - out_x = rearrange(out_x, 'b h n d -> b n (h d)') - return self.to_out(out_x) - - -class MLP(paddle.nn.Layer): - - def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', - res=True): - super(MLP, self).__init__() - if act in ACTIVATION.keys(): - act = ACTIVATION[act] - else: - raise NotImplementedError - self.n_input = n_input - self.n_hidden = n_hidden - self.n_output = n_output - self.n_layers = n_layers - self.res = res - self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features - =n_input, out_features=n_hidden), act()) - self.linear_post = paddle.nn.Linear(in_features=n_hidden, - out_features=n_output) - self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), - act()) for _ in range(n_layers)]) - - def forward(self, x): - x = self.linear_pre(x) - for i in range(self.n_layers): - if self.res: - x = self.linears[i](x) + x - else: - x = self.linears[i](x) - x = self.linear_post(x) - return x - - -class Transolver_block(paddle.nn.Layer): - """Transformer encoder block.""" - - def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act - ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32): - super().__init__() - self.last_layer = last_layer - self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.Attn = Physics_Attention_Irregular_Mesh(hidden_dim, heads= - num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, - slice_num=slice_num) - self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, - n_layers=0, res=False, act=act) - self.mlp_new = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, - n_layers=0, res=False, act=act) - if self.last_layer: - self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, - out_features=out_dim) - - def forward(self, fx): - fx = self.Attn(self.ln_1(fx)) + fx - fx = self.mlp(self.ln_2(fx)) + fx - if self.last_layer: - return self.mlp2(self.ln_3(fx)) - else: - return fx - - -class Transolver(paddle.nn.Layer): - - def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0, - n_head=8, act='gelu', mlp_ratio=1, fun_dim=1, out_dim=1, slice_num= - 32, ref=8, unified_pos=False, device='cuda:1'): - super(Transolver, self).__init__() - self.__name__ = 'Transolver' - self.ref = ref - self.device = device - self.unified_pos = unified_pos - if self.unified_pos: - self.preprocess = MLP(fun_dim + space_dim + self.ref * self.ref, - n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) - else: - self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, - n_hidden, n_layers=0, res=False, act=act) - self.n_hidden = n_hidden - self.space_dim = space_dim - self.blocks = paddle.nn.LayerList(sublayers=[Transolver_block( - num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, - mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, - last_layer=_ == n_layers - 1) for _ in range(n_layers)]) - self.initialize_weights() - self.placeholder = paddle.base.framework.EagerParamBase.from_tensor( - tensor=1 / n_hidden * paddle.rand(shape=[n_hidden], dtype='float32')) - - def initialize_weights(self): - self.apply(self._init_weights) - - def _init_weights(self, m): - if isinstance(m, paddle.nn.Linear): - trunc_normal = TruncatedNormal(mean=0.0, std=0.02) - trunc_normal(m.weight) - if m.bias is not None: - constant = Constant(value=0.0) - constant(m.bias) - elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): - constant = Constant(value=0.0) - constant(m.bias) - constant = Constant(value=1.0) - constant(m.weight) - - def get_grid(self, my_pos): - batchsize = tuple(my_pos.shape)[0] - gridx = paddle.to_tensor(data=np.linspace(-2, 4, self.ref), dtype= - 'float32') - gridx = gridx.reshape(1, self.ref, 1, 1).tile(repeat_times=[ - batchsize, 1, self.ref, 1]) - gridy = paddle.to_tensor(data=np.linspace(-1.5, 1.5, self.ref), - dtype='float32') - gridy = gridy.reshape(1, 1, self.ref, 1).tile(repeat_times=[ - batchsize, self.ref, 1, 1]) - grid_ref = paddle.concat(x=(gridx, gridy), axis=-1).to(self.device - ).reshape(batchsize, self.ref ** 2, 2) - pos = paddle.sqrt(x=paddle.sum(x=(my_pos[:, :, None, :] - grid_ref[ - :, None, :, :]) ** 2, axis=-1)).reshape(batchsize, tuple(my_pos - .shape)[1], self.ref * self.ref).contiguous() - return pos - - def forward(self, data): - x, fx, T = data.x, None, None - x = paddle.cast(x, dtype="float32") - x = x[None, :, :] - if self.unified_pos: - new_pos = self.get_grid(data.pos[None, :, :]) - # print(f"x origin dtype: {x.dtype}, new_pos origin dtype: {new_pos.dtype}") - x = paddle.concat(x=(x, new_pos), axis=-1) - if fx is not None: - fx = paddle.concat(x=(x, fx), axis=-1) - fx = self.preprocess(fx) - else: - fx = self.preprocess(x) - fx = fx + self.placeholder[None, None, :] - for block in self.blocks: - fx = block(fx) - return fx[0] diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/params.yaml b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/params.yaml deleted file mode 100644 index f75f70f171..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/params.yaml +++ /dev/null @@ -1,64 +0,0 @@ -#GraphSAGE: -# encoder: [ 7, 64, 64, 8 ] -# decoder: [ 8, 64, 64, 4 ] -# -# nb_hidden_layers: 3 -# size_hidden_layers: 64 -# batch_size: 1 -# nb_epochs: 398 -# lr: 0.001 -# max_neighbors: 64 -# bn_bool: True -# subsampling: 32000 -# r: 0.05 - -Transolver: - batch_size: 1 - nb_epochs: 398 -# nb_epochs: 1 - lr: 0.001 - max_neighbors: 64 - subsampling: 32000 - r: 0.05 - -#PointNet: -# encoder: [ 7, 64, 64, 8 ] -# decoder: [ 8, 64, 64, 4 ] -# -# base_nb: 8 -# batch_size: 1 -# nb_epochs: 398 -# lr: 0.001 -# subsampling: 32000 -# -#MLP: -# encoder: [ 7, 64, 64, 8 ] -# decoder: [ 8, 64, 64, 4 ] -# -# nb_hidden_layers: 3 -# size_hidden_layers: 64 -# batch_size: 1 -# nb_epochs: 398 -# lr: 0.001 -# bn_bool: True -# subsampling: 32000 - -#GUNet: -# encoder: [ 7, 64, 64, 8 ] -# decoder: [ 8, 64, 64, 4 ] -# -# layer: 'SAGE' -# pool: 'random' -# nb_scale: 5 -# pool_ratio: [ .5, .5, .5, .5 ] -# list_r: [ .05, .2, .5, 1, 10 ] -# size_hidden_layers: 8 -# batchnorm: True -# res: False -# -# batch_size: 1 -# nb_epochs: 398 -# lr: 0.001 -# max_neighbors: 64 -# subsampling: 32000 -# r: 0.05 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Evaluation.sh b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Evaluation.sh deleted file mode 100644 index 850ce0f231..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Evaluation.sh +++ /dev/null @@ -1,3 +0,0 @@ -export CUDA_VISIBLE_DEVICES=3 - -python main_evaluation.py --my_path data/naca/ \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/GraphSAGE.sh b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/GraphSAGE.sh deleted file mode 100644 index 7a05aaca90..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/GraphSAGE.sh +++ /dev/null @@ -1,3 +0,0 @@ -export CUDA_VISIBLE_DEVICES=4 - -python main.py --model GraphSAGE -t full --my_path data/naca/Dataset --score 1 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Transolver.sh b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Transolver.sh deleted file mode 100644 index 920d2bc7e4..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/scripts/Transolver.sh +++ /dev/null @@ -1,3 +0,0 @@ -export CUDA_VISIBLE_DEVICES=3 - -python main.py --model Transolver -t full --my_path data/naca/Dataset --score 1 --gpu 0 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/train.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/train.py deleted file mode 100644 index 44bec7e5b2..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/train.py +++ /dev/null @@ -1,376 +0,0 @@ -from typing import Tuple, List -from dataset.dataset import Data -import paddle -import os -import random -import numpy as np -import matplotlib.pyplot as plt -import seaborn as sns -import time, json -from paddle.io import DataLoader -from tqdm import tqdm -from pathlib import Path -from dataset.radius import radius_graph -import os.path as osp - -random.seed(42) - -def serialize_data(data): - if isinstance(data, (list, tuple)): - return [serialize_data(item) for item in data] - elif hasattr(data, 'tolist'): - return data.tolist() # 将 Tensor 转换为列表 - elif isinstance(data, dict): - return {k: serialize_data(v) for k, v in data.items()} - return data # 如果是基础数据类型,直接返回 - - -def custom_collate_fn(batch: List['Data']): - """自定义collate_fn,用于处理单个Data类型的数据项,直接返回单个数据和shape。""" - # print(f"Batch received in collate_fn: {batch}") - # 直接返回单个 Data 和 shape - return batch - - -def get_nb_trainable_params(model): - """ - Return the number of trainable parameters - """ - model_parameters = filter(lambda p: not p.stop_gradient, model.parameters() - ) - return sum([np.prod(tuple(p.shape)) for p in model_parameters]) - - -def train(device, model, train_loader, optimizer, scheduler, criterion='MSE', reg=1): - model.train() - avg_loss_per_var = paddle.zeros(shape=[4]) - avg_loss = paddle.to_tensor(0.0) - avg_loss_surf_var = paddle.zeros(shape=[4]) - avg_loss_vol_var = paddle.zeros(shape=[4]) - avg_loss_surf = paddle.to_tensor(0.0) - avg_loss_vol = paddle.to_tensor(0.0) - iter = 0 - - for data in train_loader.dataset: - data_clone = data.clone() - data_clone = data_clone.to(device) - - optimizer.clear_gradients(set_to_zero=False) - out = model(data_clone) - targets = data_clone.y - # Define loss criterion based on input criterion - if criterion in ['MSE', 'MSE_weighted']: - loss_criterion = paddle.nn.MSELoss(reduction='none') - elif criterion == 'MAE': - loss_criterion = paddle.nn.L1Loss(reduction='none') - - loss_per_var = loss_criterion(out, targets).mean(axis=0) - total_loss = loss_per_var.mean() - # Calculate surface and volume losses - loss_surf_var = loss_criterion(out[data_clone.surf, :], targets[data_clone.surf, :]).mean(axis=0) - loss_vol_var = loss_criterion(out[~data_clone.surf, :], targets[~data_clone.surf, :]).mean(axis=0) - loss_surf = loss_surf_var.mean() - loss_vol = loss_vol_var.mean() - - # Backpropagate depending on criterion - if criterion == 'MSE_weighted': - (loss_vol + reg * loss_surf).backward() - else: - total_loss.backward() - - optimizer.step() - scheduler.step() - - # Accumulate metrics - avg_loss_per_var += loss_per_var - avg_loss += total_loss - avg_loss_surf_var += loss_surf_var - avg_loss_vol_var += loss_vol_var - avg_loss_surf += loss_surf - avg_loss_vol += loss_vol - iter += 1 - - # Compute averages - return (avg_loss / iter).numpy(), (avg_loss_per_var / iter).numpy(), (avg_loss_surf_var / iter).numpy(), ( - avg_loss_vol_var / iter).numpy(), (avg_loss_surf / iter).numpy(), (avg_loss_vol / iter).numpy() - - -@paddle.no_grad() -def test(device, model, test_loader, criterion='MSE'): - model.eval() - avg_loss_per_var = paddle.zeros(shape=[4]) - avg_loss = paddle.to_tensor(0.0) - avg_loss_surf_var = paddle.zeros(shape=[4]) - avg_loss_vol_var = paddle.zeros(shape=[4]) - avg_loss_surf = paddle.to_tensor(0.0) - avg_loss_vol = paddle.to_tensor(0.0) - iter = 0 - - for data in test_loader.dataset: - data_clone = data.clone() - data_clone = data_clone.to(device) - out = model(data_clone) - targets = data_clone.y - - # Define loss criterion - if criterion in ['MSE', 'MSE_weighted']: - loss_criterion = paddle.nn.MSELoss(reduction='none') - elif criterion == 'MAE': - loss_criterion = paddle.nn.L1Loss(reduction='none') - - # Calculate losses - loss_per_var = loss_criterion(out, targets).mean(axis=0) - loss = loss_per_var.mean() - loss_surf_var = loss_criterion(out[data_clone.surf, :], targets[data_clone.surf, :]).mean(axis=0) - loss_vol_var = loss_criterion(out[~data_clone.surf, :], targets[~data_clone.surf, :]).mean(axis=0) - loss_surf = loss_surf_var.mean() - loss_vol = loss_vol_var.mean() - - # Accumulate metrics - avg_loss_per_var += loss_per_var - avg_loss += loss - avg_loss_surf_var += loss_surf_var - avg_loss_vol_var += loss_vol_var - avg_loss_surf += loss_surf - avg_loss_vol += loss_vol - iter += 1 - - # Compute averages - return (avg_loss / iter).numpy(), (avg_loss_per_var / iter).numpy(), (avg_loss_surf_var / iter).numpy(), ( - avg_loss_vol_var / iter).numpy(), (avg_loss_surf / iter).numpy(), (avg_loss_vol / iter).numpy() - - -class NumpyEncoder(json.JSONEncoder): - - def default(self, obj): - if isinstance(obj, np.ndarray): - return obj.tolist() - return json.JSONEncoder.default(self, obj) - - -def main(device, train_dataset, val_dataset, Net, hparams, path, criterion= -'MSE', reg=1, val_iter=10, name_mod='GraphSAGE', val_sample=True): - """ - Args: - device (str): device on which you want to do the computation. - train_dataset (list): list of the data in the training set. - val_dataset (list): list of the data in the validation set. - Net (class): network to train. - hparams (dict): hyper parameters of the network. - path (str): where to save the trained model and the figures. - criterion (str, optional): chose between 'MSE', 'MAE', and 'MSE_weigthed'. The latter is the volumetric MSE plus the surface MSE computed independently. Default: 'MSE'. - reg (float, optional): weigth for the surface loss when criterion is 'MSE_weighted'. Default: 1. - val_iter (int, optional): number of epochs between each validation step. Default: 10. - name_mod (str, optional): type of model. Default: 'GraphSAGE'. - """ - Path(path).mkdir(parents=True, exist_ok=True) - model = Net.to(device) - optimizer = paddle.optimizer.Adam(parameters=model.parameters(), - learning_rate=hparams['lr'], weight_decay=0.0) - tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=(len(train_dataset) // - hparams['batch_size'] + 1) * hparams['nb_epochs'], - max_learning_rate=hparams['lr']) - optimizer.set_lr_scheduler(tmp_lr) - lr_scheduler = tmp_lr - val_loader = DataLoader(val_dataset, batch_size=1, collate_fn=custom_collate_fn) - start = time.time() - train_loss_surf_list = [] - train_loss_vol_list = [] - loss_surf_var_list = [] - loss_vol_var_list = [] - val_surf_list = [] - val_vol_list = [] - val_surf_var_list = [] - val_vol_var_list = [] - pbar_train = tqdm(range(hparams['nb_epochs']), position=0) - for epoch in pbar_train: - train_dataset_sampled = [] - for data in train_dataset: - # data_sampled = data.clone() - data_sampled = data - idx = random.sample(range(data_sampled.x.shape[0]), hparams[ - 'subsampling']) - - idx = paddle.to_tensor(data=idx) - data_sampled.pos = data_sampled.pos[idx] - data_sampled.x = data_sampled.x[idx] - data_sampled.y = data_sampled.y[idx] - data_sampled.surf = data_sampled.surf[idx] - - if name_mod != 'PointNet' and name_mod != 'MLP': - data_sampled.pos = data_sampled.pos.cpu() - edge_index = radius_graph(x=data_sampled.pos, r=hparams['r'], loop=True, - max_num_neighbors=int(hparams['max_neighbors'])) - - # 将 edge_index 转换为 Paddle 张量 - data_sampled.edge_index = paddle.to_tensor(edge_index, dtype="int64") - - train_dataset_sampled.append(data_sampled) - - train_loader = DataLoader(train_dataset_sampled, batch_size=hparams['batch_size'], - shuffle=True, collate_fn=custom_collate_fn) - - - del train_dataset_sampled - train_loss, _, loss_surf_var, loss_vol_var, loss_surf, loss_vol = ( - train(device, model, train_loader, optimizer, lr_scheduler, - criterion, reg=reg)) - - print('epoch: ' + str(epoch)) - print('train_loss: ' + str(train_loss)) - print('loss_vol: ' + str(loss_vol)) - print('loss_surf: ' + str(loss_surf)) - if criterion == 'MSE_weighted': - train_loss = reg * loss_surf + loss_vol - del train_loader - train_loss_surf_list.append(loss_surf) - train_loss_vol_list.append(loss_vol) - loss_surf_var_list.append(loss_surf_var) - loss_vol_var_list.append(loss_vol_var) - if val_iter is not None: - if epoch % val_iter == val_iter - 1 or epoch == 0: - if val_sample: - val_surf_vars, val_vol_vars, val_surfs, val_vols = [], [ - ], [], [] - for i in range(20): - val_dataset_sampled = [] - for data in val_dataset: - # data_sampled = data.clone() - data_sampled = data - idx = random.sample(range(data_sampled.x.shape[0]), hparams['subsampling']) - idx = paddle.to_tensor(data=idx) - data_sampled.pos = data_sampled.pos[idx] - data_sampled.x = data_sampled.x[idx] - data_sampled.y = data_sampled.y[idx] - data_sampled.surf = data_sampled.surf[idx] - if name_mod != 'PointNet' and name_mod != 'MLP': - data_sampled.pos = data_sampled.pos.cpu() - edge_index = radius_graph(x=data_sampled.pos, r=hparams['r'], loop=True, - max_num_neighbors=int(hparams['max_neighbors'])) - - # 将 edge_index 转换为 Paddle 张量 - data_sampled.edge_index = paddle.to_tensor(edge_index, dtype="int64") - - val_dataset_sampled.append(data_sampled) - val_loader = DataLoader(val_dataset_sampled, - batch_size=1, shuffle=True, collate_fn=custom_collate_fn) - del val_dataset_sampled - (val_loss, _, val_surf_var, val_vol_var, val_surf, - val_vol) = test(device, model, val_loader, - criterion) - del val_loader - val_surf_vars.append(val_surf_var) - val_vol_vars.append(val_vol_var) - val_surfs.append(val_surf) - val_vols.append(val_vol) - val_surf_var = np.array(val_surf_vars).mean(axis=0) - val_vol_var = np.array(val_vol_vars).mean(axis=0) - val_surf = np.array(val_surfs).mean(axis=0) - val_vol = np.array(val_vols).mean(axis=0) - else: - (val_loss, _, val_surf_var, val_vol_var, val_surf, val_vol - ) = test(device, model, val_loader, criterion) - print('=====validation=====') - print('epoch: ' + str(epoch)) - print('val_vol: ' + str(val_vol)) - print('val_surf: ' + str(val_surf)) - if criterion == 'MSE_weigthed': - val_loss = reg * val_surf + val_vol - val_surf_list.append(val_surf) - val_vol_list.append(val_vol) - val_surf_var_list.append(val_surf_var) - val_vol_var_list.append(val_vol_var) - pbar_train.set_postfix(train_loss=train_loss, loss_surf= - loss_surf, val_loss=val_loss, val_surf=val_surf) - else: - pbar_train.set_postfix(train_loss=train_loss, loss_surf= - loss_surf, val_loss=val_loss, val_surf=val_surf) - else: - pbar_train.set_postfix(train_loss=train_loss, loss_surf=loss_surf) - loss_surf_var_list = np.array(loss_surf_var_list) - loss_vol_var_list = np.array(loss_vol_var_list) - val_surf_var_list = np.array(val_surf_var_list) - val_vol_var_list = np.array(val_vol_var_list) - end = time.time() - time_elapsed = end - start - params_model = get_nb_trainable_params(model).astype('float') - print('Number of parameters:', params_model) - print('Time elapsed: {0:.2f} seconds'.format(time_elapsed)) - - # 保存模型权重 - model_path = os.path.join(path, f"model_{hparams['nb_epochs']}.pdparams") - paddle.save(model.state_dict(), model_path) - - sns.set() - fig_train_surf, ax_train_surf = plt.subplots(figsize=(20, 5)) - ax_train_surf.plot(train_loss_surf_list, label='Mean loss') - ax_train_surf.plot(loss_surf_var_list[:, 0], label='$v_x$ loss') - ax_train_surf.plot(loss_surf_var_list[:, 1], label='$v_y$ loss') - ax_train_surf.plot(loss_surf_var_list[:, 2], label='$p$ loss') - ax_train_surf.plot(loss_surf_var_list[:, 3], label='$\\nu_t$ loss') - ax_train_surf.set_xlabel('epochs') - ax_train_surf.set_yscale('log') - ax_train_surf.set_title('Train losses over the surface') - ax_train_surf.legend(loc='best') - fig_train_surf.savefig(os.path.join(path, 'train_loss_surf.png'), dpi= - 150, bbox_inches='tight') - fig_train_vol, ax_train_vol = plt.subplots(figsize=(20, 5)) - ax_train_vol.plot(train_loss_vol_list, label='Mean loss') - ax_train_vol.plot(loss_vol_var_list[:, 0], label='$v_x$ loss') - ax_train_vol.plot(loss_vol_var_list[:, 1], label='$v_y$ loss') - ax_train_vol.plot(loss_vol_var_list[:, 2], label='$p$ loss') - ax_train_vol.plot(loss_vol_var_list[:, 3], label='$\\nu_t$ loss') - ax_train_vol.set_xlabel('epochs') - ax_train_vol.set_yscale('log') - ax_train_vol.set_title('Train losses over the volume') - ax_train_vol.legend(loc='best') - fig_train_vol.savefig(os.path.join(path, 'train_loss_vol.png'), dpi=150, - bbox_inches='tight') - if val_iter is not None: - fig_val_surf, ax_val_surf = plt.subplots(figsize=(20, 5)) - ax_val_surf.plot(val_surf_list, label='Mean loss') - ax_val_surf.plot(val_surf_var_list[:, 0], label='$v_x$ loss') - ax_val_surf.plot(val_surf_var_list[:, 1], label='$v_y$ loss') - ax_val_surf.plot(val_surf_var_list[:, 2], label='$p$ loss') - ax_val_surf.plot(val_surf_var_list[:, 3], label='$\\nu_t$ loss') - ax_val_surf.set_xlabel('epochs') - ax_val_surf.set_yscale('log') - ax_val_surf.set_title('Validation losses over the surface') - ax_val_surf.legend(loc='best') - fig_val_surf.savefig(os.path.join(path, 'val_loss_surf.png'), dpi= - 150, bbox_inches='tight') - fig_val_vol, ax_val_vol = plt.subplots(figsize=(20, 5)) - ax_val_vol.plot(val_vol_list, label='Mean loss') - ax_val_vol.plot(val_vol_var_list[:, 0], label='$v_x$ loss') - ax_val_vol.plot(val_vol_var_list[:, 1], label='$v_y$ loss') - ax_val_vol.plot(val_vol_var_list[:, 2], label='$p$ loss') - ax_val_vol.plot(val_vol_var_list[:, 3], label='$\\nu_t$ loss') - ax_val_vol.set_xlabel('epochs') - ax_val_vol.set_yscale('log') - ax_val_vol.set_title('Validation losses over the volume') - ax_val_vol.legend(loc='best') - fig_val_vol.savefig(os.path.join(path, 'val_loss_vol.png'), dpi=150, - bbox_inches='tight') - # 确保 hparams 内部的每个值也被序列化 - hparams_serialized = serialize_data(hparams) - - if val_iter is not None: - with open(osp.join(path, name_mod + '_log.json'), 'a') as f: - json.dump( - serialize_data({ - 'regression': 'Total', - 'loss': 'MSE', - 'nb_parameters': params_model, - 'time_elapsed': time_elapsed, - 'hparams': hparams_serialized, # 使用序列化后的 hparams - 'train_loss_surf': train_loss_surf_list[-1], - 'train_loss_surf_var': loss_surf_var_list[-1], - 'train_loss_vol': train_loss_vol_list[-1], - 'train_loss_vol_var': loss_vol_var_list[-1], - 'val_loss_surf': val_surf_list[-1], - 'val_loss_surf_var': val_surf_var_list[-1], - 'val_loss_vol': val_vol_list[-1], - 'val_loss_vol_var': val_vol_var_list[-1], - }), f, indent=12, cls=NumpyEncoder - ) - return model diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics.py deleted file mode 100644 index 92cfbe5065..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics.py +++ /dev/null @@ -1,437 +0,0 @@ -import sys -# sys.path.append('../../utils') -from typing import Tuple, List -from dataset.dataset import Data -from utils import paddle_aux -import os -import paddle -import pathlib -import numpy as np -import scipy as sc -from dataset.radius import radius_graph -from paddle.io import DataLoader -import pyvista as pv -import json -import seaborn as sns -import random -import time -import utils.metrics_NACA as metrics_NACA -from utils.reorganize import reorganize -from dataset.dataset import Dataset -from tqdm import tqdm -NU = np.array(1.56e-05) - - -def custom_collate_fn(batch: List['Data']): - """自定义collate_fn,用于处理单个Data类型的数据项,直接返回单个数据和shape。""" - # print(f"Batch received in collate_fn: {batch}") - # 直接返回单个 Data 和 shape - return batch - -class NumpyEncoder(json.JSONEncoder): - - def default(self, obj): - if isinstance(obj, np.ndarray): - return obj.tolist() - return json.JSONEncoder.default(self, obj) - - -def rsquared(predict, true): - """ - Args: - predict (tensor): Predicted values, shape (N, *) - true (tensor): True values, shape (N, *) - - Out: - rsquared (tensor): Coefficient of determination of the prediction, shape (*,) - """ - mean = true.mean(axis=0) - return 1 - ((true - predict) ** 2).sum(axis=0) / ((true - mean) ** 2).sum( - axis=0) - - -def rel_err(a, b): - return np.abs((a - b) / a) - - -def WallShearStress(Jacob_U, normals): - S = 0.5 * (Jacob_U + Jacob_U.transpose(0, 2, 1)) - S = S - S.trace(axis1=1, axis2=2).reshape(-1, 1, 1) * np.eye(2)[None] / 3 - ShearStress = 2 * NU.reshape(-1, 1, 1) * S - ShearStress = (ShearStress * normals[:, :2].reshape(-1, 1, 2)).sum(axis=2) - return ShearStress - - -@paddle.no_grad() -def Infer_test(device, models, hparams, data, coef_norm=None): - outs = [paddle.zeros_like(x=data.y)] * len(models) - n_out = paddle.zeros_like(x=data.y[:, :1]) - idx_points = set(map(tuple, data.pos[:, :2].numpy())) - cond = True - i = 0 - while cond: - i += 1 - data_sampled = data.clone() - idx = random.sample(range(data_sampled.x.shape[0]), hparams[0][ - 'subsampling']) - idx = paddle.to_tensor(data=idx) - idx_points = idx_points - set(map(tuple, data_sampled.pos[idx, :2]. - numpy())) - data_sampled.pos = data_sampled.pos[idx] - data_sampled.x = data_sampled.x[idx] - data_sampled.y = data_sampled.y[idx] - data_sampled.surf = data_sampled.surf[idx] - # data_sampled.batch = data_sampled.batch[idx] - - out = [paddle.zeros_like(x=data.y)] * len(models) - tim = np.zeros(len(models)) - for n, model in enumerate(models): - try: - data_sampled.pos = data_sampled.pos.cpu() - edge_index = radius_graph(x=data_sampled.pos, r=hparams[n]['r'], loop=True, - max_num_neighbors=int(hparams[n]['max_neighbors'])) - data_sampled.edge_index = paddle.to_tensor(edge_index, dtype="int64") - except KeyError: - data_sampled.edge_index = None - model.eval() - data_sampled = data_sampled.to(device) - start = time.time() - o = model(data_sampled) - tim[n] += time.time() - start - out[n][idx] = o.cpu() - outs[n] = outs[n] + out[n] - n_out[idx] = n_out[idx] + paddle.ones_like(x=n_out[idx]) - cond = len(idx_points) > 0 - for n, out in enumerate(outs): - outs[n] = out / n_out - if coef_norm is not None: - outs[n][data.surf, :2] = -paddle.to_tensor(data=coef_norm[2][ - None, :2]) * paddle.ones_like(x=out[data.surf, :2]) / (paddle - .to_tensor(data=coef_norm[3][None, :2]) + 1e-08) - outs[n][data.surf, 3] = -paddle.to_tensor(data=coef_norm[2][3] - ) * paddle.ones_like(x=out[data.surf, 3]) / (paddle. - to_tensor(data=coef_norm[3][3]) + 1e-08) - else: - outs[n][data.surf, :2] = paddle.zeros_like(x=out[data.surf, :2]) - outs[n][data.surf, 3] = paddle.zeros_like(x=out[data.surf, 3]) - return outs, tim / i - - -def Airfoil_test(internal, airfoil, outs, coef_norm, bool_surf): - internals = [] - airfoils = [] - for out in outs: - intern = internal.copy() - aerofoil = airfoil.copy() - point_mesh = intern.points[bool_surf, :2] - point_surf = aerofoil.points[:, :2] - out = (out * (coef_norm[3] + 1e-08) + coef_norm[2]).numpy() - out[bool_surf.numpy(), :2] = np.zeros_like(out[bool_surf.numpy(), :2]) - out[bool_surf.numpy(), 3] = np.zeros_like(out[bool_surf.numpy(), 3]) - intern.point_data['U'][:, :2] = out[:, :2] - intern.point_data['p'] = out[:, 2] - intern.point_data['nut'] = out[:, 3] - surf_p = intern.point_data['p'][bool_surf] - surf_p = reorganize(point_mesh, point_surf, surf_p) - aerofoil.point_data['p'] = surf_p - intern = intern.ptc(pass_point_data=True) - aerofoil = aerofoil.ptc(pass_point_data=True) - internals.append(intern) - airfoils.append(aerofoil) - return internals, airfoils - - -def Airfoil_mean(internals, airfoils): - oi_point = np.zeros((internals[0].points.shape[0], 4)) - oi_cell = np.zeros((tuple(internals[0].cell_data['U'].shape)[0], 4)) - oa_point = np.zeros((airfoils[0].points.shape[0], 4)) - oa_cell = np.zeros((tuple(airfoils[0].cell_data['U'].shape)[0], 4)) - for k in range(len(internals)): - oi_point[:, :2] += internals[k].point_data['U'][:, :2] - oi_point[:, 2] += internals[k].point_data['p'] - oi_point[:, 3] += internals[k].point_data['nut'] - oi_cell[:, :2] += internals[k].cell_data['U'][:, :2] - oi_cell[:, 2] += internals[k].cell_data['p'] - oi_cell[:, 3] += internals[k].cell_data['nut'] - oa_point[:, :2] += airfoils[k].point_data['U'][:, :2] - oa_point[:, 2] += airfoils[k].point_data['p'] - oa_point[:, 3] += airfoils[k].point_data['nut'] - oa_cell[:, :2] += airfoils[k].cell_data['U'][:, :2] - oa_cell[:, 2] += airfoils[k].cell_data['p'] - oa_cell[:, 3] += airfoils[k].cell_data['nut'] - oi_point = oi_point / len(internals) - oi_cell = oi_cell / len(internals) - oa_point = oa_point / len(airfoils) - oa_cell = oa_cell / len(airfoils) - internal_mean = internals[0].copy() - internal_mean.point_data['U'][:, :2] = oi_point[:, :2] - internal_mean.point_data['p'] = oi_point[:, 2] - internal_mean.point_data['nut'] = oi_point[:, 3] - internal_mean.cell_data['U'][:, :2] = oi_cell[:, :2] - internal_mean.cell_data['p'] = oi_cell[:, 2] - internal_mean.cell_data['nut'] = oi_cell[:, 3] - airfoil_mean = airfoils[0].copy() - airfoil_mean.point_data['U'][:, :2] = oa_point[:, :2] - airfoil_mean.point_data['p'] = oa_point[:, 2] - airfoil_mean.point_data['nut'] = oa_point[:, 3] - airfoil_mean.cell_data['U'][:, :2] = oa_cell[:, :2] - airfoil_mean.cell_data['p'] = oa_cell[:, 2] - airfoil_mean.cell_data['nut'] = oa_cell[:, 3] - return internal_mean, airfoil_mean - - -def Compute_coefficients(internals, airfoils, bool_surf, Uinf, angle, - keep_vtk=False): - coefs = [] - if keep_vtk: - new_internals = [] - new_airfoils = [] - for internal, airfoil in zip(internals, airfoils): - intern = internal.copy() - aerofoil = airfoil.copy() - point_mesh = intern.points[bool_surf, :2] - point_surf = aerofoil.points[:, :2] - intern = intern.compute_derivative(scalars='U', gradient='pred_grad') - surf_grad = intern.point_data['pred_grad'].reshape(-1, 3, 3)[ - bool_surf, :2, :2] - surf_p = intern.point_data['p'][bool_surf] - surf_grad = reorganize(point_mesh, point_surf, surf_grad) - surf_p = reorganize(point_mesh, point_surf, surf_p) - Wss_pred = WallShearStress(surf_grad, -aerofoil.point_data['Normals']) - aerofoil.point_data['wallShearStress'] = Wss_pred - aerofoil.point_data['p'] = surf_p - intern = intern.ptc(pass_point_data=True) - aerofoil = aerofoil.ptc(pass_point_data=True) - WP_int = -aerofoil.cell_data['p'][:, None] * aerofoil.cell_data[ - 'Normals'][:, :2] - Wss_int = (aerofoil.cell_data['wallShearStress'] * aerofoil. - cell_data['Length'].reshape(-1, 1)).sum(axis=0) - WP_int = (WP_int * aerofoil.cell_data['Length'].reshape(-1, 1)).sum( - axis=0) - force = Wss_int - WP_int - alpha = angle * np.pi / 180 - basis = np.array([[np.cos(alpha), np.sin(alpha)], [-np.sin(alpha), - np.cos(alpha)]]) - force_rot = basis @ force - coef = 2 * force_rot / Uinf ** 2 - coefs.append(coef) - if keep_vtk: - new_internals.append(intern) - new_airfoils.append(aerofoil) - if keep_vtk: - return coefs, new_internals, new_airfoils - else: - return coefs - - -def Results_test(device, models, hparams, coef_norm, path_in, path_out, - n_test=3, criterion='MSE', x_bl=[0.2, 0.4, 0.6, 0.8], s='full_test'): - """ - Compute criterion scores for the fields over the volume and the surface, and for the force coefficients. Also compute Spearman's correlation scores - for the force coefficients and the relative error for the wall shear stress and the pressure over the airfoil. Outputs the true, the mean predicted - and the std predicted integrated force coefficients, the true and mean predicted local force coefficients (at the surface of airfoils) and the true - mean predicted boundary layers at chord x_bl. - - Args: - device (str): Device on which you do the prediction. - models (torch_geometric.nn.Module): List of models to predict with. It is a list of a list of different training of the same model. - For example, it can be [model_MLP, model_GraphSAGE] where model_MLP is itself a list of the form [MLP_1, MLP_2]. - hparams (list): List of dictionnaries of hyperparameters of the models. - coef_norm (tuple): Tuple of the form (mean_in, mean_out, std_in, std_out) for the denormalization of the data. - path_in (str): Path to find the manifest.json file and the dataset. - path_out (str): Path to write the scores. - n_test (int, optional): Number of airfoils on which you want to infer (they will be drawn randomly in the given set). Default: ``3`` - criterion(str, optional): Criterion for the fields scores. Choose between MSE and MAE. Default: ``"MSE"`` - x_bl (list, optional): List of chord where the extract boundary layer prediction will be extracted. Default: ``[.2, .4, .6, .8]`` - s (str, optional): Dataset in which the simulation names are going to be sampled. Default: ``"full_test"`` - """ - sns.set() - pathlib.Path(path_out).mkdir(parents=True, exist_ok=True) - with open(os.path.join(path_in, 'manifest.json'), 'r') as f: - manifest = json.load(f) - - test_dataset = manifest[s] - - idx = random.sample(range(len(test_dataset)), k=n_test) - - # 确保 idx 是 Paddle 的 Tensor 类型 - idx = paddle.to_tensor(idx) - - paddle.sort(x=idx), paddle.argsort(x=idx) - - test_dataset_vtk = Dataset(test_dataset, sample=None, coef_norm= - coef_norm, my_path=path_in) - - test_loader = DataLoader(test_dataset_vtk, shuffle=False, collate_fn=custom_collate_fn) - if criterion == 'MSE': - criterion = paddle.nn.MSELoss(reduction='none') - elif criterion == 'MAE': - criterion = paddle.nn.L1Loss(reduction='none') - scores_vol = [] - scores_surf = [] - scores_force = [] - scores_p = [] - scores_wss = [] - internals = [] - airfoils = [] - true_internals = [] - true_airfoils = [] - times = [] - true_coefs = [] - pred_coefs = [] - for i, model in enumerate(models): - # model = [models[n][i] for n in range(len(models))] - model = [model] - avg_loss_per_var = np.zeros((len(model), 4)) - avg_loss = np.zeros(len(model)) - avg_loss_surf_var = np.zeros((len(model), 4)) - avg_loss_vol_var = np.zeros((len(model), 4)) - avg_loss_surf = np.zeros(len(model)) - avg_loss_vol = np.zeros(len(model)) - avg_rel_err_force = np.zeros((len(model), 2)) - avg_loss_p = np.zeros(len(model)) - avg_loss_wss = np.zeros((len(model), 2)) - internal = [] - airfoil = [] - pred_coef = [] - for j, data in enumerate(tqdm(test_loader.dataset)): - Uinf, angle = float(test_dataset[j].split('_')[2]), float( - test_dataset[j].split('_')[3]) - outs, tim = Infer_test(device, model, hparams, data, coef_norm= - coef_norm) - times.append(tim) - intern = pv.read(os.path.join(path_in, test_dataset[j], - test_dataset[j] + '_internal.vtu')) - aerofoil = pv.read(os.path.join(path_in, test_dataset[j], - test_dataset[j] + '_aerofoil.vtp')) - tc, true_intern, true_airfoil = Compute_coefficients([intern], - [aerofoil], data.surf, Uinf, angle, keep_vtk=True) - tc, true_intern, true_airfoil = tc[0], true_intern[0 - ], true_airfoil[0] - - intern, aerofoil = Airfoil_test(intern, aerofoil, outs, coef_norm, data.surf) - pc, intern, aerofoil = Compute_coefficients(intern, aerofoil, data.surf, Uinf, angle, keep_vtk=True) - - if i == 0: - true_coefs.append(tc) - pred_coef.append(pc) - if j in idx: - internal.append(intern) - airfoil.append(aerofoil) - if i == 0: - true_internals.append(true_intern) - true_airfoils.append(true_airfoil) - for n, out in enumerate(outs): - loss_per_var = criterion(out, data.y).mean(axis=0) - loss = loss_per_var.mean() - loss_surf_var = criterion(out[data.surf, :], data.y[data. - surf, :]).mean(axis=0) - loss_vol_var = criterion(out[~data.surf, :], data.y[~data. - surf, :]).mean(axis=0) - loss_surf = loss_surf_var.mean() - loss_vol = loss_vol_var.mean() - avg_loss_per_var[n] += loss_per_var.cpu().numpy() - avg_loss[n] += loss.cpu().numpy() - avg_loss_surf_var[n] += loss_surf_var.cpu().numpy() - avg_loss_vol_var[n] += loss_vol_var.cpu().numpy() - avg_loss_surf[n] += loss_surf.cpu().numpy() - avg_loss_vol[n] += loss_vol.cpu().numpy() - avg_rel_err_force[n] += rel_err(tc, pc[n]) - avg_loss_wss[n] += rel_err(true_airfoil.point_data[ - 'wallShearStress'], aerofoil[n].point_data[ - 'wallShearStress']).mean(axis=0) - avg_loss_p[n] += rel_err(true_airfoil.point_data['p'], - aerofoil[n].point_data['p']).mean(axis=0) - - internals.append(internal) - airfoils.append(airfoil) - pred_coefs.append(pred_coef) - score_var = np.array(avg_loss_per_var) / len(test_loader) - score = np.array(avg_loss) / len(test_loader) - score_surf_var = np.array(avg_loss_surf_var) / len(test_loader) - score_vol_var = np.array(avg_loss_vol_var) / len(test_loader) - score_surf = np.array(avg_loss_surf) / len(test_loader) - score_vol = np.array(avg_loss_vol) / len(test_loader) - score_force = np.array(avg_rel_err_force) / len(test_loader) - score_p = np.array(avg_loss_p) / len(test_loader) - score_wss = np.array(avg_loss_wss) / len(test_loader) - score = score_surf + score_vol - scores_vol.append(score_vol_var) - scores_surf.append(score_surf_var) - scores_force.append(score_force) - scores_p.append(score_p) - scores_wss.append(score_wss) - scores_vol = np.array(scores_vol) - scores_surf = np.array(scores_surf) - scores_force = np.array(scores_force) - scores_p = np.array(scores_p) - scores_wss = np.array(scores_wss) - times = np.array(times) - true_coefs = np.array(true_coefs) - pred_coefs = np.array(pred_coefs) - pred_coefs_mean = pred_coefs.mean(axis=0) - pred_coefs_std = pred_coefs.std(axis=0) - - - spear_coefs = [] - - for j in range(pred_coefs.shape[0]): - spear_coef = [] - for k in range(pred_coefs.shape[2]): - spear_drag = sc.stats.spearmanr(true_coefs[:, 0], pred_coefs[j, :, k, 0])[0] - spear_lift = sc.stats.spearmanr(true_coefs[:, 1], pred_coefs[j, :, k, 1])[0] - spear_coef.append([spear_drag, spear_lift]) - spear_coefs.append(spear_coef) - - - spear_coefs = np.array(spear_coefs) - - - with open(os.path.join(path_out, 'score.json'), 'w') as f: - json.dump({'mean_time': times.mean(axis=0), 'std_time': times.std( - axis=0), 'mean_score_vol': scores_vol.mean(axis=0), - 'std_score_vol': scores_vol.std(axis=0), 'mean_score_surf': - scores_surf.mean(axis=0), 'std_score_surf': scores_surf.std( - axis=0), 'mean_rel_p': scores_p.mean(axis=0), 'std_rel_p': - scores_p.std(axis=0), 'mean_rel_wss': scores_wss.mean(axis=0), - 'std_rel_wss': scores_wss.std(axis=0), 'mean_score_force': - scores_force.mean(axis=0), 'std_score_force': scores_force.std( - axis=0), 'spearman_coef_mean': spear_coefs.mean(axis=0), - 'spearman_coef_std': spear_coefs.std(axis=0)}, f, indent=4, cls - =NumpyEncoder) - surf_coefs = [] - true_surf_coefs = [] - bls = [] - true_bls = [] - for i in range(len(internals[0])): - aero_name = test_dataset[idx[i]] - true_internal = true_internals[i] - true_airfoil = true_airfoils[i] - surf_coef = [] - bl = [] - for j in range(len(internals[0][0])): - internal_mean, airfoil_mean = Airfoil_mean([internals[k][i][j] for - k in range(len(internals))], [airfoils[k][i][j] for k in - range(len(airfoils))]) - internal_mean.save(os.path.join(path_out, test_dataset[idx[i]] + - '_' + str(j) + '.vtu')) - surf_coef.append(np.array(metrics_NACA.surface_coefficients( - airfoil_mean, aero_name))) - b = [] - for x in x_bl: - b.append(np.array(metrics_NACA.boundary_layer(airfoil_mean, - internal_mean, aero_name, x))) - bl.append(np.array(b)) - true_surf_coefs.append(np.array(metrics_NACA.surface_coefficients( - true_airfoil, aero_name))) - true_bl = [] - for x in x_bl: - true_bl.append(np.array(metrics_NACA.boundary_layer( - true_airfoil, true_internal, aero_name, x))) - true_bls.append(np.array(true_bl)) - surf_coefs.append(np.array(surf_coef)) - bls.append(np.array(bl)) - true_bls = np.array(true_bls) - bls = np.array(bls) - return (true_coefs, pred_coefs_mean, pred_coefs_std, true_surf_coefs, - surf_coefs, true_bls, bls) diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics_NACA.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics_NACA.py deleted file mode 100644 index c299523268..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/metrics_NACA.py +++ /dev/null @@ -1,191 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -import seaborn as sns -from utils.naca_generator import camber_line -sns.set() -RHO = 1.184 -NU = 1.56e-05 -C = 346.1 -P_ref = 101300.0 - - -def surface_coefficients(airfoil, aero_name, compressible=False, extrado=False - ): - u_inf = float(aero_name.split('_')[2]) - digits = list(map(float, aero_name.split('_')[4:-1])) - if compressible: - qInf = 0.5 * u_inf ** 2 * RHO - else: - qInf = 0.5 * u_inf ** 2 - if extrado: - camber = camber_line(digits, airfoil.points[:, 0])[0] - idx_extrado = airfoil.points[:, 1] > camber - points = airfoil.points[:, 0] - pressure = airfoil.point_data['p'] - wss = np.linalg.norm(airfoil.point_data['wallShearStress'][:, :2], axis=1) - c_p = np.concatenate([points[:, None], pressure[:, None] / qInf], axis=1) - c_l = np.concatenate([points[:, None], wss[:, None] / qInf], axis=1) - if extrado: - return c_p, c_l, idx_extrado - else: - return c_p, c_l - - -def compare_surface_coefs(coefs1, coefs2, extrado=True, path=None): - ycp1, ycp2, c_p1, c_p2 = coefs1[0][:, 0], coefs2[0][:, 0], coefs1[0][:, 1 - ], coefs2[0][:, 1] - ycl1, ycl2, c_f1, c_f2 = coefs1[1][:, 0], coefs2[1][:, 0], coefs1[1][:, 1 - ], coefs2[1][:, 1] - fig, ax = plt.subplots(2, figsize=(20, 10)) - if extrado: - n_extrado1, n_extrado2 = coefs1[2], coefs2[2] - ax[0].scatter(ycp1[:n_extrado1], c_p1[:n_extrado1], label='Extrado 1') - ax[0].scatter(ycp1[n_extrado1:], c_p1[n_extrado1:], color='r', - marker='x', label='Intrado 1') - ax[0].scatter(ycp2[:n_extrado2], c_p2[:n_extrado2], color='y', - label='Extrado Target') - ax[0].scatter(ycp2[n_extrado2:], c_p2[n_extrado2:], color='g', - marker='x', label='Intrado Target') - ax[1].scatter(ycl1[:n_extrado1], c_f1[:n_extrado1], label='Extrado 1') - ax[1].scatter(ycl1[n_extrado1:], c_f1[n_extrado1:], color='r', - marker='x', label='Intrado 1') - ax[1].scatter(ycl2[:n_extrado2], c_f2[:n_extrado2], color='y', - label='Extrado Target') - ax[1].scatter(ycl2[n_extrado2:], c_f2[n_extrado2:], color='g', - marker='x', label='Intrado Target') - else: - ax[0].scatter(ycp1, c_p1, label='Experiment 1') - ax[0].scatter(ycp2, c_p2, color='y', label='Experiment Target') - ax[1].scatter(ycl1, c_f1, label='Experiment 1') - ax[1].scatter(ycl2, c_f2, color='y', label='Experiment Targer') - ax[0].invert_yaxis() - ax[0].set_xlabel('x/c') - ax[1].set_xlabel('x/c') - ax[0].set_ylabel('$C_p$') - ax[1].set_ylabel('$C_f$') - ax[0].set_title('Pressure coefficient') - ax[1].set_title('Skin friction coefficient') - ax[0].legend(loc='best') - ax[1].legend(loc='best') - if path != None: - fig.savefig(path + 'surface_coefs.png', bbox_inches='tight', dpi=150) - - -def boundary_layer(airfoil, internal, aero_name, x, y=0.001, resolution=int - (1000.0), direction='normals', rotation=False, extrado=True): - u_inf = float(aero_name.split('_')[2]) - digits = list(map(float, aero_name.split('_')[4:-1])) - camber = camber_line(digits, airfoil.points[:, 0])[0] - idx_extrado = airfoil.points[:, 1] > camber - if extrado: - arg = np.argmin(np.abs(airfoil.points[idx_extrado, 0] - x)) + 1 - arg = np.argwhere(idx_extrado.cumsum() == arg).min() - else: - arg = np.argmin(np.abs(airfoil.points[~idx_extrado, 0] - x)) + 1 - arg = np.argwhere((~idx_extrado).cumsum() == arg).min() - if direction == 'normals': - normals = -airfoil.point_data['Normals'][arg] - elif direction == 'y': - normals = np.array([0, 2 * int(extrado) - 1, 0]) - a, b = airfoil.points[arg], airfoil.points[arg] + y * normals - bl = internal.sample_over_line(a, b, resolution=resolution) - if rotation: - rot = np.array([[0, 1, 0], [-1, 0, 0], [0, 0, 1]]) - u = (bl.point_data['U'] * (rot @ normals)).sum(axis=1) - v = (bl.point_data['U'] * normals).sum(axis=1) - else: - u = bl.point_data['U'][:, 0] - v = bl.point_data['U'][:, 1] - nut = bl.point_data['nut'] - yc = bl.points[:, 1] - a[1] - return yc, u / u_inf, v / u_inf, nut / NU - - -def compare_boundary_layer(coefs1, coefs2, ylim=0.1, path=None, ylog=False): - yc1, u1, v1, nut1 = coefs1 - yc2, u2, v2, nut2 = coefs2 - fig, ax = plt.subplots(1, 3, figsize=(30, 10)) - ax[0].scatter(u1, yc1, label='Experiment 1') - ax[0].scatter(u2, yc2, label='Experiment 2', color='r', marker='x') - ax[0].set_xlabel('$u/U_\\infty$') - ax[0].set_ylabel('$(y-y_0)/c$') - ax[0].legend(loc='best') - ax[1].scatter(v1, yc1, label='Experiment 1') - ax[1].scatter(v2, yc2, label='Experiment 2', color='r', marker='x') - ax[1].set_xlabel('$v/U_\\infty$') - ax[1].set_ylabel('$(y-y_0)/c$') - ax[1].legend(loc='best') - ax[2].scatter(nut1, yc1, label='Experience 1') - ax[2].scatter(nut2, yc2, label='Experience 2', color='r', marker='x') - ax[2].set_xlabel('$\\nu_t/\\nu$') - ax[2].set_ylabel('$(y-y_0)/c$') - ax[2].legend(loc='best') - if ylog: - ax[0].set_yscale('log') - ax[1].set_yscale('log') - ax[2].set_yscale('log') - if path != None: - fig.savefig(path + 'boundary_layer.png', bbox_inches='tight', dpi=150) - - -def plot_residuals(path, params): - datas = dict() - if params['turbulence'] == 'SA': - fields = ['Ux', 'Uy', 'p', 'nuTilda'] - elif params['turbulence'] == 'SST': - fields = ['Ux', 'Uy', 'p', 'k', 'omega'] - for field in fields: - data = np.loadtxt(path + 'logs/' + field + '_0')[:, 1] - datas[field] = data - if params['turbulence'] == 'SA': - fig, ax = plt.subplots(2, 2, figsize=(20, 20)) - ax[1, 1].plot(datas['nuTilda']) - ax[1, 1].set_yscale('log') - ax[1, 1].set_title('nuTilda residual') - ax[1, 1].set_xlabel('Number of iterations') - elif params['turbulence'] == 'SST': - fig, ax = plt.subplots(3, 2, figsize=(30, 20)) - ax[1, 1].plot(datas['k']) - ax[1, 1].set_yscale('log') - ax[1, 1].set_title('k residual') - ax[1, 1].set_xlabel('Number of iterations') - ax[2, 0].plot(datas['omega']) - ax[2, 0].set_yscale('log') - ax[2, 0].set_title('omega residual') - ax[2, 0].set_xlabel('Number of iterations') - ax[0, 0].plot(datas['Ux']) - ax[0, 0].set_yscale('log') - ax[0, 0].set_title('Ux residual') - ax[0, 1].plot(datas['Uy']) - ax[0, 1].set_yscale('log') - ax[0, 1].set_title('Uy residual') - ax[1, 0].plot(datas['p']) - ax[1, 0].set_yscale('log') - ax[1, 0].set_title('p residual') - ax[1, 0].set_xlabel('Number of iterations') - fig.savefig(path + 'residuals.png', bbox_inches='tight', dpi=150) - return datas - - -def plot_coef_convergence(path, params): - datas = dict() - datas['c_d'] = np.loadtxt(path + - 'postProcessing/forceCoeffs1/0/coefficient.dat')[:, 1] - datas['c_l'] = np.loadtxt(path + - 'postProcessing/forceCoeffs1/0/coefficient.dat')[:, 3] - c_d, c_l = datas['c_d'][-1], datas['c_l'][-1] - fig, ax = plt.subplots(2, figsize=(30, 15)) - ax[0].plot(datas['c_d']) - ax[0].set_ylim([0.5 * c_d, 1.5 * c_d]) - ax[0].set_title('Drag coefficient') - ax[0].set_xlabel('Number of iterations') - ax[0].set_ylabel('$C_D$') - ax[1].plot(datas['c_l']) - ax[1].set_title('Lift coefficient') - ax[1].set_ylim([0.5 * c_l, 1.5 * c_l]) - ax[1].set_ylabel('$C_L$') - ax[1].set_xlabel('Number of iterations') - print('Drag coefficient: {0:.5}, lift coefficient: {1:.5}'.format(c_d, c_l) - ) - fig.savefig(path + 'coef_convergence.png', bbox_inches='tight', dpi=150) - return datas, c_d, c_l diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/naca_generator.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/naca_generator.py deleted file mode 100644 index cd223647e8..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/naca_generator.py +++ /dev/null @@ -1,112 +0,0 @@ -import numpy as np - - -def thickness_dist(t, x, CTE=True): - if CTE: - a = -0.1036 - else: - a = -0.1015 - return 5 * t * (0.2969 * np.sqrt(x) - 0.126 * x - 0.3516 * x ** 2 + - 0.2843 * x ** 3 + a * x ** 4) - - -def camber_line(params, x): - y_c = np.zeros_like(x) - dy_c = np.zeros_like(x) - if len(params) == 2: - m = params[0] / 100 - p = params[1] / 10 - if p == 0: - dy_c = -2 * m * x - return y_c, dy_c - elif p == 1: - dy_c = 2 * m * (1 - x) - return y_c, dy_c - mask1 = x < p - mask2 = x >= p - y_c[mask1] = m / p ** 2 * (2 * p * x[mask1] - x[mask1] ** 2) - dy_c[mask1] = 2 * m / p ** 2 * (p - x[mask1]) - y_c[mask2] = m / (1 - p) ** 2 * (1 - 2 * p + 2 * p * x[mask2] - x[ - mask2] ** 2) - dy_c[mask2] = 2 * m / (1 - p) ** 2 * (p - x[mask2]) - elif len(params) == 3: - l, p, q = params - c_l, x_f = 3 / 20 * l, p / 20 - f = lambda x: x * (1 - np.sqrt(x / 3)) - x_f - df = lambda x: 1 - 3 * np.sqrt(x / 3) / 2 - old_m = 0.5 - cond = True - while cond: - new_m = np.max([old_m - f(old_m) / df(old_m), 0]) - cond = np.abs(old_m - new_m) > 1e-15 - old_m = new_m - m = old_m - r = (3 * m - 7 * m ** 2 + 8 * m ** 3 - 4 * m ** 4) / np.sqrt(m * (1 - - m)) - 3 / 2 * (1 - 2 * m) * (np.pi / 2 - np.arcsin(1 - 2 * m)) - k_1 = c_l / r - mask1 = x <= m - mask2 = x > m - if q == 0: - y_c[mask1] = k_1 * (x[mask1] ** 3 - 3 * m * x[mask1] ** 2 + m ** - 2 * (3 - m) * x[mask1]) - dy_c[mask1] = k_1 * (3 * x[mask1] ** 2 - 6 * m * x[mask1] + m ** - 2 * (3 - m)) - y_c[mask2] = k_1 * m ** 3 * (1 - x[mask2]) - dy_c[mask2] = -k_1 * m ** 3 * np.ones_like(dy_c[mask2]) - elif q == 1: - k = (3 * (m - x_f) ** 2 - m ** 3) / (1 - m) ** 3 - y_c[mask1] = k_1 * ((x[mask1] - m) ** 3 - k * (1 - m) ** 3 * x[ - mask1] - m ** 3 * x[mask1] + m ** 3) - dy_c[mask1] = k_1 * (3 * (x[mask1] - m) ** 2 - k * (1 - m) ** 3 - - m ** 3) - y_c[mask2] = k_1 * (k * (x[mask2] - m) ** 3 - k * (1 - m) ** 3 * - x[mask2] - m ** 3 * x[mask2] + m ** 3) - dy_c[mask2] = k_1 * (3 * k * (x[mask2] - m) ** 2 - k * (1 - m) ** - 3 - m ** 3) - else: - raise ValueError( - 'Q must be 0 for normal camber or 1 for reflex camber.') - else: - raise ValueError( - 'The first input must be a tuple of the 2 or 3 digits that represent the camber line.' - ) - return y_c, dy_c - - -def naca_generator(params, nb_samples=400, scale=1, origin=(0, 0), - cosine_spacing=True, verbose=True, CTE=True): - if len(params) == 3: - params_c = params[:2] - t = params[2] / 100 - if verbose: - print( - f'Generating naca M = {params_c[0]}, P = {params_c[1]}, XX = {t * 100}' - ) - elif len(params) == 4: - params_c = params[:3] - t = params[3] / 100 - if verbose: - print( - f'Generating naca L = {params_c[0]}, P = {params_c[1]}, Q = {params_c[2]}, XX = {t * 100}' - ) - else: - raise ValueError( - 'The first argument must be a tuple of the 4 or 5 digits of the airfoil.' - ) - if cosine_spacing: - beta = np.pi * np.linspace(1, 0, nb_samples + 1, endpoint=True) - x = (1 - np.cos(beta)) / 2 - else: - x = np.linspace(1, 0, nb_samples + 1, endpoint=True) - y_c, dy_c = camber_line(params_c, x) - y_t = thickness_dist(t, x, CTE) - theta = np.arctan(dy_c) - x_u = x - y_t * np.sin(theta) - x_l = x + y_t * np.sin(theta) - y_u = y_c + y_t * np.cos(theta) - y_l = y_c - y_t * np.cos(theta) - x = np.concatenate([x_u, x_l[:-1][::-1]], axis=0) - y = np.concatenate([y_u, y_l[:-1][::-1]], axis=0) - pos = np.stack([x * scale + origin[0], y * scale + origin[1]], axis=-1) - pos[0], pos[-1] = np.array([1, 0]), np.array([1, 0]) - return pos diff --git a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/reorganize.py b/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/reorganize.py deleted file mode 100644 index 11b895f269..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Airfoil-Design-AirfRANS/utils/reorganize.py +++ /dev/null @@ -1,13 +0,0 @@ -import numpy as np - - -def reorganize(in_order_points, out_order_points, quantity_to_reordered): - n = out_order_points.shape[0] - idx = np.zeros(n) - for i in range(n): - cond = out_order_points[i] == in_order_points - cond = cond[:, 0] * cond[:, 1] - idx[i] = np.argwhere(cond)[0][0] - idx = idx.astype('int') - assert (in_order_points[idx] == out_order_points).all() - return quantity_to_reordered[idx] diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/README.md b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/README.md deleted file mode 100644 index 565cafdbab..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/README.md +++ /dev/null @@ -1,98 +0,0 @@ -# Transolver for Car Design - -We test [Transolver](https://arxiv.org/abs/2402.02366) on practical design tasks. The car design task requires the model to estimate the surrounding wind speed and surface pressure for a driving car. - -

- -

-Figure 1. Car design task. -

- -Relative error of surrounding wind, surface pressure and [drag coefficient](https://en.wikipedia.org/wiki/Drag_coefficient) are recorded, as well as [Spearman's rank correlations](https://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient), which can be used to quantify the model's capability in ranking different designs. - -

- -

-Table 1. Model comparisons of the car design task. -

- - -## Get Started - -1. Install Python 3.8. For convenience, execute the following command. - -```bash -pip install -r requirements.txt -``` - -Note: You need to install [pytorch_geometric](https://github.com/pyg-team/pytorch_geometric). - -2. Prepare Data. - -The raw data can be found [[here]](http://www.nobuyuki-umetani.com/publication/mlcfd_data.zip), which is provided by [Nobuyuki Umetani](https://dl.acm.org/doi/abs/10.1145/3197517.3201325). - -3. Train and evaluate model. We provide the experiment scripts under the folder `./scripts/`. You can reproduce the experiment results as the following examples: - -```bash -bash scripts/Transolver.sh # for Training (will take 8-10 hours on one single A100) -bash scripts/Evaluation.sh # for Evaluation -``` - -Note: You need to change the argument `--data_dir` and `--save_dir` to your dataset path. Here `data_dir` is for the raw data and `save_dir` is to save the preprocessed data. - -If you have already downloaded or generated the preprocecessed data, you can change `--preprocessed` as True for speed up. - -4. Develop your own model. Here are the instructions: - - - Add the model file under folder `./models/`. - - Add the model configuration into `./main.py`. - - Add a script file under folder `./scripts/` and change the argument `--model`. - -## Slice Visualization - -Transolver proposes to **learn physical states** hidden under the unwieldy meshes. - -The following visualization demonstrates that Transolver can successfully learn to ascribe the points under similar physical state to the same slice, such as windshield, license plate and headlight. - -

- -

-Figure 2. Visualization for Transolver learned physical states. -

- - -## Showcases - -Transolver achieves the best performance in complex geometries and hybrid physics. - -

- -

-Figure 3. Case study of Transolver and other models. -

- - -## Citation - -If you find this repo useful, please cite our paper. - -``` -@inproceedings{wu2024Transolver, - title={Transolver: A Fast Transformer Solver for PDEs on General Geometries}, - author={Haixu Wu and Huakun Luo and Haowen Wang and Jianmin Wang and Mingsheng Long}, - booktitle={International Conference on Machine Learning}, - year={2024} -} -``` - -## Contact - -If you have any questions or want to use the code, please contact [wuhx23@mails.tsinghua.edu.cn](mailto:wuhx23@mails.tsinghua.edu.cn). - -## Acknowledgement - -We appreciate the following papers a lot for their valuable code base or datasets: - -https://dl.acm.org/doi/abs/10.1145/3197517.3201325 - -https://openreview.net/forum?id=EyQO9RPhwN diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/Transolver_E.log b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/Transolver_E.log deleted file mode 100644 index 29859bee71..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/Transolver_E.log +++ /dev/null @@ -1,218 +0,0 @@ -Namespace(data_dir='data/PDE_data/mlcfd_data/training_data', save_dir='data/PDE_data/mlcfd_data/preprocessed_data', fold_id=0, gpu=3, cfd_model='Transolver', cfd_mesh=False, r=0.2, weight=0.5, nb_epochs=200) -use preprocessed data -loading data -Processing Samples: 0%| | 0/793 [00:00 0: - print(np.isnan(normal).sum()) - print('recalculate') - return get_normal(unstructured_grid_data) - return normal - - -def visualize_poly_data(poly_data, surface_filter, normal_filter=None): - if normal_filter is not None: - mask = vtk.vtkMaskPoints() - mask.SetInputData(normal_filter.GetOutput()) - mask.Update() - arrow = vtk.vtkArrowSource() - arrow.Update() - glyph = vtk.vtkGlyph3D() - glyph.SetInputData(mask.GetOutput()) - glyph.SetSourceData(arrow.GetOutput()) - glyph.SetVectorModeToUseNormal() - glyph.SetScaleFactor(0.1) - glyph.Update() - norm_mapper = vtk.vtkPolyDataMapper() - norm_mapper.SetInputData(normal_filter.GetOutput()) - glyph_mapper = vtk.vtkPolyDataMapper() - glyph_mapper.SetInputData(glyph.GetOutput()) - norm_actor = vtk.vtkActor() - norm_actor.SetMapper(norm_mapper) - glyph_actor = vtk.vtkActor() - glyph_actor.SetMapper(glyph_mapper) - glyph_actor.GetProperty().SetColor(1, 0, 0) - norm_render = vtk.vtkRenderer() - norm_render.AddActor(norm_actor) - norm_render.SetBackground(0, 1, 0) - glyph_render = vtk.vtkRenderer() - glyph_render.AddActor(glyph_actor) - glyph_render.AddActor(norm_actor) - glyph_render.SetBackground(0, 0, 1) - scalar_range = poly_data.GetScalarRange() - mapper = vtk.vtkDataSetMapper() - mapper.SetInputConnection(surface_filter.GetOutputPort()) - mapper.SetScalarRange(scalar_range) - actor = vtk.vtkActor() - actor.SetMapper(mapper) - renderer = vtk.vtkRenderer() - renderer.AddActor(actor) - renderer.SetBackground(1, 1, 1) - renderer_window = vtk.vtkRenderWindow() - renderer_window.AddRenderer(renderer) - if normal_filter is not None: - renderer_window.AddRenderer(norm_render) - renderer_window.AddRenderer(glyph_render) - renderer_window.Render() - interactor = vtk.vtkRenderWindowInteractor() - interactor.SetRenderWindow(renderer_window) - interactor.Initialize() - interactor.Start() - - -def get_datalist(root, samples, norm=False, coef_norm=None, savedir=None, - preprocessed=False): - dataset = [] - mean_in, mean_out = 0, 0 - std_in, std_out = 0, 0 - for k, s in tqdm(enumerate(samples), total=len(samples), desc= - 'Processing Samples'): - if preprocessed and savedir is not None: - save_path = os.path.join(savedir, s) - if not os.path.exists(save_path): - continue - init = np.load(os.path.join(save_path, 'x.npy')) - target = np.load(os.path.join(save_path, 'y.npy')) - pos = np.load(os.path.join(save_path, 'pos.npy')) - surf = np.load(os.path.join(save_path, 'surf.npy')) - edge_index = np.load(os.path.join(save_path, 'edge_index.npy')) - else: - file_name_press = os.path.join(root, os.path.join(s, - 'quadpress_smpl.vtk')) - file_name_velo = os.path.join(root, os.path.join(s, - 'hexvelo_smpl.vtk')) - if not os.path.exists(file_name_press) or not os.path.exists( - file_name_velo): - continue - unstructured_grid_data_press = load_unstructured_grid_data( - file_name_press) - unstructured_grid_data_velo = load_unstructured_grid_data( - file_name_velo) - velo = vtk_to_numpy(unstructured_grid_data_velo.GetPointData(). - GetVectors()) - press = vtk_to_numpy(unstructured_grid_data_press.GetPointData( - ).GetScalars()) - points_velo = vtk_to_numpy(unstructured_grid_data_velo. - GetPoints().GetData()) - points_press = vtk_to_numpy(unstructured_grid_data_press. - GetPoints().GetData()) - edges_press = get_edges(unstructured_grid_data_press, - points_press, cell_size=4) - edges_velo = get_edges(unstructured_grid_data_velo, points_velo, - cell_size=8) - sdf_velo, normal_velo = get_sdf(points_velo, points_press) - sdf_press = np.zeros(tuple(points_press.shape)[0]) - normal_press = get_normal(unstructured_grid_data_press) - surface = {tuple(p) for p in points_press} - exterior_indices = [i for i, p in enumerate(points_velo) if - tuple(p) not in surface] - velo_dict = {tuple(p): velo[i] for i, p in enumerate(points_velo)} - pos_ext = points_velo[exterior_indices] - pos_surf = points_press - sdf_ext = sdf_velo[exterior_indices] - sdf_surf = sdf_press - normal_ext = normal_velo[exterior_indices] - normal_surf = normal_press - velo_ext = velo[exterior_indices] - velo_surf = np.array([(velo_dict[tuple(p)] if tuple(p) in - velo_dict else np.zeros(3)) for p in pos_surf]) - press_ext = np.zeros([len(exterior_indices), 1]) - press_surf = press - init_ext = np.c_[pos_ext, sdf_ext, normal_ext] - init_surf = np.c_[pos_surf, sdf_surf, normal_surf] - target_ext = np.c_[velo_ext, press_ext] - target_surf = np.c_[velo_surf, press_surf] - surf = np.concatenate([np.zeros(len(pos_ext)), np.ones(len( - pos_surf))]) - pos = np.concatenate([pos_ext, pos_surf]) - init = np.concatenate([init_ext, init_surf]) - target = np.concatenate([target_ext, target_surf]) - edge_index = get_edge_index(pos, edges_press, edges_velo) - if savedir is not None: - save_path = os.path.join(savedir, s) - if not os.path.exists(save_path): - os.makedirs(save_path) - np.save(os.path.join(save_path, 'x.npy'), init) - np.save(os.path.join(save_path, 'y.npy'), target) - np.save(os.path.join(save_path, 'pos.npy'), pos) - np.save(os.path.join(save_path, 'surf.npy'), surf) - np.save(os.path.join(save_path, 'edge_index.npy'), edge_index) - surf = paddle.to_tensor(data=surf) - pos = paddle.to_tensor(data=pos) - x = paddle.to_tensor(data=init) - y = paddle.to_tensor(data=target) - edge_index = paddle.to_tensor(data=edge_index) - if norm and coef_norm is None: - if k == 0: - old_length = tuple(init.shape)[0] - mean_in = init.mean(axis=0) - mean_out = target.mean(axis=0) - else: - new_length = old_length + tuple(init.shape)[0] - mean_in += (init.sum(axis=0) - tuple(init.shape)[0] * mean_in - ) / new_length - mean_out += (target.sum(axis=0) - tuple(init.shape)[0] * - mean_out) / new_length - old_length = new_length - data = Data(pos=pos, x=x, y=y, surf=surf.astype(dtype='bool'), - edge_index=edge_index) - dataset.append(data) - if norm and coef_norm is None: - for k, data in enumerate(dataset): - if k == 0: - old_length = tuple(data.x.numpy().shape)[0] - std_in = ((data.x.numpy() - mean_in) ** 2).sum(axis=0 - ) / old_length - std_out = ((data.y.numpy() - mean_out) ** 2).sum(axis=0 - ) / old_length - else: - new_length = old_length + tuple(data.x.numpy().shape)[0] - std_in += (((data.x.numpy() - mean_in) ** 2).sum(axis=0) - - tuple(data.x.numpy().shape)[0] * std_in) / new_length - std_out += (((data.y.numpy() - mean_out) ** 2).sum(axis=0) - - tuple(data.x.numpy().shape)[0] * std_out) / new_length - old_length = new_length - std_in = np.sqrt(std_in) - std_out = np.sqrt(std_out) - for data in dataset: - data.x = ((data.x - mean_in) / (std_in + 1e-08)).astype(dtype= - 'float32') - data.y = ((data.y - mean_out) / (std_out + 1e-08)).astype(dtype - ='float32') - coef_norm = mean_in, std_in, mean_out, std_out - dataset = dataset, coef_norm - elif coef_norm is not None: - for data in dataset: - data.x = ((data.x - coef_norm[0]) / (coef_norm[1] + 1e-08)).astype( - dtype='float32') - data.y = ((data.y - coef_norm[2]) / (coef_norm[3] + 1e-08)).astype( - dtype='float32') - return dataset - - -def get_edges(unstructured_grid_data, points, cell_size=4): - edge_indeces = set() - cells = vtk_to_numpy(unstructured_grid_data.GetCells().GetData()).reshape( - -1, cell_size + 1) - for i in range(len(cells)): - for j, k in itertools.product(range(1, cell_size + 1), repeat=2): - edge_indeces.add((cells[i][j], cells[i][k])) - edge_indeces.add((cells[i][k], cells[i][j])) - edges = [[], []] - for u, v in edge_indeces: - edges[0].append(tuple(points[u])) - edges[1].append(tuple(points[v])) - return edges - - -def get_edge_index(pos, edges_press, edges_velo): - indices = {tuple(pos[i]): i for i in range(len(pos))} - edges = set() - for i in range(len(edges_press[0])): - edges.add((indices[edges_press[0][i]], indices[edges_press[1][i]])) - for i in range(len(edges_velo[0])): - edges.add((indices[edges_velo[0][i]], indices[edges_velo[1][i]])) - edge_index = np.array(list(edges)).T - return edge_index - - -# def get_induced_graph(data, idx, num_hops): -# subset, sub_edge_index, _, _ = k_hop_subgraph(node_idx=idx, num_hops= -# num_hops, edge_index=data.edge_index, relabel_nodes=True) -# return Data(x=data.x[subset], y=data.y[idx], edge_index=sub_edge_index) - -def get_induced_graph(data, idx, num_hops): - # 初始化节点集合和边集合 - subset = set([idx]) - current_layer_nodes = set([idx]) - - for _ in range(num_hops): - neighbors = set() - for node in current_layer_nodes: - neighbors.update(data.edge_index[1][data.edge_index[0] == node].numpy()) - neighbors.update(data.edge_index[0][data.edge_index[1] == node].numpy()) - current_layer_nodes = neighbors - subset # 去重 - subset.update(current_layer_nodes) - - subset = paddle.to_tensor(list(subset), dtype='int64') - - # 提取子图的边 - mask = paddle.to_tensor([(i in subset) and (j in subset) for i, j in zip(data.edge_index[0], data.edge_index[1])], - dtype='bool') - sub_edge_index = data.edge_index[:, mask] - - # 创建子图 - return Data(x=data.x[subset], y=data.y[idx], edge_index=sub_edge_index) - -def pc_normalize(pc): - # 计算点云的中心点 - centroid = paddle.mean(pc, axis=0) - # 将点云平移到原点 - pc = pc - centroid - # 计算点云的最大距离 - m = paddle.max(paddle.sqrt(paddle.sum(pc ** 2, axis=1))) - # 将点云归一化 - pc = pc / m - return pc - - -def get_shape(data, max_n_point=8192, normalize=True, use_height=False): - # data 是一个包含 'surf' 和 'pos' 属性的 Data 对象 - surf_indices = paddle.nonzero(data.surf).squeeze().numpy().tolist() - - # 对采样点数量进行限制 - if len(surf_indices) > max_n_point: - surf_indices = np.array(random.sample(surf_indices, max_n_point)) - - # 获取指定点的坐标 - shape_pc = paddle.gather(data.pos, paddle.to_tensor(surf_indices, dtype='int64')) - - # 如果需要,则对点云数据进行归一化 - if normalize: - shape_pc = pc_normalize(shape_pc) - - # 如果需要,则增加高度维度 - if use_height: - gravity_dim = 1 - height_array = shape_pc[:, gravity_dim:gravity_dim + 1] - paddle.min(shape_pc[:, gravity_dim:gravity_dim + 1]) - shape_pc = paddle.concat((shape_pc, height_array), axis=1) - - return shape_pc - - -def create_edge_index_radius(data, r, max_neighbors=32): - data.edge_index = radius_graph(x=data.pos, r=r, loop=True, max_num_neighbors=max_neighbors) - # print(data) - # print(f'r = {r}, #edges = {data.edge_index.size(1)}') - return data - - -class GraphDataset(paddle.io.Dataset): - def __init__(self, datalist, use_height=False, use_cfd_mesh=True, r=None, transform=None): - super().__init__() - self.datalist = datalist - self.transform = transform - self.use_height = use_height - self._indices: Optional[Sequence] = None - if not use_cfd_mesh: - assert r is not None, "Parameter 'r' must be provided when 'use_cfd_mesh' is False." - for i in tqdm(range(len(self.datalist)), desc="Processing neighbors"): - self.datalist[i] = create_edge_index_radius(self.datalist[i], r) - - def __len__(self): - return len(self.datalist) - - def __getitem__(self, idx: Union[int, np.integer, paddle.Tensor, np.ndarray]) -> Tuple['Data', paddle.Tensor]: - """获取数据项或数据子集,支持单个索引或索引切片。""" - if (isinstance(idx, (int, np.integer)) - or (isinstance(idx, paddle.Tensor) and idx.dim() == 0) - or (isinstance(idx, np.ndarray) and np.isscalar(idx))): - data, shape = self.get(self.indices()[idx]) - data = data if self.transform is None else self.transform(data) - return data, shape - - def get(self, idx): - data = self.datalist[idx] - shape = get_shape(data, use_height=self.use_height) - return data, shape - - def indices(self) -> Sequence: - """返回数据集的索引列表。""" - return range(len(self.datalist)) if self._indices is None else self._indices - diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/load_dataset.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/load_dataset.py deleted file mode 100644 index 13869aea74..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/load_dataset.py +++ /dev/null @@ -1,56 +0,0 @@ -import os -from dataset.dataset import get_datalist - - -def get_samples(root): - folds = [f'param{i}' for i in range(9)] - samples = [] - for fold in folds: - fold_samples = [] - files = os.listdir(os.path.join(root, fold)) - for file in files: - path = os.path.join(root, os.path.join(fold, file)) - if os.path.isdir(path): - fold_samples.append(os.path.join(fold, file)) - samples.append(fold_samples) - return samples - - -def load_train_val_fold(args, preprocessed): - samples = get_samples(args.data_dir) - trainlst = [] - for i in range(len(samples)): - if i == args.fold_id: - continue - trainlst += samples[i] - vallst = samples[args.fold_id] if 0 <= args.fold_id < len(samples - ) else None - if preprocessed: - print('use preprocessed data') - print('loading data') - train_dataset, coef_norm = get_datalist(args.data_dir, trainlst, norm= - True, savedir=args.save_dir, preprocessed=preprocessed) - val_dataset = get_datalist(args.data_dir, vallst, coef_norm=coef_norm, - savedir=args.save_dir, preprocessed=preprocessed) - print('load data finish') - return train_dataset, val_dataset, coef_norm - - -def load_train_val_fold_file(args, preprocessed): - samples = get_samples(args.data_dir) - trainlst = [] - for i in range(len(samples)): - if i == args.fold_id: - continue - trainlst += samples[i] - vallst = samples[args.fold_id] if 0 <= args.fold_id < len(samples - ) else None - if preprocessed: - print('use preprocessed data') - print('loading data') - train_dataset, coef_norm = get_datalist(args.data_dir, trainlst, norm= - True, savedir=args.save_dir, preprocessed=preprocessed) - val_dataset = get_datalist(args.data_dir, vallst, coef_norm=coef_norm, - savedir=args.save_dir, preprocessed=preprocessed) - print('load data finish') - return train_dataset, val_dataset, coef_norm, vallst diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/radius.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/radius.py deleted file mode 100644 index 79869f4992..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/dataset/radius.py +++ /dev/null @@ -1,161 +0,0 @@ -# import paddle -# import numpy as np -# from scipy.spatial import cKDTree -# from typing import Optional -# -# def radius( -# x: paddle.Tensor, -# y: paddle.Tensor, -# r: float, -# batch_x: Optional[paddle.Tensor] = None, -# batch_y: Optional[paddle.Tensor] = None, -# max_num_neighbors: int = 32, -# min_num_neighbors: int = 1, -# num_workers: int = 32 # 添加线程数参数,默认 32 -# ) -> paddle.Tensor: -# # 默认在 CPU 上运行,不需要指定设备 -# -# if batch_x is None: -# batch_x = paddle.zeros([x.shape[0]], dtype='int64') -# if batch_y is None: -# batch_y = paddle.zeros([y.shape[0]], dtype='int64') -# -# x = x.reshape([-1, 1]) if x.ndim == 1 else x -# y = y.reshape([-1, 1]) if y.ndim == 1 else y -# -# assert x.ndim == 2 and batch_x.ndim == 1 -# assert y.ndim == 2 and batch_y.ndim == 1 -# assert x.shape[1] == y.shape[1] -# assert x.shape[0] == batch_x.shape[0] -# assert y.shape[0] == batch_y.shape[0] -# -# # 拼接批次维度信息 -# x = paddle.concat([x, (2 * r * batch_x.reshape([-1, 1])).astype(x.dtype)], axis=-1) -# y = paddle.concat([y, (2 * r * batch_y.reshape([-1, 1])).astype(y.dtype)], axis=-1) -# -# # 构建 KD 树并查询,使用多线程 -# tree = cKDTree(x.numpy()) # cKDTree 只支持 CPU 计算 -# distances, col = tree.query( -# y.numpy(), k=max_num_neighbors, distance_upper_bound=r + 1e-8, workers=num_workers -# ) -# -# # 保证最小邻居数 -# valid_indices = [i for i in range(len(col)) if len(col[i]) >= min_num_neighbors] -# col = [col[i] for i in valid_indices] -# distances = [distances[i] for i in valid_indices] -# -# # 将结果转换为张量 -# col = [paddle.to_tensor(c, dtype='int64') for c in col] -# row = [paddle.full_like(c, i, dtype='int64') for i, c in enumerate(col)] -# row, col = paddle.concat(row, axis=0), paddle.concat(col, axis=0) -# mask = col < tree.n -# -# return paddle.stack([row[mask], col[mask]], axis=0) -# -# def radius_graph( -# x: paddle.Tensor, -# r: float, -# batch: Optional[paddle.Tensor] = None, -# loop: bool = False, -# max_num_neighbors: int = 32, -# min_num_neighbors: int = 1, -# flow: str = 'source_to_target', -# num_workers: int = 32 # 添加线程数参数,默认 32 -# ) -> paddle.Tensor: -# if batch is not None: -# batch = batch -# -# assert flow in ['source_to_target', 'target_to_source'] -# row, col = radius(x, x, r, batch, batch, max_num_neighbors + 1, min_num_neighbors, num_workers) -# row, col = (col, row) if flow == 'source_to_target' else (row, col) -# -# if not loop: -# mask = row != col -# row, col = row[mask], col[mask] -# -# return paddle.stack([row, col], axis=0) - -import paddle -import numpy as np -from scipy.spatial import cKDTree -from typing import Optional -from concurrent.futures import ThreadPoolExecutor - - -def radius( - x: paddle.Tensor, - y: paddle.Tensor, - r: float, - batch_x: Optional[paddle.Tensor] = None, - batch_y: Optional[paddle.Tensor] = None, - max_num_neighbors: int = 32, - num_workers: int = 32, - batch_size: Optional[int] = None, -) -> paddle.Tensor: - if x.numel() == 0 or y.numel() == 0: - return paddle.empty([2, 0], dtype='int64', place=x.place) - - x = x.reshape([-1, 1]) if x.ndim == 1 else x - y = y.reshape([-1, 1]) if y.ndim == 1 else y - - if batch_size is None: - batch_size = 1 - if batch_x is not None: - assert x.shape[0] == batch_x.numel() - batch_size = int(batch_x.max()) + 1 - if batch_y is not None: - assert y.shape[0] == batch_y.numel() - batch_size = max(batch_size, int(batch_y.max()) + 1) - assert batch_size > 0 - - x = paddle.concat([x, 2 * r * batch_x.reshape([-1, 1])], axis=-1) if batch_x is not None else x - y = paddle.concat([y, 2 * r * batch_y.reshape([-1, 1])], axis=-1) if batch_y is not None else y - - # 使用 cKDTree 创建 KD 树(只支持 CPU) - tree = cKDTree(x.numpy()) - - # 执行多线程查询 - def query_neighbors(idx): - _, indices = tree.query(y[idx].numpy(), k=max_num_neighbors, distance_upper_bound=r + 1e-8) - row = [idx] * len(indices) - return row, indices - - rows, cols = [], [] - with ThreadPoolExecutor(max_workers=num_workers) as executor: - results = executor.map(query_neighbors, range(y.shape[0])) - for row, col in results: - rows.extend(row) - cols.extend(col) - - row_tensor = paddle.to_tensor(rows, dtype='int64') - col_tensor = paddle.to_tensor(cols, dtype='int64') - mask = col_tensor < tree.n - - return paddle.stack([row_tensor[mask], col_tensor[mask]], axis=0) - - -def radius_graph( - x: paddle.Tensor, - r: float, - batch: Optional[paddle.Tensor] = None, - loop: bool = False, - max_num_neighbors: int = 32, - flow: str = 'source_to_target', - num_workers: int = 32, - batch_size: Optional[int] = None, -) -> paddle.Tensor: - assert flow in ['source_to_target', 'target_to_source'] - edge_index = radius(x, x, r, batch, batch, - max_num_neighbors if loop else max_num_neighbors + 1, - num_workers, batch_size) - - if flow == 'source_to_target': - row, col = edge_index[1], edge_index[0] - else: - row, col = edge_index[0], edge_index[1] - - if not loop: - mask = row != col - row, col = row[mask], col[mask] - - return paddle.stack([row, col], axis=0) diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/car_slice_surf.png b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/car_slice_surf.png deleted file mode 100644 index f43afe9ddaa95464fbdc5b9393f19266c760032a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 840428 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

`Cv3+|F+q(4|Y~7}< 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 z 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%0AO%3pt+)30aA4h%CT|}oZ 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

<>RMQ0U{_O{Vk>_)@#9K+qSJbnSGw+N2~}i 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

Yqo3E9xOUpI@ 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 b@;Ycx6+{myF7YZ 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

jW-oc&%zMdU_gA4c)EnwRx68?;kLnI4Hc7t|2x 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

>q%Gh{0wG|rZ6*z@nu#w8qoMa6AC3*(oeNT< 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 diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/task.png b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/fig/task.png deleted file mode 100644 index 10330d8e8fd9320a8e2ceedf43c45cb24294a5a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292640 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 WrkkjUMISU0n4=m7>LqH{A^!_mTxC4~ diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main.py deleted file mode 100644 index e5a218de40..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main.py +++ /dev/null @@ -1,46 +0,0 @@ -import os -import paddle -import train -import argparse -from dataset.load_dataset import load_train_val_fold -from dataset.dataset import GraphDataset -from models.Transolver import Model - -parser = argparse.ArgumentParser() -parser.add_argument('--data_dir', default= -'data/PDE_data/mlcfd_data/training_data') -parser.add_argument('--save_dir', default= -'data/PDE_data/mlcfd_data/preprocessed_data') -parser.add_argument('--fold_id', default=0, type=int) -parser.add_argument('--gpu', default=3, type=int) -parser.add_argument('--val_iter', default=10, type=int) -parser.add_argument('--cfd_config_dir', default='cfd/cfd_params.yaml') -parser.add_argument('--cfd_model', default='Transolver') -parser.add_argument('--cfd_mesh', action='store_true') -parser.add_argument('--r', default=0.2, type=float) -parser.add_argument('--weight', default=0.5, type=float) -parser.add_argument('--lr', default=0.001, type=float) -parser.add_argument('--batch_size', default=1, type=float) -parser.add_argument('--nb_epochs', default=200, type=float) -parser.add_argument('--preprocessed', default=1, type=int) -args = parser.parse_args() -print(args) -hparams = {'lr': args.lr, 'batch_size': args.batch_size, 'nb_epochs': args. - nb_epochs} -n_gpu = paddle.device.cuda.device_count() -use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 -device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') -print(device) -train_data, val_data, coef_norm = load_train_val_fold(args, preprocessed= -args.preprocessed) -train_ds = GraphDataset(train_data, use_cfd_mesh=args.cfd_mesh, r=args.r) -val_ds = GraphDataset(val_data, use_cfd_mesh=args.cfd_mesh, r=args.r) -if args.cfd_model == 'Transolver': - model = Model(n_hidden=256, n_layers=8, space_dim=7, fun_dim=0, n_head= - 8, mlp_ratio=2, out_dim=4, slice_num=32, unified_pos=0).to(device) -path = ( - f'metrics/{args.cfd_model}/{args.fold_id}/{args.nb_epochs}_{args.weight}') -if not os.path.exists(path): - os.makedirs(path) -model = train.main(device, train_ds, val_ds, model, hparams, path, val_iter -=args.val_iter, reg=args.weight, coef_norm=coef_norm) diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main_evaluation.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main_evaluation.py deleted file mode 100644 index ad4183b741..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/main_evaluation.py +++ /dev/null @@ -1,131 +0,0 @@ -import os -import paddle -import argparse -import yaml -import numpy as np -import time -from paddle.io import DataLoader -from utils.drag_coefficient import cal_coefficient -from dataset.load_dataset import load_train_val_fold_file -from dataset.dataset import GraphDataset -import scipy as sc -from models.Transolver import Model -from train import custom_collate_fn - -parser = argparse.ArgumentParser() -parser.add_argument('--data_dir', default= - 'data/PDE_data/mlcfd_data/training_data') -parser.add_argument('--save_dir', default= - 'data/PDE_data/mlcfd_data/preprocessed_data') -parser.add_argument('--fold_id', default=0, type=int) -parser.add_argument('--gpu', default=3, type=int) -parser.add_argument('--cfd_model', default='Transolver', type=str) -parser.add_argument('--cfd_mesh', action='store_true') -parser.add_argument('--r', default=0.2, type=float) -parser.add_argument('--weight', default=0.5, type=float) -parser.add_argument('--nb_epochs', default=200, type=float) -args = parser.parse_args() -print(args) -n_gpu = paddle.device.cuda.device_count() -use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 -device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') -train_data, val_data, coef_norm, vallst = load_train_val_fold_file(args, - preprocessed=True) -val_ds = GraphDataset(val_data, use_cfd_mesh=args.cfd_mesh, r=args.r) -path = ( - f'metrics/{args.cfd_model}/{args.fold_id}/{args.nb_epochs}_{args.weight}') - -# 检查模型类型并实例化 -if args.cfd_model == 'Transolver': - model = Model( - n_hidden=256, - n_layers=8, - space_dim=7, - fun_dim=0, - n_head=8, - mlp_ratio=2, - out_dim=4, - slice_num=32, - unified_pos=0 - ).to(device) - - # 加载已保存的模型权重 - model_path = os.path.join(path, f"model_{args.nb_epochs}.pdparams") - model.set_state_dict(paddle.load(model_path)) - - -test_loader = DataLoader(val_ds, batch_size=1, collate_fn=custom_collate_fn) -if not os.path.exists('./results/' + args.cfd_model + '/'): - os.makedirs('./results/' + args.cfd_model + '/') -with paddle.no_grad(): - model.eval() - criterion_func = paddle.nn.MSELoss(reduction='none') - l2errs_press = [] - l2errs_velo = [] - mses_press = [] - mses_velo_var = [] - times = [] - gt_coef_list = [] - pred_coef_list = [] - coef_error = 0 - index = 0 - for cfd_data, geom in test_loader: - print(vallst[index]) - cfd_data = cfd_data.to(device) - geom = geom.to(device) - tic = time.time() - out = model((cfd_data, geom)) - toc = time.time() - targets = cfd_data.y - if coef_norm is not None: - mean = paddle.to_tensor(data=coef_norm[2]).to(device) - std = paddle.to_tensor(data=coef_norm[3]).to(device) - pred_press = out[cfd_data.surf, -1] * std[-1] + mean[-1] - gt_press = targets[cfd_data.surf, -1] * std[-1] + mean[-1] - pred_velo = out[~cfd_data.surf, :-1] * std[:-1] + mean[:-1] - gt_velo = targets[~cfd_data.surf, :-1] * std[:-1] + mean[:-1] - out_denorm = out * std + mean - y_denorm = targets * std + mean - np.save('./results/' + args.cfd_model + '/' + str(index) + - '_pred.npy', out_denorm.detach().cpu().numpy()) - np.save('./results/' + args.cfd_model + '/' + str(index) + - '_gt.npy', y_denorm.detach().cpu().numpy()) - pred_coef = cal_coefficient(vallst[index].split('/')[1], pred_press - [:, None].detach().cpu().numpy(), pred_velo.detach().cpu().numpy()) - gt_coef = cal_coefficient(vallst[index].split('/')[1], gt_press[:, - None].detach().cpu().numpy(), gt_velo.detach().cpu().numpy()) - gt_coef_list.append(gt_coef) - pred_coef_list.append(pred_coef) - coef_error += abs(pred_coef - gt_coef) / gt_coef - print(coef_error / (index + 1)) - l2err_press = paddle.linalg.norm(x=pred_press - gt_press - ) / paddle.linalg.norm(x=gt_press) - l2err_velo = paddle.linalg.norm(x=pred_velo - gt_velo - ) / paddle.linalg.norm(x=gt_velo) - mse_press = criterion_func(out[cfd_data.surf, -1], targets[cfd_data - .surf, -1]).mean(axis=0) - mse_velo_var = criterion_func(out[~cfd_data.surf, :-1], targets[~ - cfd_data.surf, :-1]).mean(axis=0) - l2errs_press.append(l2err_press.cpu().numpy()) - l2errs_velo.append(l2err_velo.cpu().numpy()) - mses_press.append(mse_press.cpu().numpy()) - mses_velo_var.append(mse_velo_var.cpu().numpy()) - times.append(toc - tic) - index += 1 - gt_coef_list = np.array(gt_coef_list) - pred_coef_list = np.array(pred_coef_list) - spear = sc.stats.spearmanr(gt_coef_list, pred_coef_list)[0] - print('rho_d: ', spear) - print('c_d: ', coef_error / index) - l2err_press = np.mean(l2errs_press) - l2err_velo = np.mean(l2errs_velo) - rmse_press = np.sqrt(np.mean(mses_press)) - rmse_velo_var = np.sqrt(np.mean(mses_velo_var, axis=0)) - if coef_norm is not None: - rmse_press *= coef_norm[3][-1] - rmse_velo_var *= coef_norm[3][:-1] - print('relative l2 error press:', l2err_press) - print('relative l2 error velo:', l2err_velo) - print('press:', rmse_press) - print('velo:', rmse_velo_var, np.sqrt(np.mean(np.square(rmse_velo_var)))) - print('time:', np.mean(times)) diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/models/Transolver.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/models/Transolver.py deleted file mode 100644 index 9f693cbcdc..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/models/Transolver.py +++ /dev/null @@ -1,211 +0,0 @@ -import sys -# sys.path.append('../../utils') -from utils import paddle_aux -import paddle -import numpy as np -from paddle.nn.initializer import TruncatedNormal, Constant -from einops import rearrange, repeat -ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': - paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. - LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': - paddle.nn.ELU, 'silu': paddle.nn.Silu} - - -class Physics_Attention_Irregular_Mesh(paddle.nn.Layer): - - def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64): - super().__init__() - inner_dim = dim_head * heads - self.dim_head = dim_head - self.heads = heads - self.scale = dim_head ** -0.5 - self.softmax = paddle.nn.Softmax(axis=-1) - self.dropout = paddle.nn.Dropout(p=dropout) - self.temperature = paddle.base.framework.EagerParamBase.from_tensor( - tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) - self.in_project_x = paddle.nn.Linear(in_features=dim, out_features= - inner_dim) - self.in_project_fx = paddle.nn.Linear(in_features=dim, out_features - =inner_dim) - self.in_project_slice = paddle.nn.Linear(in_features=dim_head, - out_features=slice_num) - for l in [self.in_project_slice]: - init_Orthogonal = paddle.nn.initializer.Orthogonal() - init_Orthogonal(l.weight) - self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= - inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) - - def forward(self, x): - B, N, C = tuple(x.shape) - fx_mid = self.in_project_fx(x).reshape(B, N, self.heads, self.dim_head - ).transpose(perm=[0, 2, 1, 3]).contiguous() - x_mid = self.in_project_x(x).reshape(B, N, self.heads, self.dim_head - ).transpose(perm=[0, 2, 1, 3]).contiguous() - slice_weights = self.softmax(self.in_project_slice(x_mid) / self. - temperature) - slice_norm = slice_weights.sum(axis=2) - slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) - slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( - repeat_times=[1, 1, 1, self.dim_head]) - q_slice_token = self.to_q(slice_token) - k_slice_token = self.to_k(slice_token) - v_slice_token = self.to_v(slice_token) - dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( - perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) - ) * self.scale - attn = self.softmax(dots) - attn = self.dropout(attn) - out_slice_token = paddle.matmul(x=attn, y=v_slice_token) - out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights - ) - out_x = rearrange(out_x, 'b h n d -> b n (h d)') - return self.to_out(out_x) - - -class MLP(paddle.nn.Layer): - - def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', - res=True): - super(MLP, self).__init__() - if act in ACTIVATION.keys(): - act = ACTIVATION[act] - else: - raise NotImplementedError - self.n_input = n_input - self.n_hidden = n_hidden - self.n_output = n_output - self.n_layers = n_layers - self.res = res - self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features - =n_input, out_features=n_hidden), act()) - self.linear_post = paddle.nn.Linear(in_features=n_hidden, - out_features=n_output) - self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), - act()) for _ in range(n_layers)]) - - def forward(self, x): - x = self.linear_pre(x) - for i in range(self.n_layers): - if self.res: - x = self.linears[i](x) + x - else: - x = self.linears[i](x) - x = self.linear_post(x) - return x - - -class Transolver_block(paddle.nn.Layer): - """Transformer encoder block.""" - - def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act - ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32): - super().__init__() - self.last_layer = last_layer - self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.Attn = Physics_Attention_Irregular_Mesh(hidden_dim, heads= - num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, - slice_num=slice_num) - self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, - n_layers=0, res=False, act=act) - if self.last_layer: - self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, - out_features=out_dim) - - def forward(self, fx): - fx = self.Attn(self.ln_1(fx)) + fx - fx = self.mlp(self.ln_2(fx)) + fx - if self.last_layer: - return self.mlp2(self.ln_3(fx)) - else: - return fx - - -class Model(paddle.nn.Layer): - - def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0, - n_head=8, act='gelu', mlp_ratio=1, fun_dim=1, out_dim=1, slice_num= - 32, ref=8, unified_pos=False): - super(Model, self).__init__() - self.__name__ = 'UniPDE_3D' - self.ref = ref - self.unified_pos = unified_pos - if self.unified_pos: - self.preprocess = MLP(fun_dim + self.ref * self.ref * self.ref, - n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) - else: - self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, - n_hidden, n_layers=0, res=False, act=act) - self.n_hidden = n_hidden - self.space_dim = space_dim - self.blocks = paddle.nn.LayerList(sublayers=[Transolver_block( - num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, - mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, - last_layer=_ == n_layers - 1) for _ in range(n_layers)]) - self.initialize_weights() - self.placeholder = paddle.base.framework.EagerParamBase.from_tensor( - tensor = 1 / n_hidden * paddle.rand(shape=[n_hidden], dtype='float32')) - - def initialize_weights(self): - self.apply(self._init_weights) - - - def _init_weights(self, m): - if isinstance(m, paddle.nn.Linear): - trunc_normal = TruncatedNormal(mean=0.0, std=0.02) - trunc_normal(m.weight) - if m.bias is not None: - constant = Constant(value=0.0) - constant(m.bias) - elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): - constant = Constant(value=0.0) - constant(m.bias) - constant = Constant(value=1.0) - constant(m.weight) - - - def get_grid(self, my_pos): - batchsize = tuple(my_pos.shape)[0] - gridx = paddle.to_tensor(data=np.linspace(-1.5, 1.5, self.ref), - dtype='float32') - gridx = gridx.reshape(1, self.ref, 1, 1, 1).tile(repeat_times=[ - batchsize, 1, self.ref, self.ref, 1]) - gridy = paddle.to_tensor(data=np.linspace(0, 2, self.ref), dtype= - 'float32') - gridy = gridy.reshape(1, 1, self.ref, 1, 1).tile(repeat_times=[ - batchsize, self.ref, 1, self.ref, 1]) - gridz = paddle.to_tensor(data=np.linspace(-4, 4, self.ref), dtype= - 'float32') - gridz = gridz.reshape(1, 1, 1, self.ref, 1).tile(repeat_times=[ - batchsize, self.ref, self.ref, 1, 1]) - grid_ref = paddle.concat(x=(gridx, gridy, gridz), axis=-1).cuda( - blocking=True).reshape(batchsize, self.ref ** 3, 3) - pos = paddle.sqrt(x=paddle.sum(x=(my_pos[:, :, None, :] - grid_ref[ - :, None, :, :]) ** 2, axis=-1)).reshape(batchsize, tuple(my_pos - .shape)[1], self.ref * self.ref * self.ref).contiguous() - return pos - - def forward(self, data): - cfd_data, geom_data = data - x, fx, T = cfd_data.x, None, None - x = x[None, :, :] - if self.unified_pos: - new_pos = self.get_grid(cfd_data.pos[None, :, :]) - x = paddle.concat(x=(x, new_pos), axis=-1) - if fx is not None: - fx = paddle.concat(x=(x, fx), axis=-1) - fx = self.preprocess(fx) - else: - fx = self.preprocess(x) - fx = fx + self.placeholder[None, None, :] - for block in self.blocks: - fx = block(fx) - return fx[0] diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Evaluation.sh b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Evaluation.sh deleted file mode 100644 index e7620b6255..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Evaluation.sh +++ /dev/null @@ -1,6 +0,0 @@ -export CUDA_VISIBLE_DEVICES=3 - -python main_evaluation.py \ ---cfd_model=Transolver \ ---data_dir data/PDE_data/mlcfd_data/training_data \ ---save_dir data/PDE_data/mlcfd_data/preprocessed_data \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Transolver.sh b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Transolver.sh deleted file mode 100644 index 33a4e83af0..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/scripts/Transolver.sh +++ /dev/null @@ -1,8 +0,0 @@ -export CUDA_VISIBLE_DEVICES=3 - -python main.py \ ---cfd_model=Transolver \ ---gpu 3 \ ---preprocessed 1 \ ---data_dir data/PDE_data/mlcfd_data/training_data \ ---save_dir data/PDE_data/mlcfd_data/preprocessed_data \ diff --git a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/train.py b/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/train.py deleted file mode 100644 index 058977bc0a..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Car-Design-ShapeNetCar/train.py +++ /dev/null @@ -1,146 +0,0 @@ -import os -import paddle -import numpy as np -import time, json -from paddle.io import DataLoader -from tqdm import tqdm -from typing import List, Tuple -from dataset.dataset import Data - - -def custom_collate_fn(batch: Tuple['Data', paddle.Tensor]): - """自定义collate_fn,用于处理单个Data类型的数据项,直接返回单个数据和shape。""" - data, shape = batch[0] - - # 提取 cfd_data 的各属性 - pos = data.pos - x = data.x - y = data.y - surf = data.surf - edge_index = data.edge_index - - # 创建新的 Data 对象 - single_data = Data(pos=pos, x=x, y=y, surf=surf, edge_index=edge_index) - - # 直接返回单个 Data 和 shape - return single_data, shape - - - -def get_nb_trainable_params(model): - """ - Return the number of trainable parameters - """ - model_parameters = filter(lambda p: not p.stop_gradient, model.parameters() - ) - return sum([np.prod(tuple(p.shape)) for p in model_parameters]) - - -def train(device, model, train_loader, optimizer, scheduler, reg=1): - model.train() - criterion_func = paddle.nn.MSELoss(reduction='none') - losses_press = [] - losses_velo = [] - for cfd_data, geom in train_loader: - cfd_data = cfd_data.to(device) - geom = geom.to(device) - optimizer.clear_gradients(set_to_zero=False) - out = model((cfd_data, geom)) - targets = cfd_data.y - loss_press = criterion_func(out[cfd_data.surf, -1], targets[ - cfd_data.surf, -1]).mean(axis=0) - loss_velo_var = criterion_func(out[:, :-1], targets[:, :-1]).mean(axis - =0) - loss_velo = loss_velo_var.mean() - total_loss = loss_velo + reg * loss_press - total_loss.backward() - optimizer.step() - scheduler.step() - losses_press.append(loss_press.item()) - losses_velo.append(loss_velo.item()) - return np.mean(losses_press), np.mean(losses_velo) - - -@paddle.no_grad() -def test(device, model, test_loader): - model.eval() - criterion_func = paddle.nn.MSELoss(reduction='none') - losses_press = [] - losses_velo = [] - for cfd_data, geom in test_loader: - cfd_data = cfd_data.to(device) - geom = geom.to(device) - out = model((cfd_data, geom)) - targets = cfd_data.y - loss_press = criterion_func(out[cfd_data.surf, -1], targets[ - cfd_data.surf, -1]).mean(axis=0) - loss_velo_var = criterion_func(out[:, :-1], targets[:, :-1]).mean(axis - =0) - loss_velo = loss_velo_var.mean() - losses_press.append(loss_press.item()) - losses_velo.append(loss_velo.item()) - return np.mean(losses_press), np.mean(losses_velo) - - -class NumpyEncoder(json.JSONEncoder): - - def default(self, obj): - if isinstance(obj, np.ndarray): - return obj.tolist() - return json.JSONEncoder.default(self, obj) - - -def main(device, train_dataset, val_dataset, Net, hparams, path, reg=1, - val_iter=1, coef_norm=[]): - model = Net.to(device) - optimizer = paddle.optimizer.Adam(parameters=model.parameters(), - learning_rate=hparams['lr'], weight_decay=0.0) - tmp_lr = paddle.optimizer.lr.CosineAnnealingDecay(T_max=(len( - train_dataset) // hparams['batch_size'] + 1) * hparams['nb_epochs'], - eta_min=hparams['lr'] / 1000, learning_rate=optimizer.get_lr()) - optimizer.set_lr_scheduler(tmp_lr) - lr_scheduler = tmp_lr - start = time.time() - train_loss, val_loss = 100000.0, 100000.0 - pbar_train = tqdm(range(hparams['nb_epochs']), position=0) - for epoch in pbar_train: - train_loader = DataLoader(train_dataset, batch_size=hparams[ - 'batch_size'], shuffle=True, drop_last=True, collate_fn=custom_collate_fn) - loss_velo, loss_press = train(device, model, train_loader, - optimizer, lr_scheduler, reg=reg) - train_loss = loss_velo + reg * loss_press - del train_loader - if val_iter is not None and (epoch == hparams['nb_epochs'] - 1 or - epoch % val_iter == 0): - val_loader = DataLoader(val_dataset, batch_size=1, collate_fn=custom_collate_fn) - loss_velo, loss_press = test(device, model, val_loader) - val_loss = loss_velo + reg * loss_press - del val_loader - pbar_train.set_postfix(train_loss=train_loss, val_loss=val_loss) - else: - pbar_train.set_postfix(train_loss=train_loss) - end = time.time() - time_elapsed = end - start - params_model = float(get_nb_trainable_params(model)) # 确保 params_model 是浮点数 - print('Number of parameters:', params_model) - print('Time elapsed: {0:.2f} seconds'.format(time_elapsed)) - - # 保存模型权重 - model_path = os.path.join(path, f"model_{hparams['nb_epochs']}.pdparams") - paddle.save(model.state_dict(), model_path) - - # 记录日志 - if val_iter is not None: - log_path = os.path.join(path, f"log_{hparams['nb_epochs']}.json") - with open(log_path, 'a') as f: - log_data = { - 'nb_parameters': params_model, - 'time_elapsed': time_elapsed, - 'hparams': hparams, - 'train_loss': train_loss, - 'val_loss': val_loss, - 'coef_norm': list(coef_norm) - } - json.dump(log_data, f, indent=4, cls=NumpyEncoder) - - return model diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/README.md b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/README.md deleted file mode 100644 index 544abb579a..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/README.md +++ /dev/null @@ -1,98 +0,0 @@ -# Transolver for PDE Solving - -We evaluate [Transolver](https://arxiv.org/abs/2402.02366) with six widely used PDE-solving benchmarks, which is provided by [FNO and GeoFNO](https://github.com/neuraloperator/neuraloperator). - -**Transolver achieves 22% averaged relative promotion over the previous second-best model, presenting favorable efficiency and scalibility.** - -

- -

-Table 1. Comparison in six standard benchmarks. Relative L2 is recorded. -

- - -## Get Started - -1. Install Python 3.8. For convenience, execute the following command. - -```bash -pip install -r requirements.txt -``` - -2. Prepare Data. You can obtain experimental datasets from the following links. - - -| Dataset | Task | Geometry | Link | -| ------------- | --------------------------------------- | --------------- | ------------------------------------------------------------ | -| Elasticity | Estimate material inner stress | Point Cloud | [[Google Cloud]](https://drive.google.com/drive/folders/1YBuaoTdOSr_qzaow-G-iwvbUI7fiUzu8) | -| Plasticity | Estimate material deformation over time | Structured Mesh | [[Google Cloud]](https://drive.google.com/drive/folders/1YBuaoTdOSr_qzaow-G-iwvbUI7fiUzu8) | -| Navier-Stokes | Predict future fluid velocity | Regular Grid | [[Google Cloud]](https://drive.google.com/drive/folders/1UnbQh2WWc6knEHbLn-ZaXrKUZhp7pjt-) | -| Darcy | Estimate fluid pressure through medium | Regular Grid | [[Google Cloud]](https://drive.google.com/drive/folders/1UnbQh2WWc6knEHbLn-ZaXrKUZhp7pjt-) | -| AirFoil | Estimate airflow velocity around airfoil | Structured Mesh | [[Google Cloud]](https://drive.google.com/drive/folders/1YBuaoTdOSr_qzaow-G-iwvbUI7fiUzu8) | -| Pipe | Estimate fluid velocity in a pipe | Structured Mesh | [[Google Cloud]](https://drive.google.com/drive/folders/1YBuaoTdOSr_qzaow-G-iwvbUI7fiUzu8) | - -3. Train and evaluate model. We provide the experiment scripts of all benchmarks under the folder `./scripts/`. You can reproduce the experiment results as the following examples: - -```bash -bash scripts/Transolver_Elas.sh # for Elasticity -bash scripts/Transolver_Plas.sh # for Plasticity -bash scripts/Transolver_NS.sh # for Navier-Stokes -bash scripts/Transolver_Darcy.sh # for Darcy -bash scripts/Transolver_Airfoil.sh # for Airfoil -bash scripts/Transolver_Pipe.sh # for Pipe -``` - - Note: You need to change the argument `--data_path` to your dataset path. - -4. Develop your own model. Here are the instructions: - - - Add the model file under folder `./models/`. - - Add the model name into `./model_dict.py`. - - Add a script file under folder `./scripts/` and change the argument `--model`. - -## Visualization - -Transolver can handle PDEs under various geometrics well, such as predicting the future fluid and estimating the [[shock wave]](https://en.wikipedia.org/wiki/Shock_wave) around airfoil. - -

- -

-Figure 1. Case study of different models. -

- -## PDE Solving at Scale - -To align with previous model, we only experiment with 8-layer Transolver in the main text. Actually, you can easily obtain a better performance by **scaling up Transolver**. The relative L2 generally decreases when we adding more layers. - -

- -

-Figure 2. Scaling up Transolver: relative L2 curve w.r.t. model layers. -

- -## Citation - -If you find this repo useful, please cite our paper. - -``` -@inproceedings{wu2024Transolver, - title={Transolver: A Fast Transformer Solver for PDEs on General Geometries}, - author={Haixu Wu and Huakun Luo and Haowen Wang and Jianmin Wang and Mingsheng Long}, - booktitle={International Conference on Machine Learning}, - year={2024} -} -``` - -## Contact - -If you have any questions or want to use the code, please contact [wuhx23@mails.tsinghua.edu.cn](mailto:wuhx23@mails.tsinghua.edu.cn). - -## Acknowledgement - -We appreciate the following github repos a lot for their valuable code base or datasets: - -https://github.com/neuraloperator/neuraloperator - -https://github.com/neuraloperator/Geo-FNO - -https://github.com/thuml/Latent-Spectral-Models diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py deleted file mode 100644 index be16e76cba..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py +++ /dev/null @@ -1,210 +0,0 @@ -import sys -# sys.path.append('../../utils') -from utils import paddle_aux -import os -import paddle -import argparse -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -import numpy as np -from tqdm import * -from utils.testloss import TestLoss -from model_dict import get_model -parser = argparse.ArgumentParser('Training Transformer') -parser.add_argument('--lr', type=float, default=0.001) -parser.add_argument('--epochs', type=int, default=500) -parser.add_argument('--weight_decay', type=float, default=1e-05) -parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') -parser.add_argument('--n-hidden', type=int, default=128, help='hidden dim') -parser.add_argument('--n-layers', type=int, default=8, help='layers') -parser.add_argument('--n-heads', type=int, default=8) -parser.add_argument('--batch-size', type=int, default=4) -parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') -parser.add_argument('--max_grad_norm', type=float, default=0.1) -parser.add_argument('--downsamplex', type=int, default=1) -parser.add_argument('--downsampley', type=int, default=1) -parser.add_argument('--mlp_ratio', type=int, default=1) -parser.add_argument('--dropout', type=float, default=0.0) -parser.add_argument('--unified_pos', type=int, default=0) -parser.add_argument('--ref', type=int, default=8) -parser.add_argument('--slice_num', type=int, default=64) -parser.add_argument('--eval', type=int, default=1) -parser.add_argument('--save_name', type=str, default='airfoil_Transolver') -parser.add_argument('--data_path', type=str, default='data/fno/airfoil/naca') -args = parser.parse_args() -eval = args.eval -save_name = args.save_name -n_gpu = paddle.device.cuda.device_count() -use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 -device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') - - -def count_parameters(model): - total_params = 0 - for name, parameter in model.named_parameters(): - if not not parameter.stop_gradient: - continue - params = parameter.size - total_params += params - print(f'Total Trainable Params: {total_params}') - return total_params - - -def main(): - INPUT_X = args.data_path + '/NACA_Cylinder_X.npy' - INPUT_Y = args.data_path + '/NACA_Cylinder_Y.npy' - OUTPUT_Sigma = args.data_path + '/NACA_Cylinder_Q.npy' - ntrain = 1000 - ntest = 200 - r1 = args.downsamplex - r2 = args.downsampley - s1 = int((221 - 1) / r1 + 1) - s2 = int((51 - 1) / r2 + 1) - inputX = np.load(INPUT_X) - inputX = paddle.to_tensor(data=inputX, dtype='float32') - inputY = np.load(INPUT_Y) - inputY = paddle.to_tensor(data=inputY, dtype='float32') - input = paddle.stack(x=[inputX, inputY], axis=-1) - output = np.load(OUTPUT_Sigma)[:, 4] - output = paddle.to_tensor(data=output, dtype='float32') - print(tuple(input.shape), tuple(output.shape)) - x_train = input[:ntrain, ::r1, ::r2][:, :s1, :s2] - y_train = output[:ntrain, ::r1, ::r2][:, :s1, :s2] - x_test = input[ntrain:ntrain + ntest, ::r1, ::r2][:, :s1, :s2] - y_test = output[ntrain:ntrain + ntest, ::r1, ::r2][:, :s1, :s2] - x_train = x_train.reshape(ntrain, -1, 2) - x_test = x_test.reshape(ntest, -1, 2) - y_train = y_train.reshape(ntrain, -1) - y_test = y_test.reshape(ntest, -1) - train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - x_train, x_train, y_train]), batch_size=args.batch_size, shuffle=True) - test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - x_test, x_test, y_test]), batch_size=args.batch_size, shuffle=False) - print('Dataloading is over.') - model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, - n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, - Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=0, out_dim=1, - slice_num=args.slice_num, ref=args.ref, unified_pos=args. - unified_pos, H=s1, W=s2).to(device) - optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), - learning_rate=args.lr, weight_decay=args.weight_decay) - print(args) - print(model) - count_parameters(model) - tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * - args.epochs, max_learning_rate=args.lr) - optimizer.set_lr_scheduler(tmp_lr) - scheduler = tmp_lr - myloss = TestLoss(size_average=False) - if eval: - model.set_state_dict(state_dict=paddle.load(path=str( - './checkpoints/' + save_name + '.pt'))) - model.eval() - if not os.path.exists('./results/' + save_name + '/'): - os.makedirs('./results/' + save_name + '/') - rel_err = 0.0 - showcase = 10 - id = 0 - with paddle.no_grad(): - for pos, fx, y in test_loader: - id += 1 - x, fx, y = pos.to(device), fx.to(device), y.to(device) - out = model(x, None).squeeze(axis=-1) - tl = myloss(out, y).item() - rel_err += tl - if id < showcase: - print(id) - plt.axis('off') - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] - .detach().cpu().numpy(), x[0, :, 1].reshape(221, 51 - )[40:180, :35].detach().cpu().numpy(), np.zeros([ - 140, 35]), shading='auto', edgecolors='black', - linewidths=0.1) - plt.colorbar() - plt.savefig(os.path.join('./results/' + save_name + '/', - 'input_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] - .detach().cpu().numpy(), x[0, :, 1].reshape(221, 51 - )[40:180, :35].detach().cpu().numpy(), out[0, :]. - reshape(221, 51)[40:180, :35].detach().cpu().numpy( - ), shading='auto', cmap='coolwarm') - plt.colorbar() - plt.clim(0, 1.2) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'pred_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] - .detach().cpu().numpy(), x[0, :, 1].reshape(221, 51 - )[40:180, :35].detach().cpu().numpy(), y[0, :]. - reshape(221, 51)[40:180, :35].detach().cpu().numpy( - ), shading='auto', cmap='coolwarm') - plt.colorbar() - plt.clim(0, 1.2) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'gt_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] - .detach().cpu().numpy(), x[0, :, 1].reshape(221, 51 - )[40:180, :35].detach().cpu().numpy(), out[0, :]. - reshape(221, 51)[40:180, :35].detach().cpu().numpy( - ) - y[0, :].reshape(221, 51)[40:180, :35].detach(). - cpu().numpy(), shading='auto', cmap='coolwarm') - plt.colorbar() - plt.clim(-0.2, 0.2) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'error_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - rel_err /= ntest - print('rel_err:{}'.format(rel_err)) - else: - for ep in range(args.epochs): - model.train() - train_loss = 0 - for pos, fx, y in train_loader: - x, fx, y = pos.to(device), fx.to(device), y.to(device) - optimizer.clear_gradients(set_to_zero=False) - out = model(x, None).squeeze(axis=-1) - loss = myloss(out, y) - loss.backward() - if args.max_grad_norm is not None: - paddle.nn.utils.clip_grad_norm_(parameters=model. - parameters(), max_norm=args.max_grad_norm) - optimizer.step() - train_loss += loss.item() - scheduler.step() - train_loss = train_loss / ntrain - print('Epoch {} Train loss : {:.5f}'.format(ep, train_loss)) - model.eval() - rel_err = 0.0 - with paddle.no_grad(): - for pos, fx, y in test_loader: - x, fx, y = pos.to(device), fx.to(device), y.to(device) - out = model(x, None).squeeze(axis=-1) - tl = myloss(out, y).item() - rel_err += tl - rel_err /= ntest - print('rel_err:{}'.format(rel_err)) - if ep % 100 == 0: - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - - -if __name__ == '__main__': - main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_darcy.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_darcy.py deleted file mode 100644 index ff104324c5..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_darcy.py +++ /dev/null @@ -1,249 +0,0 @@ -import sys -import os -import paddle -import paddle.nn.functional as F -import argparse -import numpy as np -import scipy.io as scio -from tqdm import * -from utils.testloss import TestLoss -from einops import rearrange -from model_dict import get_model -from utils.normalizer import UnitTransformer -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -parser = argparse.ArgumentParser('Training Transolver') -parser.add_argument('--lr', type=float, default=0.001) -parser.add_argument('--epochs', type=int, default=500) -parser.add_argument('--weight_decay', type=float, default=1e-05) -parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') -parser.add_argument('--n-hidden', type=int, default=128, help='hidden dim') -parser.add_argument('--n-layers', type=int, default=8, help='layers') -parser.add_argument('--n-heads', type=int, default=8) -parser.add_argument('--batch-size', type=int, default=4) -parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') -parser.add_argument('--max_grad_norm', type=float, default=0.1) -parser.add_argument('--downsample', type=int, default=5) -parser.add_argument('--mlp_ratio', type=int, default=1) -parser.add_argument('--dropout', type=float, default=0.0) -parser.add_argument('--ntrain', type=int, default=1000) -parser.add_argument('--unified_pos', type=int, default=1) -parser.add_argument('--ref', type=int, default=8) -parser.add_argument('--slice_num', type=int, default=64) -parser.add_argument('--eval', type=int, default=1) -parser.add_argument('--save_name', type=str, default='darcy_UniPDE') -parser.add_argument('--data_path', type=str, default='data/fno') -args = parser.parse_args() -n_gpu = paddle.device.cuda.device_count() -use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 -device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') -train_path = args.data_path + '/piececonst_r421_N1024_smooth1.mat' -test_path = args.data_path + '/piececonst_r421_N1024_smooth2.mat' -ntrain = args.ntrain -ntest = 200 -epochs = 500 -eval = args.eval -save_name = args.save_name - -paddle.disable_signal_handler() - -def count_parameters(model): - total_params = 0 - for name, parameter in model.named_parameters(): - if not not parameter.stop_gradient: - continue - params = parameter.size - total_params += params - print(f'Total Trainable Params: {total_params}') - return total_params - - -def central_diff(x: paddle.Tensor, h, resolution): - x = rearrange(x, 'b (h w) c -> b h w c', h=resolution, w=resolution) - x = F.pad(x, pad=(1, 1, 1, 1), mode='constant', value=0) - grad_x = (x[:, 1:-1, 2:, :] - x[:, 1:-1, :-2, :]) / (2 * h) - grad_y = (x[:, 2:, 1:-1, :] - x[:, :-2, 1:-1, :]) / (2 * h) - return grad_x, grad_y - - -def main(): - r = args.downsample - h = int((421 - 1) / r + 1) - s = h - dx = 1.0 / s - train_data = scio.loadmat(train_path) - x_train = train_data['coeff'][:ntrain, ::r, ::r][:, :s, :s] - x_train = x_train.reshape(ntrain, -1) - x_train = paddle.to_tensor(data=x_train).astype(dtype='float32') - y_train = train_data['sol'][:ntrain, ::r, ::r][:, :s, :s] - y_train = y_train.reshape(ntrain, -1) - y_train = paddle.to_tensor(data=y_train) - test_data = scio.loadmat(test_path) - x_test = test_data['coeff'][:ntest, ::r, ::r][:, :s, :s] - x_test = x_test.reshape(ntest, -1) - x_test = paddle.to_tensor(data=x_test).astype(dtype='float32') - y_test = test_data['sol'][:ntest, ::r, ::r][:, :s, :s] - y_test = y_test.reshape(ntest, -1) - y_test = paddle.to_tensor(data=y_test) - x_normalizer = UnitTransformer(x_train) - y_normalizer = UnitTransformer(y_train) - x_train = x_normalizer.encode(x_train) - x_test = x_normalizer.encode(x_test) - y_train = y_normalizer.encode(y_train) - x_normalizer.to(device) - y_normalizer.to(device) - x = np.linspace(0, 1, s) - y = np.linspace(0, 1, s) - x, y = np.meshgrid(x, y) - pos = np.c_[x.flatten(), y.flatten()] - pos = paddle.to_tensor(data=pos, dtype='float32').unsqueeze(axis=0) - pos_train = pos.tile(repeat_times=[ntrain, 1, 1]) - pos_test = pos.tile(repeat_times=[ntest, 1, 1]) - print('Dataloading is over.') - train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - pos_train, x_train, y_train]), batch_size=args.batch_size, shuffle=True - ) - test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - pos_test, x_test, y_test]), batch_size=args.batch_size, shuffle=False) - model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, - n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, - Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=1, out_dim=1, - slice_num=args.slice_num, ref=args.ref, unified_pos=args. - unified_pos, H=s, W=s).to(device) - optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), - learning_rate=args.lr, weight_decay=args.weight_decay) - print(args) - print(model) - count_parameters(model) - tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * - epochs, max_learning_rate=args.lr) - optimizer.set_lr_scheduler(tmp_lr) - scheduler = tmp_lr - myloss = TestLoss(size_average=False) - de_x = TestLoss(size_average=False) - de_y = TestLoss(size_average=False) - if eval: - print('model evaluation') - print(s, s) - model.set_state_dict(state_dict=paddle.load(path=str( - './checkpoints/' + save_name + '.pt'))) - model.eval() - showcase = 10 - id = 0 - if not os.path.exists('./results/' + save_name + '/'): - os.makedirs('./results/' + save_name + '/') - with paddle.no_grad(): - rel_err = 0.0 - with paddle.no_grad(): - for x, fx, y in test_loader: - id += 1 - x, fx, y = x.to(device), fx.to(device), y.to(device) - out = model(x, fx=fx.unsqueeze(axis=-1)).squeeze(axis=-1) - out = y_normalizer.decode(out) - tl = myloss(out, y).item() - rel_err += tl - if id < showcase: - print(id) - plt.figure() - plt.axis('off') - plt.imshow(out[0, :].reshape(85, 85).detach().cpu() - .numpy(), cmap='coolwarm') - plt.colorbar() - plt.savefig(os.path.join('./results/' + save_name + - '/', 'case_' + str(id) + '_pred.pdf')) - plt.close() - plt.figure() - plt.axis('off') - plt.imshow(y[0, :].reshape(85, 85).detach().cpu(). - numpy(), cmap='coolwarm') - plt.colorbar() - plt.savefig(os.path.join('./results/' + save_name + - '/', 'case_' + str(id) + '_gt.pdf')) - plt.close() - plt.figure() - plt.axis('off') - plt.imshow((y[0, :] - out[0, :]).reshape(85, 85). - detach().cpu().numpy(), cmap='coolwarm') - plt.colorbar() - plt.clim(-0.0005, 0.0005) - plt.savefig(os.path.join('./results/' + save_name + - '/', 'case_' + str(id) + '_error.pdf')) - plt.close() - plt.figure() - plt.axis('off') - plt.imshow(fx[0, :].unsqueeze(axis=-1).reshape(85, - 85).detach().cpu().numpy(), cmap='coolwarm') - plt.colorbar() - plt.savefig(os.path.join('./results/' + save_name + - '/', 'case_' + str(id) + '_input.pdf')) - plt.close() - rel_err /= ntest - print('rel_err:{}'.format(rel_err)) - else: - for ep in range(args.epochs): - model.train() - train_loss = 0 - reg = 0 - for x, fx, y in train_loader: - x, fx, y = x.to(device), fx.to(device), y.to(device) - optimizer.clear_gradients(set_to_zero=False) - out = model(x, fx=fx.unsqueeze(axis=-1)).squeeze(axis=-1) - out = y_normalizer.decode(out) - y = y_normalizer.decode(y) - l2loss = myloss(out, y) - out = rearrange(out.unsqueeze(axis=-1), - 'b (h w) c -> b c h w', h=s) - out = out[..., 1:-1, 1:-1].contiguous() - out = F.pad(out, pad=(1, 1, 1, 1), mode='constant', value=0) - out = rearrange(out, 'b c h w -> b (h w) c') - gt_grad_x, gt_grad_y = central_diff(y.unsqueeze(axis=-1), dx, s - ) - pred_grad_x, pred_grad_y = central_diff(out, dx, s) - deriv_loss = de_x(pred_grad_x, gt_grad_x) + de_y(pred_grad_y, - gt_grad_y) - loss = 0.1 * deriv_loss + l2loss - loss.backward() - if args.max_grad_norm is not None: - paddle.nn.utils.clip_grad_norm_(parameters=model. - parameters(), max_norm=args.max_grad_norm) - optimizer.step() - train_loss += l2loss.item() - reg += deriv_loss.item() - scheduler.step() - train_loss /= ntrain - reg /= ntrain - print('Epoch {} Reg : {:.5f} Train loss : {:.5f}'.format(ep, - reg, train_loss)) - model.eval() - rel_err = 0.0 - id = 0 - with paddle.no_grad(): - for x, fx, y in test_loader: - id += 1 - if id == 2: - vis = True - else: - vis = False - x, fx, y = x.to(device), fx.to(device), y.to(device) - out = model(x, fx=fx.unsqueeze(axis=-1)).squeeze(axis=-1) - out = y_normalizer.decode(out) - tl = myloss(out, y).item() - rel_err += tl - rel_err /= ntest - print('rel_err:{}'.format(rel_err)) - if ep % 100 == 0: - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - - -if __name__ == '__main__': - main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_elas.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_elas.py deleted file mode 100644 index 79d17bde90..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_elas.py +++ /dev/null @@ -1,189 +0,0 @@ -import os -import paddle -import argparse -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -import numpy as np -from tqdm import * -from utils.testloss import TestLoss -from model_dict import get_model -from utils.normalizer import UnitTransformer -parser = argparse.ArgumentParser('Training Transformer') -parser.add_argument('--lr', type=float, default=0.001) -parser.add_argument('--epochs', type=int, default=500) -parser.add_argument('--weight_decay', type=float, default=1e-05) -parser.add_argument('--model', type=str, default='Transolver_Irregular_Mesh') -parser.add_argument('--n-hidden', type=int, default=128, help='hidden dim') -parser.add_argument('--n-layers', type=int, default=8, help='layers') -parser.add_argument('--n-heads', type=int, default=8) -parser.add_argument('--batch-size', type=int, default=1) -parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') -parser.add_argument('--max_grad_norm', type=float, default=0.1) -parser.add_argument('--downsample', type=int, default=5) -parser.add_argument('--mlp_ratio', type=int, default=1) -parser.add_argument('--dropout', type=float, default=0.0) -parser.add_argument('--ntrain', type=int, default=1000) -parser.add_argument('--unified_pos', type=int, default=0) -parser.add_argument('--ref', type=int, default=8) -parser.add_argument('--slice_num', type=int, default=64) -parser.add_argument('--eval', type=int, default=1) -parser.add_argument('--save_name', type=str, default='elas_Transolver') -parser.add_argument('--data_path', type=str, default='data/fno') -args = parser.parse_args() -eval = args.eval -save_name = args.save_name - -n_gpu = paddle.device.cuda.device_count() -use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 -device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') - -def count_parameters(model): - total_params = 0 - for name, parameter in model.named_parameters(): - if not not parameter.stop_gradient: - continue - params = parameter.size - total_params += params - print(f'Total Trainable Params: {total_params}') - return total_params - - -def main(): - ntrain = args.ntrain - ntest = 200 - PATH_Sigma = (args.data_path + - '/elasticity/Meshes/Random_UnitCell_sigma_10.npy') - PATH_XY = args.data_path + '/elasticity/Meshes/Random_UnitCell_XY_10.npy' - input_s = np.load(PATH_Sigma) - input_s = paddle.to_tensor(data=input_s, dtype='float32').transpose(perm - =[1, 0]) - input_xy = np.load(PATH_XY) - input_xy = paddle.to_tensor(data=input_xy, dtype='float32').transpose(perm - =[2, 0, 1]) - train_s = input_s[:ntrain] - test_s = input_s[-ntest:] - train_xy = input_xy[:ntrain] - test_xy = input_xy[-ntest:] - print(tuple(input_s.shape), tuple(input_xy.shape)) - y_normalizer = UnitTransformer(train_s) - train_s = y_normalizer.encode(train_s) - y_normalizer.to(device) - train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - train_xy, train_xy, train_s]), batch_size=args.batch_size, shuffle=True - ) - test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - test_xy, test_xy, test_s]), batch_size=args.batch_size, shuffle=False) - print('Dataloading is over.') - model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, - n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, - Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=0, out_dim=1, - slice_num=args.slice_num, ref=args.ref, unified_pos=args.unified_pos - ).to(device) - optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), - learning_rate=args.lr, weight_decay=args.weight_decay) - print(args) - print(model) - count_parameters(model) - tmp_lr = paddle.optimizer.lr.CosineAnnealingDecay(T_max=args.epochs, - learning_rate=optimizer.get_lr()) - optimizer.set_lr_scheduler(tmp_lr) - scheduler = tmp_lr - myloss = TestLoss(size_average=False) - if eval: - model.set_state_dict(state_dict=paddle.load(path=str( - './checkpoints/' + save_name + '.pt'))) - model.eval() - if not os.path.exists('./results/' + save_name + '/'): - os.makedirs('./results/' + save_name + '/') - rel_err = 0.0 - showcase = 10 - id = 0 - with paddle.no_grad(): - for pos, fx, y in test_loader: - id += 1 - x, fx, y = pos.to(device), fx.to(device), y.to(device) - out = model(x, None).squeeze(axis=-1) - out = y_normalizer.decode(out) - tl = myloss(out, y).item() - rel_err += tl - if id < showcase: - print(id) - plt.axis('off') - plt.scatter(x=fx[0, :, 0].detach().cpu().numpy(), y=fx[ - 0, :, 1].detach().cpu().numpy(), c=y[0, :].detach() - .cpu().numpy(), cmap='coolwarm') - plt.colorbar() - plt.clim(0, 1000) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'gt_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.scatter(x=fx[0, :, 0].detach().cpu().numpy(), y=fx[ - 0, :, 1].detach().cpu().numpy(), c=out[0, :].detach - ().cpu().numpy(), cmap='coolwarm') - plt.colorbar() - plt.clim(0, 1000) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'pred_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.scatter(x=fx[0, :, 0].detach().cpu().numpy(), y=fx[ - 0, :, 1].detach().cpu().numpy(), c=(y[0, :] - out[0, - :]).detach().cpu().numpy(), cmap='coolwarm') - plt.clim(-8, 8) - plt.colorbar() - plt.savefig(os.path.join('./results/' + save_name + '/', - 'error_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - rel_err /= ntest - print('rel_err : {}'.format(rel_err)) - else: - for ep in range(args.epochs): - model.train() - train_loss = 0 - for pos, fx, y in train_loader: - x, fx, y = pos.to(device), fx.to(device), y.to(device) - optimizer.clear_gradients(set_to_zero=False) - out = model(x, None).squeeze(axis=-1) - out = y_normalizer.decode(out) - y = y_normalizer.decode(y) - loss = myloss(out, y) - loss.backward() - if args.max_grad_norm is not None: - paddle.nn.utils.clip_grad_norm_(parameters=model. - parameters(), max_norm=args.max_grad_norm) - optimizer.step() - train_loss += loss.item() - scheduler.step() - train_loss = train_loss / ntrain - print('Epoch {} Train loss : {:.5f}'.format(ep, train_loss)) - model.eval() - rel_err = 0.0 - with paddle.no_grad(): - for pos, fx, y in test_loader: - x, fx, y = pos.to(device), fx.to(device), y.to(device) - out = model(x, None).squeeze(axis=-1) - out = y_normalizer.decode(out) - tl = myloss(out, y).item() - rel_err += tl - rel_err /= ntest - print('rel_err : {}'.format(rel_err)) - if ep % 100 == 0: - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - - -if __name__ == '__main__': - main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_ns.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_ns.py deleted file mode 100644 index cacbecfd81..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_ns.py +++ /dev/null @@ -1,231 +0,0 @@ -import sys -# sys.path.append('../../utils') -from utils import paddle_aux -import os -import paddle -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -import argparse -import scipy.io as scio -import numpy as np -from tqdm import * -from utils.testloss import TestLoss -from model_dict import get_model -parser = argparse.ArgumentParser('Training Transformer') -parser.add_argument('--lr', type=float, default=0.001) -parser.add_argument('--epochs', type=int, default=500) -parser.add_argument('--weight_decay', type=float, default=1e-05) -parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') -parser.add_argument('--n-hidden', type=int, default=256, help='hidden dim') -parser.add_argument('--n-layers', type=int, default=8, help='layers') -parser.add_argument('--n-heads', type=int, default=8) -parser.add_argument('--batch-size', type=int, default=2) -parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') -parser.add_argument('--max_grad_norm', type=float, default=None) -parser.add_argument('--downsample', type=int, default=1) -parser.add_argument('--mlp_ratio', type=int, default=1) -parser.add_argument('--dropout', type=float, default=0.0) -parser.add_argument('--unified_pos', type=int, default=1) -parser.add_argument('--ref', type=int, default=8) -parser.add_argument('--slice_num', type=int, default=32) -parser.add_argument('--eval', type=int, default=1) -parser.add_argument('--save_name', type=str, default='ns_Transolver') -parser.add_argument('--data_path', type=str, default='data/fno') -args = parser.parse_args() -n_gpu = paddle.device.cuda.device_count() -use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 -device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') -data_path = (args.data_path + - '/NavierStokes_V1e-5_N1200_T20/NavierStokes_V1e-5_N1200_T20.mat') -ntrain = 1000 -ntest = 200 -T_in = 10 -T = 10 -step = 1 -eval = args.eval -save_name = args.save_name - - -def count_parameters(model): - total_params = 0 - for name, parameter in model.named_parameters(): - if not not parameter.stop_gradient: - continue - params = parameter.size - total_params += params - print(f'Total Trainable Params: {total_params}') - return total_params - - -def main(): - r = args.downsample - h = int((64 - 1) / r + 1) - data = scio.loadmat(data_path) - print(tuple(data['u'].shape)) - train_a = data['u'][:ntrain, ::r, ::r, :T_in][:, :h, :h, :] - train_a = train_a.reshape(tuple(train_a.shape)[0], -1, tuple(train_a. - shape)[-1]) - train_a = paddle.to_tensor(data=train_a) - train_u = data['u'][:ntrain, ::r, ::r, T_in:T + T_in][:, :h, :h, :] - train_u = train_u.reshape(tuple(train_u.shape)[0], -1, tuple(train_u. - shape)[-1]) - train_u = paddle.to_tensor(data=train_u) - test_a = data['u'][-ntest:, ::r, ::r, :T_in][:, :h, :h, :] - test_a = test_a.reshape(tuple(test_a.shape)[0], -1, tuple(test_a.shape)[-1] - ) - test_a = paddle.to_tensor(data=test_a) - test_u = data['u'][-ntest:, ::r, ::r, T_in:T + T_in][:, :h, :h, :] - test_u = test_u.reshape(tuple(test_u.shape)[0], -1, tuple(test_u.shape)[-1] - ) - test_u = paddle.to_tensor(data=test_u) - x = np.linspace(0, 1, h) - y = np.linspace(0, 1, h) - x, y = np.meshgrid(x, y) - pos = np.c_[x.flatten(), y.flatten()] - pos = paddle.to_tensor(data=pos, dtype='float32').unsqueeze(axis=0) - pos_train = pos.tile(repeat_times=[ntrain, 1, 1]) - pos_test = pos.tile(repeat_times=[ntest, 1, 1]) - train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - pos_train, train_a, train_u]), batch_size=args.batch_size, shuffle=True - ) - test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - pos_test, test_a, test_u]), batch_size=args.batch_size, shuffle=False) - print('Dataloading is over.') - model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, - n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, - Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=T_in, out_dim=1, - slice_num=args.slice_num, ref=args.ref, unified_pos=args. - unified_pos, H=h, W=h).to(device) - optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), - learning_rate=args.lr, weight_decay=args.weight_decay) - print(args) - print(model) - count_parameters(model) - tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * - args.epochs, max_learning_rate=args.lr) - optimizer.set_lr_scheduler(tmp_lr) - scheduler = tmp_lr - myloss = TestLoss(size_average=False) - if eval: - model.set_state_dict(state_dict=paddle.load(path=str( - './checkpoints/' + save_name + '.pt'))) - model.eval() - showcase = 10 - id = 0 - if not os.path.exists('./results/' + save_name + '/'): - os.makedirs('./results/' + save_name + '/') - test_l2_full = 0 - with paddle.no_grad(): - for x, fx, yy in test_loader: - id += 1 - x, fx, yy = x.to(device), fx.to(device), yy.to(device) - bsz = tuple(x.shape)[0] - for t in range(0, T, step): - im = model(x, fx=fx) - fx = paddle.concat(x=(fx[..., step:], im), axis=-1) - if t == 0: - pred = im - else: - pred = paddle.concat(x=(pred, im), axis=-1) - if id < showcase: - print(id) - plt.figure() - plt.axis('off') - plt.imshow(im[0, :, 0].reshape(64, 64).detach().cpu(). - numpy(), cmap='coolwarm') - plt.colorbar() - plt.clim(-3, 3) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'case_' + str(id) + '_pred_' + str(20) + '.pdf')) - plt.close() - plt.figure() - plt.axis('off') - plt.imshow(yy[0, :, t].reshape(64, 64).detach().cpu(). - numpy(), cmap='coolwarm') - plt.colorbar() - plt.clim(-3, 3) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'case_' + str(id) + '_gt_' + str(20) + '.pdf')) - plt.close() - plt.figure() - plt.axis('off') - plt.imshow((im[0, :, 0].reshape(64, 64) - yy[0, :, t]. - reshape(64, 64)).detach().cpu().numpy(), cmap= - 'coolwarm') - plt.colorbar() - plt.clim(-2, 2) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'case_' + str(id) + '_error_' + str(20) + '.pdf')) - plt.close() - test_l2_full += myloss(pred.reshape(bsz, -1), yy.reshape( - bsz, -1)).item() - print(test_l2_full / ntest) - else: - for ep in range(args.epochs): - model.train() - train_l2_step = 0 - train_l2_full = 0 - for x, fx, yy in train_loader: - loss = 0 - x, fx, yy = x.to(device), fx.to(device), yy.to(device) - bsz = tuple(x.shape)[0] - for t in range(0, T, step): - y = yy[..., t:t + step] - im = model(x, fx=fx) - loss += myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) - if t == 0: - pred = im - else: - pred = paddle.concat(x=(pred, im), axis=-1) - fx = paddle.concat(x=(fx[..., step:], y), axis=-1) - train_l2_step += loss.item() - train_l2_full += myloss(pred.reshape(bsz, -1), yy.reshape( - bsz, -1)).item() - optimizer.clear_gradients(set_to_zero=False) - loss.backward() - if args.max_grad_norm is not None: - paddle.nn.utils.clip_grad_norm_(parameters=model. - parameters(), max_norm=args.max_grad_norm) - optimizer.step() - scheduler.step() - test_l2_step = 0 - test_l2_full = 0 - model.eval() - with paddle.no_grad(): - for x, fx, yy in test_loader: - loss = 0 - x, fx, yy = x.to(device), fx.to(device), yy.to(device) - bsz = tuple(x.shape)[0] - for t in range(0, T, step): - y = yy[..., t:t + step] - im = model(x, fx=fx) - loss += myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) - if t == 0: - pred = im - else: - pred = paddle.concat(x=(pred, im), axis=-1) - fx = paddle.concat(x=(fx[..., step:], im), axis=-1) - test_l2_step += loss.item() - test_l2_full += myloss(pred.reshape(bsz, -1), yy. - reshape(bsz, -1)).item() - print( - 'Epoch {} , train_step_loss:{:.5f} , train_full_loss:{:.5f} , test_step_loss:{:.5f} , test_full_loss:{:.5f}' - .format(ep, train_l2_step / ntrain / (T / step), - train_l2_full / ntrain, test_l2_step / ntest / (T / step), - test_l2_full / ntest)) - if ep % 100 == 0: - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - - -if __name__ == '__main__': - main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py deleted file mode 100644 index 2b63a87a66..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py +++ /dev/null @@ -1,221 +0,0 @@ -import sys -# sys.path.append('../../utils') -from utils import paddle_aux -import os -import paddle -import argparse -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -parser = argparse.ArgumentParser('Training Transformer') -parser.add_argument('--lr', type=float, default=0.001) -parser.add_argument('--epochs', type=int, default=500) -parser.add_argument('--weight_decay', type=float, default=1e-05) -parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') -parser.add_argument('--n-hidden', type=int, default=128, help='hidden dim') -parser.add_argument('--n-layers', type=int, default=8, help='layers') -parser.add_argument('--n-heads', type=int, default=8) -parser.add_argument('--batch-size', type=int, default=8) -parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') -parser.add_argument('--max_grad_norm', type=float, default=0.1) -parser.add_argument('--downsamplex', type=int, default=1) -parser.add_argument('--downsampley', type=int, default=1) -parser.add_argument('--mlp_ratio', type=int, default=2) -parser.add_argument('--dropout', type=float, default=0.0) -parser.add_argument('--unified_pos', type=int, default=0) -parser.add_argument('--ref', type=int, default=8) -parser.add_argument('--slice_num', type=int, default=64) -parser.add_argument('--eval', type=int, default=1) -parser.add_argument('--save_name', type=str, default='pipe_Transolver') -parser.add_argument('--data_path', type=str, default='data/fno/pipe') -args = parser.parse_args() -eval = args.eval -save_name = args.save_name -import numpy as np -from tqdm import * -from utils.testloss import TestLoss -from model_dict import get_model -from utils.normalizer import UnitTransformer -n_gpu = paddle.device.cuda.device_count() -use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 -device = str(f'cuda:{args.gpu}' if use_cuda else 'cpu').replace('cuda', 'gpu') - - -def count_parameters(model): - total_params = 0 - for name, parameter in model.named_parameters(): - if not not parameter.stop_gradient: - continue - params = parameter.size - total_params += params - print(f'Total Trainable Params: {total_params}') - return total_params - - -def main(): - INPUT_X = args.data_path + '/Pipe_X.npy' - INPUT_Y = args.data_path + '/Pipe_Y.npy' - OUTPUT_Sigma = args.data_path + '/Pipe_Q.npy' - ntrain = 1000 - ntest = 200 - N = 1200 - r1 = args.downsamplex - r2 = args.downsampley - s1 = int((129 - 1) / r1 + 1) - s2 = int((129 - 1) / r2 + 1) - inputX = np.load(INPUT_X) - inputX = paddle.to_tensor(data=inputX, dtype='float32') - inputY = np.load(INPUT_Y) - inputY = paddle.to_tensor(data=inputY, dtype='float32') - input = paddle.stack(x=[inputX, inputY], axis=-1) - output = np.load(OUTPUT_Sigma)[:, 0] - output = paddle.to_tensor(data=output, dtype='float32') - print(tuple(input.shape), tuple(output.shape)) - x_train = input[:N][:ntrain, ::r1, ::r2][:, :s1, :s2] - y_train = output[:N][:ntrain, ::r1, ::r2][:, :s1, :s2] - x_test = input[:N][-ntest:, ::r1, ::r2][:, :s1, :s2] - y_test = output[:N][-ntest:, ::r1, ::r2][:, :s1, :s2] - x_train = x_train.reshape(ntrain, -1, 2) - x_test = x_test.reshape(ntest, -1, 2) - y_train = y_train.reshape(ntrain, -1) - y_test = y_test.reshape(ntest, -1) - x_normalizer = UnitTransformer(x_train) - y_normalizer = UnitTransformer(y_train) - x_train = x_normalizer.encode(x_train) - x_test = x_normalizer.encode(x_test) - y_train = y_normalizer.encode(y_train) - x_normalizer.to(device) - y_normalizer.to(device) - train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - x_train, x_train, y_train]), batch_size=args.batch_size, shuffle=True) - test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - x_test, x_test, y_test]), batch_size=args.batch_size, shuffle=False) - print('Dataloading is over.') - model = get_model(args).Model(space_dim=2, n_layers=args.n_layers, - n_hidden=args.n_hidden, dropout=args.dropout, n_head=args.n_heads, - Time_Input=False, mlp_ratio=args.mlp_ratio, fun_dim=0, out_dim=1, - slice_num=args.slice_num, ref=args.ref, unified_pos=args. - unified_pos, H=s1, W=s2).to(device) - optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), - learning_rate=args.lr, weight_decay=args.weight_decay) - print(args) - print(model) - count_parameters(model) - tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * - args.epochs, max_learning_rate=args.lr) - optimizer.set_lr_scheduler(tmp_lr) - scheduler = tmp_lr - myloss = TestLoss(size_average=False) - if eval: - model.set_state_dict(state_dict=paddle.load(path=str( - './checkpoints/' + save_name + '.pt'))) - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '_resave' + '.pt')) - model.eval() - if not os.path.exists('./results/' + save_name + '/'): - os.makedirs('./results/' + save_name + '/') - rel_err = 0.0 - showcase = 10 - id = 0 - with paddle.no_grad(): - for pos, fx, y in test_loader: - id += 1 - x, fx, y = pos.to(device), fx.to(device), y.to(device) - out = model(x, None).squeeze(axis=-1) - out = y_normalizer.decode(out) - tl = myloss(out, y).item() - rel_err += tl - if id < showcase: - print(id) - plt.axis('off') - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). - cpu().numpy(), x[0, :, 1].reshape(129, 129).detach( - ).cpu().numpy(), np.zeros([129, 129]), shading= - 'auto', edgecolors='black', linewidths=0.1) - plt.colorbar() - plt.savefig(os.path.join('./results/' + save_name + '/', - 'input_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). - cpu().numpy(), x[0, :, 1].reshape(129, 129).detach( - ).cpu().numpy(), out[0, :].reshape(129, 129).detach - ().cpu().numpy(), shading='auto', cmap='coolwarm') - plt.colorbar() - plt.clim(0, 0.3) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'pred_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). - cpu().numpy(), x[0, :, 1].reshape(129, 129).detach( - ).cpu().numpy(), y[0, :].reshape(129, 129).detach() - .cpu().numpy(), shading='auto', cmap='coolwarm') - plt.colorbar() - plt.clim(0, 0.3) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'gt_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). - cpu().numpy(), x[0, :, 1].reshape(129, 129).detach( - ).cpu().numpy(), out[0, :].reshape(129, 129).detach - ().cpu().numpy() - y[0, :].reshape(129, 129).detach - ().cpu().numpy(), shading='auto', cmap='coolwarm') - plt.colorbar() - plt.clim(-0.02, 0.02) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'error_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - rel_err /= ntest - print('rel_err:{}'.format(rel_err)) - else: - for ep in range(args.epochs): - model.train() - train_loss = 0 - for pos, fx, y in train_loader: - x, fx, y = pos.to(device), fx.to(device), y.to(device) - optimizer.clear_gradients(set_to_zero=False) - out = model(x, None).squeeze(axis=-1) - out = y_normalizer.decode(out) - y = y_normalizer.decode(y) - loss = myloss(out, y) - loss.backward() - if args.max_grad_norm is not None: - paddle.nn.utils.clip_grad_norm_(parameters=model. - parameters(), max_norm=args.max_grad_norm) - optimizer.step() - train_loss += loss.item() - scheduler.step() - train_loss = train_loss / ntrain - print('Epoch {} Train loss : {:.5f}'.format(ep, train_loss)) - model.eval() - rel_err = 0.0 - with paddle.no_grad(): - for pos, fx, y in test_loader: - x, fx, y = pos.to(device), fx.to(device), y.to(device) - out = model(x, None).squeeze(axis=-1) - out = y_normalizer.decode(out) - tl = myloss(out, y).item() - rel_err += tl - rel_err /= ntest - print('rel_err:{}'.format(rel_err)) - if ep % 100 == 0: - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - - -if __name__ == '__main__': - main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_plas.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_plas.py deleted file mode 100644 index 9400eb8b2c..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_plas.py +++ /dev/null @@ -1,291 +0,0 @@ -import sys - -# sys.path.append('../../utils') -from utils import paddle_aux -import os -import paddle -import argparse -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt - -parser = argparse.ArgumentParser('Training Transformer') -parser.add_argument('--lr', type=float, default=0.001) -parser.add_argument('--epochs', type=int, default=500) -parser.add_argument('--weight_decay', type=float, default=1e-05) -parser.add_argument('--model', type=str, default='Transolver_Structured_Mesh_2D') -parser.add_argument('--n-hidden', type=int, default=64, help='hidden dim') -parser.add_argument('--n-layers', type=int, default=3, help='layers') -parser.add_argument('--n-heads', type=int, default=4) -parser.add_argument('--batch-size', type=int, default=8) -parser.add_argument('--gpu', type=int, default=0, help='GPU index to use') -parser.add_argument('--max_grad_norm', type=float, default=None) -parser.add_argument('--downsamplex', type=int, default=1) -parser.add_argument('--downsampley', type=int, default=1) -parser.add_argument('--mlp_ratio', type=int, default=1) -parser.add_argument('--dropout', type=float, default=0.0) -parser.add_argument('--unified_pos', type=int, default=0) -parser.add_argument('--ref', type=int, default=8) -parser.add_argument('--slice_num', type=int, default=32) -parser.add_argument('--eval', type=int, default=1) -parser.add_argument('--save_name', type=str, default='plas_Transolver') -parser.add_argument('--data_path', type=str, default= -'data/fno/plas_N987_T20.mat') -args = parser.parse_args() -eval = args.eval -save_name = args.save_name -import numpy as np -import scipy.io as scio -from tqdm import * -from utils.testloss import TestLoss -from model_dict import get_model -from utils.normalizer import UnitTransformer - -n_gpu = paddle.device.cuda.device_count() -use_cuda = 0 <= args.gpu < n_gpu and paddle.device.cuda.device_count() >= 1 -device = f'gpu:{args.gpu}' if use_cuda else 'cpu' - - -def count_parameters(model): - total_params = 0 - for name, parameter in model.named_parameters(): - if not not parameter.stop_gradient: - continue - params = parameter.size - total_params += params - print(f'Total Trainable Params: {total_params}') - return total_params - - -def random_collate_fn(batch): - shuffled_batch = [] - shuffled_u = None - shuffled_t = None - shuffled_a = None - shuffled_pos = None - for item in batch: - pos = item[0] - t = item[1] - a = item[2] - u = item[3] - num_timesteps = t.shape[0] - permuted_indices = paddle.randperm(n=num_timesteps) - t = t[permuted_indices] - u = u[..., permuted_indices] - if shuffled_t is None: - shuffled_pos = pos.unsqueeze(axis=0) - shuffled_t = t.unsqueeze(axis=0) - shuffled_u = u.unsqueeze(axis=0) - shuffled_a = a.unsqueeze(axis=0) - else: - shuffled_pos = paddle.concat(x=(shuffled_pos, pos.unsqueeze( - axis=0)), axis=0) - shuffled_t = paddle.concat(x=(shuffled_t, t.unsqueeze(axis=0)), - axis=0) - shuffled_u = paddle.concat(x=(shuffled_u, u.unsqueeze(axis=0)), - axis=0) - shuffled_a = paddle.concat(x=(shuffled_a, a.unsqueeze(axis=0)), - axis=0) - shuffled_batch.append(shuffled_pos) - shuffled_batch.append(shuffled_t) - shuffled_batch.append(shuffled_a) - shuffled_batch.append(shuffled_u) - return shuffled_batch - - -def main(): - DATA_PATH = args.data_path - N = 987 - ntrain = 900 - ntest = 80 - s1 = 101 - s2 = 31 - T = 20 - Deformation = 4 - r1 = 1 - r2 = 1 - s1 = int((s1 - 1) / r1 + 1) - s2 = int((s2 - 1) / r2 + 1) - data = scio.loadmat(DATA_PATH) - input = paddle.to_tensor(data=data['input'], dtype='float32') - output = paddle.to_tensor(data=data['output'], dtype='float32').transpose( - perm=paddle_aux.transpose_aux_func(paddle.to_tensor(data=data[ - 'output'], dtype='float32').ndim, -2, -1)) - print(tuple(input.shape), tuple(output.shape)) - x_train = input[:ntrain, ::r1][:, :s1].reshape(ntrain, s1, 1).tile( - repeat_times=[1, 1, s2]) - x_train = x_train.reshape(ntrain, -1, 1) - y_train = output[:ntrain, ::r1, ::r2][:, :s1, :s2] - y_train = y_train.reshape(ntrain, -1, Deformation, T) - x_test = input[-ntest:, ::r1][:, :s1].reshape(ntest, s1, 1).tile( - repeat_times=[1, 1, s2]) - x_test = x_test.reshape(ntest, -1, 1) - y_test = output[-ntest:, ::r1, ::r2][:, :s1, :s2] - y_test = y_test.reshape(ntest, -1, Deformation, T) - print(tuple(x_train.shape), tuple(y_train.shape)) - x_normalizer = UnitTransformer(x_train) - x_train = x_normalizer.encode(x_train) - x_test = x_normalizer.encode(x_test) - x_normalizer.to(device) - x = np.linspace(0, 1, s1) - y = np.linspace(0, 1, s2) - x, y = np.meshgrid(x, y) - pos = np.c_[x.flatten(), y.flatten()] - pos = paddle.to_tensor(data=pos, dtype='float32').unsqueeze(axis=0) - pos_train = pos.tile(repeat_times=[ntrain, 1, 1]) - pos_test = pos.tile(repeat_times=[ntest, 1, 1]) - print('Dataloading is over.') - t = np.linspace(0, 1, T) - t = paddle.to_tensor(data=t, dtype='float32').unsqueeze(axis=0) - t_train = t.tile(repeat_times=[ntrain, 1]) - t_test = t.tile(repeat_times=[ntest, 1]) - train_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - pos_train, t_train, x_train, y_train]), batch_size=args.batch_size, - shuffle=True, collate_fn=random_collate_fn) - test_loader = paddle.io.DataLoader(dataset=paddle.io.TensorDataset([ - pos_test, t_test, x_test, y_test]), batch_size=args.batch_size, - shuffle=False) - print('Dataloading is over.') - model = get_model(args).Model(space_dim=2, n_hidden=args.n_hidden, - n_layers=args.n_layers, Time_Input=True, n_head=args.n_heads, - fun_dim=1, out_dim=Deformation, mlp_ratio=args.mlp_ratio, slice_num - =args.slice_num, unified_pos=args.unified_pos, H=s1, W=s2).to(device) - optimizer = paddle.optimizer.AdamW(parameters=model.parameters(), - learning_rate=args.lr, weight_decay=args.weight_decay) - print(args) - print(model) - count_parameters(model) - tmp_lr = paddle.optimizer.lr.OneCycleLR(total_steps=len(train_loader) * - args.epochs, max_learning_rate=args.lr) - optimizer.set_lr_scheduler(tmp_lr) - scheduler = tmp_lr - myloss = TestLoss(size_average=False) - if eval: - model.set_state_dict(state_dict=paddle.load(path=str( - './checkpoints/' + save_name + '.pt'))) - model.eval() - if not os.path.exists('./results/' + save_name + '/'): - os.makedirs('./results/' + save_name + '/') - test_l2_step = 0 - test_l2_full = 0 - showcase = 10 - id = 0 - with paddle.no_grad(): - for x, tim, fx, yy in test_loader: - id += 1 - loss = 0 - x, fx, tim, yy = x.to(device), fx.to(device), tim.to(device - ), yy.to(device) - bsz = tuple(x.shape)[0] - for t in range(T): - y = yy[..., t:t + 1] - input_T = tim[:, t:t + 1].reshape(bsz, 1) - im = model(x, fx, T=input_T) - loss += myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) - if t == 0: - pred = im.unsqueeze(axis=-1) - else: - pred = paddle.concat(x=(pred, im.unsqueeze(axis=-1) - ), axis=-1) - if id < showcase: - print(id) - truth = y[0].reshape(101, 31, 4).squeeze().detach().cpu( - ).numpy() - pred_vis = im[0].reshape(101, 31, 4).squeeze().detach( - ).cpu().numpy() - truth_du = np.linalg.norm(truth[:, :, 2:], axis=-1) - pred_du = np.linalg.norm(pred_vis[:, :, 2:], axis=-1) - plt.axis('off') - plt.scatter(truth[:, :, 0], truth[:, :, 1], 10, - truth_du[:, :], cmap='coolwarm') - plt.colorbar() - plt.clim(0, 6) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'gt_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.scatter(pred_vis[:, :, 0], pred_vis[:, :, 1], 10, - pred_du[:, :], cmap='coolwarm') - plt.colorbar() - plt.clim(0, 6) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'pred_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - plt.axis('off') - plt.scatter(truth[:, :, 0], truth[:, :, 1], 10, pred_du - [:, :] - truth_du[:, :], cmap='coolwarm') - plt.colorbar() - plt.clim(-0.2, 0.2) - plt.savefig(os.path.join('./results/' + save_name + '/', - 'error_' + str(id) + '.pdf'), bbox_inches='tight', - pad_inches=0) - plt.close() - test_l2_step += loss.item() - test_l2_full += myloss(pred.reshape(bsz, -1), yy.reshape( - bsz, -1)).item() - print('test_step_loss:{:.5f} , test_full_loss:{:.5f}'.format( - test_l2_step / ntest / T, test_l2_full / ntest)) - else: - for ep in range(args.epochs): - model.train() - train_l2_step = 0 - for x, tim, fx, yy in train_loader: - x, fx, tim, yy = x.to(device), fx.to(device), tim.to(device - ), yy.to(device) - bsz = tuple(x.shape)[0] - for t in range(T): - y = yy[..., t:t + 1] - input_T = tim[:, t:t + 1].reshape(bsz, 1) - im = model(x, fx, T=input_T) - loss = myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) - train_l2_step += loss.item() - optimizer.clear_gradients(set_to_zero=False) - loss.backward() - if args.max_grad_norm is not None: - paddle.nn.utils.clip_grad_norm_(parameters=model. - parameters(), max_norm=args.max_grad_norm) - optimizer.step() - scheduler.step() - model.eval() - test_l2_step = 0 - test_l2_full = 0 - with paddle.no_grad(): - for x, tim, fx, yy in test_loader: - loss = 0 - x, fx, tim, yy = x.to(device), fx.to(device), tim.to(device - ), yy.to(device) - bsz = tuple(x.shape)[0] - for t in range(T): - y = yy[..., t:t + 1] - input_T = tim[:, t:t + 1].reshape(bsz, 1) - im = model(x, fx, T=input_T) - loss += myloss(im.reshape(bsz, -1), y.reshape(bsz, -1)) - if t == 0: - pred = im.unsqueeze(axis=-1) - else: - pred = paddle.concat(x=(pred, im.unsqueeze(axis - =-1)), axis=-1) - test_l2_step += loss.item() - test_l2_full += myloss(pred.reshape(bsz, -1), yy. - reshape(bsz, -1)).item() - print( - 'Epoch {} , train_step_loss:{:.5f} , test_step_loss:{:.5f} , test_full_loss:{:.5f}' - .format(ep, train_l2_step / ntrain / T, test_l2_step / - ntest / T, test_l2_full / ntest)) - if ep % 100 == 0: - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - if not os.path.exists('./checkpoints'): - os.makedirs('./checkpoints') - print('save model') - paddle.save(obj=model.state_dict(), path=os.path.join( - './checkpoints', save_name + '.pt')) - - -if __name__ == '__main__': - main() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_E.log deleted file mode 100644 index 781009088c..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_E.log +++ /dev/null @@ -1,310 +0,0 @@ -W1029 22:06:51.160876 876668 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1029 22:06:51.161404 876668 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -(2490, 221, 51, 2) (2490, 221, 51) -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=4, gpu=0, max_grad_norm=0.1, downsamplex=1, downsampley=1, mlp_ratio=1, dropout=0.0, unified_pos=0, ref=8, slice_num=64, eval=1, save_name='airfoil_Transolver', data_path='data/fno/airfoil/naca') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=2, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp2): Linear(in_features=128, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 2810817 -1 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -2 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -3 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -4 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -5 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -6 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -7 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -8 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -9 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:119: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:130: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:142: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_airfoil.py:154: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(221, 51)[40:180, :35] -rel_err:0.005978186544962227 diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_T.log deleted file mode 100644 index 52b346343d..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Airfoil_T.log +++ /dev/null @@ -1,1235 +0,0 @@ -nohup: ignoring input -W1028 15:02:03.884150 51835 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1028 15:02:03.884753 51835 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -(2490, 221, 51, 2) (2490, 221, 51) -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=4, gpu=3, max_grad_norm=0.1, downsamplex=1, downsampley=1, mlp_ratio=1, dropout=0.0, unified_pos=0, ref=8, slice_num=64, eval=0, save_name='airfoil_Transolver', data_path='data/fno/airfoil/naca') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=2, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp2): Linear(in_features=128, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 2810817 -Epoch 0 Train loss : 0.14523 -rel_err:0.11785733968019485 -save model -Epoch 1 Train loss : 0.11357 -rel_err:0.11252781853079796 -Epoch 2 Train loss : 0.10821 -rel_err:0.10848646566271782 -Epoch 3 Train loss : 0.10677 -rel_err:0.1066597981750965 -Epoch 4 Train loss : 0.10587 -rel_err:0.10648426398634911 -Epoch 5 Train loss : 0.10528 -rel_err:0.10491959303617478 -Epoch 6 Train loss : 0.10404 -rel_err:0.10648314863443374 -Epoch 7 Train loss : 0.10429 -rel_err:0.11264177218079567 -Epoch 8 Train loss : 0.10319 -rel_err:0.1046188285946846 -Epoch 9 Train loss : 0.10042 -rel_err:0.09876017257571221 -Epoch 10 Train loss : 0.09934 -rel_err:0.09745430007576943 -Epoch 11 Train loss : 0.09568 -rel_err:0.09495317161083222 -Epoch 12 Train loss : 0.09554 -rel_err:0.09791502222418785 -Epoch 13 Train loss : 0.09397 -rel_err:0.093686915487051 -Epoch 14 Train loss : 0.09329 -rel_err:0.09815885841846467 -Epoch 15 Train loss : 0.09166 -rel_err:0.09676504373550415 -Epoch 16 Train loss : 0.09232 -rel_err:0.0868787844479084 -Epoch 17 Train loss : 0.09331 -rel_err:0.08806699812412262 -Epoch 18 Train loss : 0.09121 -rel_err:0.09117646425962449 -Epoch 19 Train loss : 0.09397 -rel_err:0.0925276418030262 -Epoch 20 Train loss : 0.08963 -rel_err:0.08355952225625515 -Epoch 21 Train loss : 0.08850 -rel_err:0.08684755325317382 -Epoch 22 Train loss : 0.08895 -rel_err:0.08102031618356705 -Epoch 23 Train loss : 0.08389 -rel_err:0.07977232277393341 -Epoch 24 Train loss : 0.08501 -rel_err:0.07699730560183525 -Epoch 25 Train loss : 0.08593 -rel_err:0.08699634194374084 -Epoch 26 Train loss : 0.08279 -rel_err:0.07926241263747215 -Epoch 27 Train loss : 0.08042 -rel_err:0.07285507135093212 -Epoch 28 Train loss : 0.07855 -rel_err:0.08125139012932778 -Epoch 29 Train loss : 0.07658 -rel_err:0.10225468754768371 -Epoch 30 Train loss : 0.07505 -rel_err:0.0675540640950203 -Epoch 31 Train loss : 0.07465 -rel_err:0.07572250336408615 -Epoch 32 Train loss : 0.07443 -rel_err:0.07619010381400586 -Epoch 33 Train loss : 0.07463 -rel_err:0.07679609730839729 -Epoch 34 Train loss : 0.07176 -rel_err:0.08959461107850075 -Epoch 35 Train loss : 0.07341 -rel_err:0.10464169397950172 -Epoch 36 Train loss : 0.07303 -rel_err:0.1091353453695774 -Epoch 37 Train loss : 0.07175 -rel_err:0.060328901037573816 -Epoch 38 Train loss : 0.06239 -rel_err:0.057184441685676574 -Epoch 39 Train loss : 0.06140 -rel_err:0.08513994589447975 -Epoch 40 Train loss : 0.06615 -rel_err:0.06729761250317097 -Epoch 41 Train loss : 0.06588 -rel_err:0.06558167554438114 -Epoch 42 Train loss : 0.06199 -rel_err:0.07656028777360917 -Epoch 43 Train loss : 0.06390 -rel_err:0.06448493547737598 -Epoch 44 Train loss : 0.06520 -rel_err:0.06103455938398838 -Epoch 45 Train loss : 0.06208 -rel_err:0.06177425444126129 -Epoch 46 Train loss : 0.06066 -rel_err:0.05604085117578506 -Epoch 47 Train loss : 0.06190 -rel_err:0.061941518783569335 -Epoch 48 Train loss : 0.06157 -rel_err:0.06619864590466022 -Epoch 49 Train loss : 0.06490 -rel_err:0.056982005536556246 -Epoch 50 Train loss : 0.06539 -rel_err:0.052911465838551525 -Epoch 51 Train loss : 0.05922 -rel_err:0.05602555148303509 -Epoch 52 Train loss : 0.06062 -rel_err:0.09646648094058037 -Epoch 53 Train loss : 0.06603 -rel_err:0.05640562653541565 -Epoch 54 Train loss : 0.05769 -rel_err:0.0729619675129652 -Epoch 55 Train loss : 0.05581 -rel_err:0.04637875534594059 -Epoch 56 Train loss : 0.06116 -rel_err:0.04619808614253998 -Epoch 57 Train loss : 0.05652 -rel_err:0.06823112323880196 -Epoch 58 Train loss : 0.05713 -rel_err:0.053484217748045924 -Epoch 59 Train loss : 0.05752 -rel_err:0.05431403793394565 -Epoch 60 Train loss : 0.05970 -rel_err:0.053357060328125955 -Epoch 61 Train loss : 0.05796 -rel_err:0.05797499291598797 -Epoch 62 Train loss : 0.05913 -rel_err:0.05123690724372864 -Epoch 63 Train loss : 0.05891 -rel_err:0.04666778028011322 -Epoch 64 Train loss : 0.05588 -rel_err:0.05753681391477585 -Epoch 65 Train loss : 0.05233 -rel_err:0.05755040474236012 -Epoch 66 Train loss : 0.05256 -rel_err:0.040946380719542506 -Epoch 67 Train loss : 0.05365 -rel_err:0.04834989473223686 -Epoch 68 Train loss : 0.05708 -rel_err:0.053947582468390466 -Epoch 69 Train loss : 0.05772 -rel_err:0.04606605306267739 -Epoch 70 Train loss : 0.05403 -rel_err:0.043699586391448976 -Epoch 71 Train loss : 0.05259 -rel_err:0.04960521526634693 -Epoch 72 Train loss : 0.05050 -rel_err:0.046114731729030606 -Epoch 73 Train loss : 0.04795 -rel_err:0.05030209414660931 -Epoch 74 Train loss : 0.05025 -rel_err:0.057285284623503685 -Epoch 75 Train loss : 0.05006 -rel_err:0.05115116134285927 -Epoch 76 Train loss : 0.04678 -rel_err:0.048344780057668686 -Epoch 77 Train loss : 0.04567 -rel_err:0.055678809955716134 -Epoch 78 Train loss : 0.04669 -rel_err:0.05831613354384899 -Epoch 79 Train loss : 0.04879 -rel_err:0.06631423629820347 -Epoch 80 Train loss : 0.04621 -rel_err:0.0404022104665637 -Epoch 81 Train loss : 0.04457 -rel_err:0.04175796501338482 -Epoch 82 Train loss : 0.04669 -rel_err:0.049711804166436196 -Epoch 83 Train loss : 0.04398 -rel_err:0.042552329264581204 -Epoch 84 Train loss : 0.04488 -rel_err:0.058814760372042654 -Epoch 85 Train loss : 0.04279 -rel_err:0.046156742796301845 -Epoch 86 Train loss : 0.04087 -rel_err:0.038049018643796444 -Epoch 87 Train loss : 0.04082 -rel_err:0.03686503101140261 -Epoch 88 Train loss : 0.04476 -rel_err:0.03597290221601725 -Epoch 89 Train loss : 0.03840 -rel_err:0.04170403741300106 -Epoch 90 Train loss : 0.03804 -rel_err:0.03662926606833935 -Epoch 91 Train loss : 0.04048 -rel_err:0.04164269365370274 -Epoch 92 Train loss : 0.04396 -rel_err:0.039704625084996226 -Epoch 93 Train loss : 0.04045 -rel_err:0.031223051808774473 -Epoch 94 Train loss : 0.03889 -rel_err:0.04007428679615259 -Epoch 95 Train loss : 0.03806 -rel_err:0.037636208944022656 -Epoch 96 Train loss : 0.03684 -rel_err:0.03017246101051569 -Epoch 97 Train loss : 0.03869 -rel_err:0.041114367842674256 -Epoch 98 Train loss : 0.04062 -rel_err:0.04281697455793619 -Epoch 99 Train loss : 0.04084 -rel_err:0.054446415305137635 -Epoch 100 Train loss : 0.03799 -rel_err:0.03713726446032524 -save model -Epoch 101 Train loss : 0.03669 -rel_err:0.027380025275051595 -Epoch 102 Train loss : 0.03644 -rel_err:0.03233360156416893 -Epoch 103 Train loss : 0.03384 -rel_err:0.0334985363855958 -Epoch 104 Train loss : 0.03455 -rel_err:0.049135174825787546 -Epoch 105 Train loss : 0.03881 -rel_err:0.04215115677565336 -Epoch 106 Train loss : 0.03662 -rel_err:0.03240828067064285 -Epoch 107 Train loss : 0.03696 -rel_err:0.04683084450662136 -Epoch 108 Train loss : 0.03687 -rel_err:0.03486043959856033 -Epoch 109 Train loss : 0.03871 -rel_err:0.034099410846829416 -Epoch 110 Train loss : 0.03579 -rel_err:0.037592824324965475 -Epoch 111 Train loss : 0.03529 -rel_err:0.028865457847714424 -Epoch 112 Train loss : 0.03981 -rel_err:0.04305421866476536 -Epoch 113 Train loss : 0.03793 -rel_err:0.03736187055706978 -Epoch 114 Train loss : 0.03641 -rel_err:0.04084813930094242 -Epoch 115 Train loss : 0.03756 -rel_err:0.033727257773280145 -Epoch 116 Train loss : 0.03915 -rel_err:0.0436081525683403 -Epoch 117 Train loss : 0.03659 -rel_err:0.0333372576162219 -Epoch 118 Train loss : 0.03635 -rel_err:0.03037163056433201 -Epoch 119 Train loss : 0.03351 -rel_err:0.03139364361763 -Epoch 120 Train loss : 0.03272 -rel_err:0.04094542365521193 -Epoch 121 Train loss : 0.03687 -rel_err:0.04094582162797451 -Epoch 122 Train loss : 0.03548 -rel_err:0.0294569182023406 -Epoch 123 Train loss : 0.03124 -rel_err:0.03244741123169661 -Epoch 124 Train loss : 0.03192 -rel_err:0.0250594712048769 -Epoch 125 Train loss : 0.03175 -rel_err:0.02922493774443865 -Epoch 126 Train loss : 0.02849 -rel_err:0.02884758301079273 -Epoch 127 Train loss : 0.03196 -rel_err:0.03311715740710497 -Epoch 128 Train loss : 0.03306 -rel_err:0.04773655921220779 -Epoch 129 Train loss : 0.03550 -rel_err:0.03064180467277765 -Epoch 130 Train loss : 0.03114 -rel_err:0.0394512739405036 -Epoch 131 Train loss : 0.03379 -rel_err:0.03578732784837484 -Epoch 132 Train loss : 0.03349 -rel_err:0.04141188535839319 -Epoch 133 Train loss : 0.03077 -rel_err:0.03526155393570662 -Epoch 134 Train loss : 0.03451 -rel_err:0.034915210977196694 -Epoch 135 Train loss : 0.03336 -rel_err:0.03469283036887646 -Epoch 136 Train loss : 0.03196 -rel_err:0.03213920932263136 -Epoch 137 Train loss : 0.03119 -rel_err:0.03274451021105051 -Epoch 138 Train loss : 0.03177 -rel_err:0.04149192243814468 -Epoch 139 Train loss : 0.03328 -rel_err:0.03950939428061247 -Epoch 140 Train loss : 0.03010 -rel_err:0.023898180834949018 -Epoch 141 Train loss : 0.03384 -rel_err:0.03828835058957338 -Epoch 142 Train loss : 0.03152 -rel_err:0.03183114159852266 -Epoch 143 Train loss : 0.03164 -rel_err:0.02701021160930395 -Epoch 144 Train loss : 0.03136 -rel_err:0.03690276321023703 -Epoch 145 Train loss : 0.03009 -rel_err:0.03169179826974869 -Epoch 146 Train loss : 0.02894 -rel_err:0.027936552800238133 -Epoch 147 Train loss : 0.02930 -rel_err:0.025513547547161577 -Epoch 148 Train loss : 0.02779 -rel_err:0.02746562410145998 -Epoch 149 Train loss : 0.02899 -rel_err:0.033120222017169 -Epoch 150 Train loss : 0.02694 -rel_err:0.024090446680784226 -Epoch 151 Train loss : 0.03198 -rel_err:0.039102406203746796 -Epoch 152 Train loss : 0.03069 -rel_err:0.029871116168797018 -Epoch 153 Train loss : 0.03095 -rel_err:0.028399636559188365 -Epoch 154 Train loss : 0.02597 -rel_err:0.021407430954277516 -Epoch 155 Train loss : 0.03074 -rel_err:0.03655245587229729 -Epoch 156 Train loss : 0.02962 -rel_err:0.021703110672533513 -Epoch 157 Train loss : 0.02684 -rel_err:0.0236118483543396 -Epoch 158 Train loss : 0.02860 -rel_err:0.022180953677743673 -Epoch 159 Train loss : 0.02602 -rel_err:0.02535618741065264 -Epoch 160 Train loss : 0.02481 -rel_err:0.02209777807816863 -Epoch 161 Train loss : 0.02563 -rel_err:0.019353973604738714 -Epoch 162 Train loss : 0.02711 -rel_err:0.03283498790115118 -Epoch 163 Train loss : 0.02863 -rel_err:0.02323191875591874 -Epoch 164 Train loss : 0.02764 -rel_err:0.02608406625688076 -Epoch 165 Train loss : 0.02485 -rel_err:0.025872604548931123 -Epoch 166 Train loss : 0.02846 -rel_err:0.03345104333013296 -Epoch 167 Train loss : 0.02858 -rel_err:0.024768635146319867 -Epoch 168 Train loss : 0.02675 -rel_err:0.02513936161994934 -Epoch 169 Train loss : 0.02435 -rel_err:0.021837730389088393 -Epoch 170 Train loss : 0.02583 -rel_err:0.02035054353997111 -Epoch 171 Train loss : 0.02672 -rel_err:0.02615568373352289 -Epoch 172 Train loss : 0.02542 -rel_err:0.031158587113022804 -Epoch 173 Train loss : 0.02588 -rel_err:0.022898110914975404 -Epoch 174 Train loss : 0.02387 -rel_err:0.03138395600020885 -Epoch 175 Train loss : 0.02502 -rel_err:0.03842408895492554 -Epoch 176 Train loss : 0.02506 -rel_err:0.029162815064191817 -Epoch 177 Train loss : 0.02548 -rel_err:0.028404700346291067 -Epoch 178 Train loss : 0.02370 -rel_err:0.027438699156045913 -Epoch 179 Train loss : 0.02742 -rel_err:0.03543480884283781 -Epoch 180 Train loss : 0.02646 -rel_err:0.027962341979146002 -Epoch 181 Train loss : 0.02222 -rel_err:0.021375177949666976 -Epoch 182 Train loss : 0.02226 -rel_err:0.022262860722839832 -Epoch 183 Train loss : 0.02520 -rel_err:0.01977342853322625 -Epoch 184 Train loss : 0.02227 -rel_err:0.02422435402870178 -Epoch 185 Train loss : 0.02355 -rel_err:0.018040822688490152 -Epoch 186 Train loss : 0.02324 -rel_err:0.027252781316637994 -Epoch 187 Train loss : 0.02424 -rel_err:0.030217116326093675 -Epoch 188 Train loss : 0.02680 -rel_err:0.030404411032795908 -Epoch 189 Train loss : 0.02679 -rel_err:0.020251638032495977 -Epoch 190 Train loss : 0.02175 -rel_err:0.019031534995883705 -Epoch 191 Train loss : 0.02322 -rel_err:0.026248299553990363 -Epoch 192 Train loss : 0.02333 -rel_err:0.023527013957500457 -Epoch 193 Train loss : 0.02427 -rel_err:0.01944233266636729 -Epoch 194 Train loss : 0.02395 -rel_err:0.027516561709344387 -Epoch 195 Train loss : 0.02611 -rel_err:0.025450853649526834 -Epoch 196 Train loss : 0.02610 -rel_err:0.0252588102966547 -Epoch 197 Train loss : 0.02302 -rel_err:0.027197032459080218 -Epoch 198 Train loss : 0.01950 -rel_err:0.016696639303117992 -Epoch 199 Train loss : 0.02001 -rel_err:0.028724121525883675 -Epoch 200 Train loss : 0.02356 -rel_err:0.02053303822875023 -save model -Epoch 201 Train loss : 0.02178 -rel_err:0.018924489114433528 -Epoch 202 Train loss : 0.02032 -rel_err:0.021560513339936735 -Epoch 203 Train loss : 0.02192 -rel_err:0.021257725805044175 -Epoch 204 Train loss : 0.01946 -rel_err:0.020182206500321626 -Epoch 205 Train loss : 0.02098 -rel_err:0.016600167881697415 -Epoch 206 Train loss : 0.02054 -rel_err:0.01863880781456828 -Epoch 207 Train loss : 0.02154 -rel_err:0.02018249886110425 -Epoch 208 Train loss : 0.02282 -rel_err:0.02726397231221199 -Epoch 209 Train loss : 0.02265 -rel_err:0.021800871547311543 -Epoch 210 Train loss : 0.02201 -rel_err:0.02318523745983839 -Epoch 211 Train loss : 0.02074 -rel_err:0.02599921204149723 -Epoch 212 Train loss : 0.01894 -rel_err:0.014660676214843989 -Epoch 213 Train loss : 0.02186 -rel_err:0.01757200438529253 -Epoch 214 Train loss : 0.02228 -rel_err:0.019891685005277396 -Epoch 215 Train loss : 0.02066 -rel_err:0.014801429156213998 -Epoch 216 Train loss : 0.02245 -rel_err:0.02169144421815872 -Epoch 217 Train loss : 0.02087 -rel_err:0.018314131796360017 -Epoch 218 Train loss : 0.02158 -rel_err:0.01771188598126173 -Epoch 219 Train loss : 0.02335 -rel_err:0.01962279062718153 -Epoch 220 Train loss : 0.01901 -rel_err:0.02030123259872198 -Epoch 221 Train loss : 0.01975 -rel_err:0.019665418937802315 -Epoch 222 Train loss : 0.02222 -rel_err:0.02182883281260729 -Epoch 223 Train loss : 0.01777 -rel_err:0.019420494381338357 -Epoch 224 Train loss : 0.02045 -rel_err:0.022932832278311253 -Epoch 225 Train loss : 0.01911 -rel_err:0.019791830983012914 -Epoch 226 Train loss : 0.01939 -rel_err:0.022004335913807155 -Epoch 227 Train loss : 0.01607 -rel_err:0.015088997762650252 -Epoch 228 Train loss : 0.01955 -rel_err:0.02115275975316763 -Epoch 229 Train loss : 0.01994 -rel_err:0.02359381441026926 -Epoch 230 Train loss : 0.02100 -rel_err:0.02187929581850767 -Epoch 231 Train loss : 0.01984 -rel_err:0.029711665585637093 -Epoch 232 Train loss : 0.02013 -rel_err:0.02163966529071331 -Epoch 233 Train loss : 0.01881 -rel_err:0.0242274490557611 -Epoch 234 Train loss : 0.01767 -rel_err:0.016510354690253734 -Epoch 235 Train loss : 0.01445 -rel_err:0.01629553297534585 -Epoch 236 Train loss : 0.01880 -rel_err:0.019065617974847557 -Epoch 237 Train loss : 0.01943 -rel_err:0.01998952019959688 -Epoch 238 Train loss : 0.01728 -rel_err:0.018126903921365737 -Epoch 239 Train loss : 0.02168 -rel_err:0.018028916362673043 -Epoch 240 Train loss : 0.01941 -rel_err:0.015143230650573969 -Epoch 241 Train loss : 0.01569 -rel_err:0.02043427823111415 -Epoch 242 Train loss : 0.01899 -rel_err:0.017290155179798605 -Epoch 243 Train loss : 0.01896 -rel_err:0.018698945622891188 -Epoch 244 Train loss : 0.02072 -rel_err:0.023537562489509584 -Epoch 245 Train loss : 0.01849 -rel_err:0.02638848278671503 -Epoch 246 Train loss : 0.01708 -rel_err:0.0183816253580153 -Epoch 247 Train loss : 0.02028 -rel_err:0.015229552369564772 -Epoch 248 Train loss : 0.01916 -rel_err:0.025257938914000987 -Epoch 249 Train loss : 0.01814 -rel_err:0.016991418339312076 -Epoch 250 Train loss : 0.01337 -rel_err:0.023414023853838443 -Epoch 251 Train loss : 0.01782 -rel_err:0.01359219690784812 -Epoch 252 Train loss : 0.01700 -rel_err:0.016989579405635596 -Epoch 253 Train loss : 0.01804 -rel_err:0.024009614028036596 -Epoch 254 Train loss : 0.01825 -rel_err:0.019503155574202537 -Epoch 255 Train loss : 0.01528 -rel_err:0.018376738503575324 -Epoch 256 Train loss : 0.01479 -rel_err:0.015884564239531756 -Epoch 257 Train loss : 0.01855 -rel_err:0.01510781206190586 -Epoch 258 Train loss : 0.01817 -rel_err:0.014999214075505734 -Epoch 259 Train loss : 0.01606 -rel_err:0.015132107939571142 -Epoch 260 Train loss : 0.01652 -rel_err:0.014289191737771035 -Epoch 261 Train loss : 0.01801 -rel_err:0.015387425143271684 -Epoch 262 Train loss : 0.01606 -rel_err:0.018048782031983138 -Epoch 263 Train loss : 0.01709 -rel_err:0.017271456327289342 -Epoch 264 Train loss : 0.01714 -rel_err:0.012797961188480258 -Epoch 265 Train loss : 0.01550 -rel_err:0.018072120286524294 -Epoch 266 Train loss : 0.01664 -rel_err:0.020242086444050074 -Epoch 267 Train loss : 0.01508 -rel_err:0.01824666678905487 -Epoch 268 Train loss : 0.01576 -rel_err:0.013190642707049846 -Epoch 269 Train loss : 0.01720 -rel_err:0.015459195766597987 -Epoch 270 Train loss : 0.01453 -rel_err:0.015287168268114328 -Epoch 271 Train loss : 0.01647 -rel_err:0.011354679614305497 -Epoch 272 Train loss : 0.01612 -rel_err:0.014125607945024966 -Epoch 273 Train loss : 0.01599 -rel_err:0.011766318399459123 -Epoch 274 Train loss : 0.01453 -rel_err:0.02175653398036957 -Epoch 275 Train loss : 0.01662 -rel_err:0.01615321693941951 -Epoch 276 Train loss : 0.01675 -rel_err:0.01973619433119893 -Epoch 277 Train loss : 0.01502 -rel_err:0.0117818383872509 -Epoch 278 Train loss : 0.01604 -rel_err:0.013820418361574412 -Epoch 279 Train loss : 0.01572 -rel_err:0.021562539469450713 -Epoch 280 Train loss : 0.01702 -rel_err:0.013005399573594333 -Epoch 281 Train loss : 0.01605 -rel_err:0.015868185441941022 -Epoch 282 Train loss : 0.01621 -rel_err:0.01192967001348734 -Epoch 283 Train loss : 0.01330 -rel_err:0.01722338603809476 -Epoch 284 Train loss : 0.01580 -rel_err:0.013130546174943447 -Epoch 285 Train loss : 0.01337 -rel_err:0.014139267448335886 -Epoch 286 Train loss : 0.01471 -rel_err:0.017944134324789047 -Epoch 287 Train loss : 0.01489 -rel_err:0.01680774746462703 -Epoch 288 Train loss : 0.01382 -rel_err:0.01260648213326931 -Epoch 289 Train loss : 0.01274 -rel_err:0.015290051866322756 -Epoch 290 Train loss : 0.01275 -rel_err:0.018740038499236108 -Epoch 291 Train loss : 0.01655 -rel_err:0.015745010673999787 -Epoch 292 Train loss : 0.01293 -rel_err:0.01731371719390154 -Epoch 293 Train loss : 0.01574 -rel_err:0.012598117422312498 -Epoch 294 Train loss : 0.01547 -rel_err:0.01437202725559473 -Epoch 295 Train loss : 0.01589 -rel_err:0.011844997741281987 -Epoch 296 Train loss : 0.01316 -rel_err:0.01556849991902709 -Epoch 297 Train loss : 0.01353 -rel_err:0.01111829223111272 -Epoch 298 Train loss : 0.01422 -rel_err:0.014958542380481958 -Epoch 299 Train loss : 0.01291 -rel_err:0.010663883881643415 -Epoch 300 Train loss : 0.01339 -rel_err:0.012036907561123371 -save model -Epoch 301 Train loss : 0.01297 -rel_err:0.01599690007045865 -Epoch 302 Train loss : 0.01228 -rel_err:0.010655651222914458 -Epoch 303 Train loss : 0.01204 -rel_err:0.009687859006226063 -Epoch 304 Train loss : 0.01316 -rel_err:0.019168463777750732 -Epoch 305 Train loss : 0.01274 -rel_err:0.012396472506225109 -Epoch 306 Train loss : 0.01324 -rel_err:0.018719770945608616 -Epoch 307 Train loss : 0.01217 -rel_err:0.01459754416719079 -Epoch 308 Train loss : 0.01371 -rel_err:0.014401064608246089 -Epoch 309 Train loss : 0.01319 -rel_err:0.013983505293726921 -Epoch 310 Train loss : 0.01223 -rel_err:0.014588892348110677 -Epoch 311 Train loss : 0.01406 -rel_err:0.010450583724305034 -Epoch 312 Train loss : 0.01035 -rel_err:0.013484211657196283 -Epoch 313 Train loss : 0.01297 -rel_err:0.012597935665398836 -Epoch 314 Train loss : 0.01073 -rel_err:0.013127990756183863 -Epoch 315 Train loss : 0.01436 -rel_err:0.014889359008520842 -Epoch 316 Train loss : 0.01227 -rel_err:0.012399544408544898 -Epoch 317 Train loss : 0.01247 -rel_err:0.011946474742144346 -Epoch 318 Train loss : 0.01103 -rel_err:0.014012184608727694 -Epoch 319 Train loss : 0.01151 -rel_err:0.013612432386726141 -Epoch 320 Train loss : 0.01214 -rel_err:0.01082947594113648 -Epoch 321 Train loss : 0.01151 -rel_err:0.012154970532283187 -Epoch 322 Train loss : 0.01264 -rel_err:0.013264298066496849 -Epoch 323 Train loss : 0.01023 -rel_err:0.00912624473683536 -Epoch 324 Train loss : 0.01217 -rel_err:0.014705204758793116 -Epoch 325 Train loss : 0.01234 -rel_err:0.01465585634112358 -Epoch 326 Train loss : 0.01303 -rel_err:0.012486472800374031 -Epoch 327 Train loss : 0.01144 -rel_err:0.01345283716917038 -Epoch 328 Train loss : 0.01020 -rel_err:0.013707407340407372 -Epoch 329 Train loss : 0.01196 -rel_err:0.012227305183187128 -Epoch 330 Train loss : 0.01259 -rel_err:0.010382385030388831 -Epoch 331 Train loss : 0.01218 -rel_err:0.012344762273132802 -Epoch 332 Train loss : 0.01246 -rel_err:0.010926086809486152 -Epoch 333 Train loss : 0.01064 -rel_err:0.009532161466777324 -Epoch 334 Train loss : 0.01065 -rel_err:0.013281373661011458 -Epoch 335 Train loss : 0.01160 -rel_err:0.01640222540125251 -Epoch 336 Train loss : 0.01145 -rel_err:0.012679929900914431 -Epoch 337 Train loss : 0.01104 -rel_err:0.011864523915573955 -Epoch 338 Train loss : 0.01105 -rel_err:0.014798881318420172 -Epoch 339 Train loss : 0.01055 -rel_err:0.012590613262727857 -Epoch 340 Train loss : 0.01155 -rel_err:0.010562917646020652 -Epoch 341 Train loss : 0.01211 -rel_err:0.012111154794692993 -Epoch 342 Train loss : 0.01198 -rel_err:0.009971195971593261 -Epoch 343 Train loss : 0.00885 -rel_err:0.010992286782711745 -Epoch 344 Train loss : 0.01080 -rel_err:0.015280258953571319 -Epoch 345 Train loss : 0.01012 -rel_err:0.012833149582147598 -Epoch 346 Train loss : 0.01004 -rel_err:0.013667950313538313 -Epoch 347 Train loss : 0.00968 -rel_err:0.009058155547827483 -Epoch 348 Train loss : 0.01041 -rel_err:0.010246657459065318 -Epoch 349 Train loss : 0.01052 -rel_err:0.009282448068261147 -Epoch 350 Train loss : 0.00919 -rel_err:0.012406914876773954 -Epoch 351 Train loss : 0.01136 -rel_err:0.011763931903988122 -Epoch 352 Train loss : 0.00950 -rel_err:0.010108867473900319 -Epoch 353 Train loss : 0.00853 -rel_err:0.009305094191804529 -Epoch 354 Train loss : 0.00876 -rel_err:0.008946655942127109 -Epoch 355 Train loss : 0.01165 -rel_err:0.011676096487790347 -Epoch 356 Train loss : 0.01008 -rel_err:0.015994221679866315 -Epoch 357 Train loss : 0.01024 -rel_err:0.009953432260081172 -Epoch 358 Train loss : 0.01037 -rel_err:0.01178542708978057 -Epoch 359 Train loss : 0.00988 -rel_err:0.010822886032983661 -Epoch 360 Train loss : 0.01036 -rel_err:0.012266790112480521 -Epoch 361 Train loss : 0.00841 -rel_err:0.008994275750592352 -Epoch 362 Train loss : 0.00993 -rel_err:0.012180518554523588 -Epoch 363 Train loss : 0.00891 -rel_err:0.008573672724887729 -Epoch 364 Train loss : 0.00875 -rel_err:0.014258126644417644 -Epoch 365 Train loss : 0.00933 -rel_err:0.009809742784127592 -Epoch 366 Train loss : 0.00788 -rel_err:0.007389178117737174 -Epoch 367 Train loss : 0.00894 -rel_err:0.008068569162860513 -Epoch 368 Train loss : 0.00909 -rel_err:0.008773145927116276 -Epoch 369 Train loss : 0.00930 -rel_err:0.009342128839343787 -Epoch 370 Train loss : 0.00856 -rel_err:0.007357347048819065 -Epoch 371 Train loss : 0.00767 -rel_err:0.009846560871228576 -Epoch 372 Train loss : 0.00776 -rel_err:0.008272040439769625 -Epoch 373 Train loss : 0.00722 -rel_err:0.008235230771824718 -Epoch 374 Train loss : 0.00822 -rel_err:0.00903728230856359 -Epoch 375 Train loss : 0.00817 -rel_err:0.010084097292274236 -Epoch 376 Train loss : 0.00905 -rel_err:0.010317463371902704 -Epoch 377 Train loss : 0.00995 -rel_err:0.010251004947349429 -Epoch 378 Train loss : 0.00883 -rel_err:0.010585526358336211 -Epoch 379 Train loss : 0.00894 -rel_err:0.013322328589856625 -Epoch 380 Train loss : 0.00879 -rel_err:0.010140270907431841 -Epoch 381 Train loss : 0.00737 -rel_err:0.00779752298258245 -Epoch 382 Train loss : 0.00774 -rel_err:0.008271290846168995 -Epoch 383 Train loss : 0.00889 -rel_err:0.009567807409912348 -Epoch 384 Train loss : 0.00876 -rel_err:0.009350052196532488 -Epoch 385 Train loss : 0.00794 -rel_err:0.00828689363785088 -Epoch 386 Train loss : 0.00790 -rel_err:0.00938505825586617 -Epoch 387 Train loss : 0.00834 -rel_err:0.009447511844336986 -Epoch 388 Train loss : 0.00653 -rel_err:0.007605856033042074 -Epoch 389 Train loss : 0.00711 -rel_err:0.01075695431791246 -Epoch 390 Train loss : 0.00884 -rel_err:0.008475058879703283 -Epoch 391 Train loss : 0.00805 -rel_err:0.008158171009272337 -Epoch 392 Train loss : 0.00791 -rel_err:0.008598975772038102 -Epoch 393 Train loss : 0.00738 -rel_err:0.00721883456222713 -Epoch 394 Train loss : 0.00718 -rel_err:0.011028424762189388 -Epoch 395 Train loss : 0.00864 -rel_err:0.010181714380159974 -Epoch 396 Train loss : 0.00729 -rel_err:0.008742598928511142 -Epoch 397 Train loss : 0.00772 -rel_err:0.0069395396020263435 -Epoch 398 Train loss : 0.00723 -rel_err:0.00777426352724433 -Epoch 399 Train loss : 0.00700 -rel_err:0.008052469976246358 -Epoch 400 Train loss : 0.00692 -rel_err:0.007945284275338053 -save model -Epoch 401 Train loss : 0.00709 -rel_err:0.007884999560192228 -Epoch 402 Train loss : 0.00735 -rel_err:0.00785357303917408 -Epoch 403 Train loss : 0.00709 -rel_err:0.011053724819794298 -Epoch 404 Train loss : 0.00747 -rel_err:0.008052241569384933 -Epoch 405 Train loss : 0.00699 -rel_err:0.009586189044639468 -Epoch 406 Train loss : 0.00698 -rel_err:0.008567790370434522 -Epoch 407 Train loss : 0.00689 -rel_err:0.007899520015344023 -Epoch 408 Train loss : 0.00659 -rel_err:0.008029903499409557 -Epoch 409 Train loss : 0.00661 -rel_err:0.00710776062682271 -Epoch 410 Train loss : 0.00693 -rel_err:0.007029604688286781 -Epoch 411 Train loss : 0.00636 -rel_err:0.007704149419441819 -Epoch 412 Train loss : 0.00628 -rel_err:0.006770340073853731 -Epoch 413 Train loss : 0.00638 -rel_err:0.007856791261583567 -Epoch 414 Train loss : 0.00681 -rel_err:0.011607611961662769 -Epoch 415 Train loss : 0.00689 -rel_err:0.006771560022607446 -Epoch 416 Train loss : 0.00649 -rel_err:0.007613093685358762 -Epoch 417 Train loss : 0.00592 -rel_err:0.006848622234538197 -Epoch 418 Train loss : 0.00627 -rel_err:0.0076353442575782535 -Epoch 419 Train loss : 0.00624 -rel_err:0.007262547356076538 -Epoch 420 Train loss : 0.00613 -rel_err:0.007393322754651308 -Epoch 421 Train loss : 0.00632 -rel_err:0.007101713065057993 -Epoch 422 Train loss : 0.00637 -rel_err:0.010296841626986861 -Epoch 423 Train loss : 0.00619 -rel_err:0.00956846953369677 -Epoch 424 Train loss : 0.00626 -rel_err:0.008377652885392307 -Epoch 425 Train loss : 0.00596 -rel_err:0.0067759388033300635 -Epoch 426 Train loss : 0.00574 -rel_err:0.009019136000424623 -Epoch 427 Train loss : 0.00558 -rel_err:0.007222613366320729 -Epoch 428 Train loss : 0.00576 -rel_err:0.006808680822141469 -Epoch 429 Train loss : 0.00587 -rel_err:0.006966459061950445 -Epoch 430 Train loss : 0.00591 -rel_err:0.007252018358558416 -Epoch 431 Train loss : 0.00586 -rel_err:0.007980745239183306 -Epoch 432 Train loss : 0.00577 -rel_err:0.007852482181042432 -Epoch 433 Train loss : 0.00546 -rel_err:0.006810514144599438 -Epoch 434 Train loss : 0.00598 -rel_err:0.00700806331820786 -Epoch 435 Train loss : 0.00578 -rel_err:0.007109158132225275 -Epoch 436 Train loss : 0.00526 -rel_err:0.006790396990254521 -Epoch 437 Train loss : 0.00599 -rel_err:0.0064067852823063735 -Epoch 438 Train loss : 0.00567 -rel_err:0.006865559881553054 -Epoch 439 Train loss : 0.00558 -rel_err:0.007029182086698711 -Epoch 440 Train loss : 0.00545 -rel_err:0.007904627667739987 -Epoch 441 Train loss : 0.00577 -rel_err:0.00697546276729554 -Epoch 442 Train loss : 0.00560 -rel_err:0.006672458983957768 -Epoch 443 Train loss : 0.00537 -rel_err:0.0068404429778456685 -Epoch 444 Train loss : 0.00527 -rel_err:0.0065666881203651425 -Epoch 445 Train loss : 0.00497 -rel_err:0.006202767514623702 -Epoch 446 Train loss : 0.00519 -rel_err:0.006426616008393466 -Epoch 447 Train loss : 0.00505 -rel_err:0.0063549278490245345 -Epoch 448 Train loss : 0.00540 -rel_err:0.006265358589589595 -Epoch 449 Train loss : 0.00498 -rel_err:0.006809639204293489 -Epoch 450 Train loss : 0.00526 -rel_err:0.007323792623355985 -Epoch 451 Train loss : 0.00536 -rel_err:0.006350711146369576 -Epoch 452 Train loss : 0.00488 -rel_err:0.006725958497263491 -Epoch 453 Train loss : 0.00529 -rel_err:0.006385013116523623 -Epoch 454 Train loss : 0.00480 -rel_err:0.006463134069927037 -Epoch 455 Train loss : 0.00515 -rel_err:0.006370618902146816 -Epoch 456 Train loss : 0.00500 -rel_err:0.0066153340507298704 -Epoch 457 Train loss : 0.00489 -rel_err:0.00623665053397417 -Epoch 458 Train loss : 0.00477 -rel_err:0.006880685035139322 -Epoch 459 Train loss : 0.00479 -rel_err:0.006774098575115204 -Epoch 460 Train loss : 0.00518 -rel_err:0.006310262619517743 -Epoch 461 Train loss : 0.00483 -rel_err:0.007225700644776225 -Epoch 462 Train loss : 0.00490 -rel_err:0.006325971782207489 -Epoch 463 Train loss : 0.00486 -rel_err:0.0067830056836828585 -Epoch 464 Train loss : 0.00477 -rel_err:0.006708575822412968 -Epoch 465 Train loss : 0.00486 -rel_err:0.00657099112868309 -Epoch 466 Train loss : 0.00459 -rel_err:0.006809292174875736 -Epoch 467 Train loss : 0.00483 -rel_err:0.006505082324147224 -Epoch 468 Train loss : 0.00470 -rel_err:0.006909859739243985 -Epoch 469 Train loss : 0.00463 -rel_err:0.006508436575531959 -Epoch 470 Train loss : 0.00480 -rel_err:0.006870631603524089 -Epoch 471 Train loss : 0.00464 -rel_err:0.0068293229909613725 -Epoch 472 Train loss : 0.00468 -rel_err:0.006161607438698411 -Epoch 473 Train loss : 0.00469 -rel_err:0.006120712552219629 -Epoch 474 Train loss : 0.00464 -rel_err:0.006242757854051888 -Epoch 475 Train loss : 0.00462 -rel_err:0.0070667054876685145 -Epoch 476 Train loss : 0.00464 -rel_err:0.0062638548202812675 -Epoch 477 Train loss : 0.00446 -rel_err:0.0060402280837297435 -Epoch 478 Train loss : 0.00451 -rel_err:0.006431210963055492 -Epoch 479 Train loss : 0.00482 -rel_err:0.0062758921273052696 -Epoch 480 Train loss : 0.00442 -rel_err:0.006744699366390705 -Epoch 481 Train loss : 0.00455 -rel_err:0.006549576194956898 -Epoch 482 Train loss : 0.00431 -rel_err:0.00627907298039645 -Epoch 483 Train loss : 0.00456 -rel_err:0.006248181387782097 -Epoch 484 Train loss : 0.00471 -rel_err:0.006071806829422713 -Epoch 485 Train loss : 0.00455 -rel_err:0.007077434239909053 -Epoch 486 Train loss : 0.00453 -rel_err:0.0061233222670853136 -Epoch 487 Train loss : 0.00434 -rel_err:0.006775556281208992 -Epoch 488 Train loss : 0.00464 -rel_err:0.006838151360861957 -Epoch 489 Train loss : 0.00448 -rel_err:0.006434607114642859 -Epoch 490 Train loss : 0.00447 -rel_err:0.006140036024153233 -Epoch 491 Train loss : 0.00440 -rel_err:0.006098693781532347 -Epoch 492 Train loss : 0.00444 -rel_err:0.006438782326877117 -Epoch 493 Train loss : 0.00456 -rel_err:0.006114564598537982 -Epoch 494 Train loss : 0.00432 -rel_err:0.006118903746828437 -Epoch 495 Train loss : 0.00437 -rel_err:0.00628210415598005 -Epoch 496 Train loss : 0.00430 -rel_err:0.006618500864133239 -Epoch 497 Train loss : 0.00449 -rel_err:0.0062104371236637234 -Epoch 498 Train loss : 0.00433 -rel_err:0.006441751411184669 -Epoch 499 Train loss : 0.00440 -rel_err:0.005978186861611902 -save model diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_E.log deleted file mode 100644 index 16710b0b4c..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_E.log +++ /dev/null @@ -1,240 +0,0 @@ -W1030 13:25:43.721320 1222579 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1030 13:25:43.721853 1222579 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=4, gpu=0, max_grad_norm=0.1, downsample=5, mlp_ratio=1, dropout=0.0, ntrain=1000, unified_pos=1, ref=8, slice_num=64, eval=1, save_name='darcy_UniPDE', data_path='data/fno') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=65, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp2): Linear(in_features=128, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 2826945 -model evaluation -85 85 -W1030 13:26:02.418881 1222579 multiply_fwd_func.cc:64] got different data type, run type protmotion automatically, this may cause data type been changed. -1 -2 -3 -4 -5 -6 -7 -8 -9 -rel_err:0.00567440442168881 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_T.log deleted file mode 100644 index c00da18610..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Dracy_T.log +++ /dev/null @@ -1,1234 +0,0 @@ -W1029 22:19:36.564289 880429 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1029 22:19:36.564832 880429 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=4, gpu=0, max_grad_norm=0.1, downsample=5, mlp_ratio=1, dropout=0.0, ntrain=1000, unified_pos=1, ref=8, slice_num=64, eval=0, save_name='darcy_UniPDE', data_path='data/fno') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=65, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp2): Linear(in_features=128, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 2826945 -W1029 22:19:58.109582 880429 multiply_fwd_func.cc:64] got different data type, run type protmotion automatically, this may cause data type been changed. -Epoch 0 Reg : 1.43652 Train loss : 0.26459 -rel_err:0.23368224725962228 -save model -Epoch 1 Reg : 1.12124 Train loss : 0.21533 -rel_err:0.21260997986849714 -Epoch 2 Reg : 0.96457 Train loss : 0.17851 -rel_err:0.15204534753766424 -Epoch 3 Reg : 0.78813 Train loss : 0.13761 -rel_err:0.13461141191441406 -Epoch 4 Reg : 0.74916 Train loss : 0.12966 -rel_err:0.1280447244623275 -Epoch 5 Reg : 0.70560 Train loss : 0.11957 -rel_err:0.11630031197336693 -Epoch 6 Reg : 0.68491 Train loss : 0.11570 -rel_err:0.11106229566452047 -Epoch 7 Reg : 0.63972 Train loss : 0.10635 -rel_err:0.09699192479830698 -Epoch 8 Reg : 0.62093 Train loss : 0.10010 -rel_err:0.09095664625908985 -Epoch 9 Reg : 0.59657 Train loss : 0.09560 -rel_err:0.10150349195357256 -Epoch 10 Reg : 0.57866 Train loss : 0.09235 -rel_err:0.09015321042528868 -Epoch 11 Reg : 0.56592 Train loss : 0.08932 -rel_err:0.09966622573096526 -Epoch 12 Reg : 0.56061 Train loss : 0.08632 -rel_err:0.07579543569072211 -Epoch 13 Reg : 0.54919 Train loss : 0.08416 -rel_err:0.08393851539059581 -Epoch 14 Reg : 0.54302 Train loss : 0.08216 -rel_err:0.07563489932187493 -Epoch 15 Reg : 0.52991 Train loss : 0.08039 -rel_err:0.0768191805676456 -Epoch 16 Reg : 0.52093 Train loss : 0.07717 -rel_err:0.0814822475686859 -Epoch 17 Reg : 0.50896 Train loss : 0.07400 -rel_err:0.07207254401215171 -Epoch 18 Reg : 0.50815 Train loss : 0.07312 -rel_err:0.07532276944779981 -Epoch 19 Reg : 0.49738 Train loss : 0.07224 -rel_err:0.08270809991087948 -Epoch 20 Reg : 0.49462 Train loss : 0.07036 -rel_err:0.07623972186971324 -Epoch 21 Reg : 0.48860 Train loss : 0.07121 -rel_err:0.08170465538839423 -Epoch 22 Reg : 0.48290 Train loss : 0.06832 -rel_err:0.07017243686966534 -Epoch 23 Reg : 0.46850 Train loss : 0.06703 -rel_err:0.06483897254568721 -Epoch 24 Reg : 0.46391 Train loss : 0.06522 -rel_err:0.06513271921183139 -Epoch 25 Reg : 0.45943 Train loss : 0.06694 -rel_err:0.06223979098317853 -Epoch 26 Reg : 0.44661 Train loss : 0.06426 -rel_err:0.07251887001512147 -Epoch 27 Reg : 0.42811 Train loss : 0.06181 -rel_err:0.05612205899209055 -Epoch 28 Reg : 0.41825 Train loss : 0.06130 -rel_err:0.05889591744113641 -Epoch 29 Reg : 0.40976 Train loss : 0.05886 -rel_err:0.053387193991738024 -Epoch 30 Reg : 0.40352 Train loss : 0.05759 -rel_err:0.04938622321907041 -Epoch 31 Reg : 0.39024 Train loss : 0.05578 -rel_err:0.06326122941531682 -Epoch 32 Reg : 0.39342 Train loss : 0.05732 -rel_err:0.06105082395227794 -Epoch 33 Reg : 0.37664 Train loss : 0.05330 -rel_err:0.059111373675385985 -Epoch 34 Reg : 0.37779 Train loss : 0.05450 -rel_err:0.056700214174204844 -Epoch 35 Reg : 0.36874 Train loss : 0.05271 -rel_err:0.05167727157250809 -Epoch 36 Reg : 0.35857 Train loss : 0.05152 -rel_err:0.04991880476528541 -Epoch 37 Reg : 0.35230 Train loss : 0.05016 -rel_err:0.04524069929703517 -Epoch 38 Reg : 0.35186 Train loss : 0.05139 -rel_err:0.059537527675642646 -Epoch 39 Reg : 0.34747 Train loss : 0.05077 -rel_err:0.04295285049690078 -Epoch 40 Reg : 0.32151 Train loss : 0.04633 -rel_err:0.04454673940063952 -Epoch 41 Reg : 0.32714 Train loss : 0.04822 -rel_err:0.04455530879190733 -Epoch 42 Reg : 0.31905 Train loss : 0.04653 -rel_err:0.045082628695038124 -Epoch 43 Reg : 0.31934 Train loss : 0.04666 -rel_err:0.041012809333458924 -Epoch 44 Reg : 0.30564 Train loss : 0.04502 -rel_err:0.04575402752842516 -Epoch 45 Reg : 0.30425 Train loss : 0.04459 -rel_err:0.04444160515998763 -Epoch 46 Reg : 0.29794 Train loss : 0.04394 -rel_err:0.04126715753274334 -Epoch 47 Reg : 0.29998 Train loss : 0.04444 -rel_err:0.040681781265271715 -Epoch 48 Reg : 0.28889 Train loss : 0.04173 -rel_err:0.04648677242078827 -Epoch 49 Reg : 0.29101 Train loss : 0.04354 -rel_err:0.04797750436727501 -Epoch 50 Reg : 0.27727 Train loss : 0.04072 -rel_err:0.041946749370573404 -Epoch 51 Reg : 0.26702 Train loss : 0.03907 -rel_err:0.038356301162005085 -Epoch 52 Reg : 0.26559 Train loss : 0.04119 -rel_err:0.041877756458873795 -Epoch 53 Reg : 0.26287 Train loss : 0.03974 -rel_err:0.03540356743205767 -Epoch 54 Reg : 0.25386 Train loss : 0.03966 -rel_err:0.03258109835463814 -Epoch 55 Reg : 0.25020 Train loss : 0.03814 -rel_err:0.03872749463059803 -Epoch 56 Reg : 0.24708 Train loss : 0.03827 -rel_err:0.03225926042969137 -Epoch 57 Reg : 0.24062 Train loss : 0.03587 -rel_err:0.04305350274555587 -Epoch 58 Reg : 0.23687 Train loss : 0.03617 -rel_err:0.03776265265338871 -Epoch 59 Reg : 0.23683 Train loss : 0.03644 -rel_err:0.039575493655132035 -Epoch 60 Reg : 0.23393 Train loss : 0.03540 -rel_err:0.042810512717391704 -Epoch 61 Reg : 0.23900 Train loss : 0.03768 -rel_err:0.03179283791271089 -Epoch 62 Reg : 0.22783 Train loss : 0.03511 -rel_err:0.03159960115818071 -Epoch 63 Reg : 0.21689 Train loss : 0.03354 -rel_err:0.034347615684196746 -Epoch 64 Reg : 0.22411 Train loss : 0.03587 -rel_err:0.03141218145865701 -Epoch 65 Reg : 0.23131 Train loss : 0.03697 -rel_err:0.03256768254734624 -Epoch 66 Reg : 0.21856 Train loss : 0.03375 -rel_err:0.03365429618287593 -Epoch 67 Reg : 0.21153 Train loss : 0.03310 -rel_err:0.03580230612049045 -Epoch 68 Reg : 0.20803 Train loss : 0.03355 -rel_err:0.028993573955762086 -Epoch 69 Reg : 0.21049 Train loss : 0.03278 -rel_err:0.03214764807246628 -Epoch 70 Reg : 0.20624 Train loss : 0.03202 -rel_err:0.03252857953155607 -Epoch 71 Reg : 0.20616 Train loss : 0.03244 -rel_err:0.02500414024743342 -Epoch 72 Reg : 0.19880 Train loss : 0.03153 -rel_err:0.03583401753665621 -Epoch 73 Reg : 0.20337 Train loss : 0.03311 -rel_err:0.03195123682644615 -Epoch 74 Reg : 0.20020 Train loss : 0.03270 -rel_err:0.03644811001276719 -Epoch 75 Reg : 0.20190 Train loss : 0.03226 -rel_err:0.02968989134020235 -Epoch 76 Reg : 0.19669 Train loss : 0.03079 -rel_err:0.027165076706838934 -Epoch 77 Reg : 0.19005 Train loss : 0.02988 -rel_err:0.03469741326128392 -Epoch 78 Reg : 0.19016 Train loss : 0.02956 -rel_err:0.03331371374589459 -Epoch 79 Reg : 0.19469 Train loss : 0.03150 -rel_err:0.025593727439097866 -Epoch 80 Reg : 0.19235 Train loss : 0.03041 -rel_err:0.02825006102285083 -Epoch 81 Reg : 0.18065 Train loss : 0.02753 -rel_err:0.02741847893217194 -Epoch 82 Reg : 0.19180 Train loss : 0.03028 -rel_err:0.0283544561657997 -Epoch 83 Reg : 0.18149 Train loss : 0.02851 -rel_err:0.03835836157124421 -Epoch 84 Reg : 0.18946 Train loss : 0.02917 -rel_err:0.03088623367738118 -Epoch 85 Reg : 0.18852 Train loss : 0.03021 -rel_err:0.021002636969101717 -Epoch 86 Reg : 0.17635 Train loss : 0.02770 -rel_err:0.027341678425502457 -Epoch 87 Reg : 0.17473 Train loss : 0.02795 -rel_err:0.026530628763057406 -Epoch 88 Reg : 0.16985 Train loss : 0.02681 -rel_err:0.02892533435666208 -Epoch 89 Reg : 0.18044 Train loss : 0.02791 -rel_err:0.023983613624070213 -Epoch 90 Reg : 0.17473 Train loss : 0.02703 -rel_err:0.024686504796580282 -Epoch 91 Reg : 0.17990 Train loss : 0.02858 -rel_err:0.024268264007826015 -Epoch 92 Reg : 0.18233 Train loss : 0.02932 -rel_err:0.029168972767202983 -Epoch 93 Reg : 0.16742 Train loss : 0.02701 -rel_err:0.025201430498670116 -Epoch 94 Reg : 0.16927 Train loss : 0.02651 -rel_err:0.03226087374929604 -Epoch 95 Reg : 0.16463 Train loss : 0.02493 -rel_err:0.023666223928440533 -Epoch 96 Reg : 0.16212 Train loss : 0.02512 -rel_err:0.0317074413878464 -Epoch 97 Reg : 0.17526 Train loss : 0.02725 -rel_err:0.03053720953271589 -Epoch 98 Reg : 0.16685 Train loss : 0.02649 -rel_err:0.025263156706350882 -Epoch 99 Reg : 0.16874 Train loss : 0.02621 -rel_err:0.023956198920767512 -Epoch 100 Reg : 0.17336 Train loss : 0.02874 -rel_err:0.021564460101135143 -save model -Epoch 101 Reg : 0.16813 Train loss : 0.02556 -rel_err:0.023782308243612372 -Epoch 102 Reg : 0.16476 Train loss : 0.02607 -rel_err:0.026663059893233875 -Epoch 103 Reg : 0.15991 Train loss : 0.02497 -rel_err:0.0321697854312446 -Epoch 104 Reg : 0.16840 Train loss : 0.02605 -rel_err:0.03088920307066407 -Epoch 105 Reg : 0.16434 Train loss : 0.02540 -rel_err:0.023397061706870007 -Epoch 106 Reg : 0.16471 Train loss : 0.02586 -rel_err:0.0237814041555975 -Epoch 107 Reg : 0.16752 Train loss : 0.02656 -rel_err:0.02244392863132232 -Epoch 108 Reg : 0.15195 Train loss : 0.02305 -rel_err:0.02151082915171881 -Epoch 109 Reg : 0.15963 Train loss : 0.02439 -rel_err:0.023084787161908163 -Epoch 110 Reg : 0.16209 Train loss : 0.02517 -rel_err:0.02793285161293951 -Epoch 111 Reg : 0.15822 Train loss : 0.02447 -rel_err:0.02381753819097897 -Epoch 112 Reg : 0.15677 Train loss : 0.02420 -rel_err:0.024819155228115414 -Epoch 113 Reg : 0.16132 Train loss : 0.02501 -rel_err:0.022281998816753093 -Epoch 114 Reg : 0.15143 Train loss : 0.02327 -rel_err:0.01790915482531319 -Epoch 115 Reg : 0.15027 Train loss : 0.02307 -rel_err:0.028329523141693666 -Epoch 116 Reg : 0.16074 Train loss : 0.02526 -rel_err:0.020373928059958867 -Epoch 117 Reg : 0.14324 Train loss : 0.02184 -rel_err:0.02437488769426177 -Epoch 118 Reg : 0.15243 Train loss : 0.02306 -rel_err:0.020079913881419702 -Epoch 119 Reg : 0.14822 Train loss : 0.02318 -rel_err:0.024344788213168895 -Epoch 120 Reg : 0.14602 Train loss : 0.02188 -rel_err:0.02096991126015586 -Epoch 121 Reg : 0.14758 Train loss : 0.02260 -rel_err:0.02490362827755344 -Epoch 122 Reg : 0.15279 Train loss : 0.02313 -rel_err:0.023666515845148915 -Epoch 123 Reg : 0.15226 Train loss : 0.02347 -rel_err:0.023112823942591176 -Epoch 124 Reg : 0.13625 Train loss : 0.02053 -rel_err:0.01815082271486013 -Epoch 125 Reg : 0.14736 Train loss : 0.02258 -rel_err:0.020294471359250287 -Epoch 126 Reg : 0.13975 Train loss : 0.02113 -rel_err:0.018879565167668862 -Epoch 127 Reg : 0.13811 Train loss : 0.02062 -rel_err:0.02036655671732917 -Epoch 128 Reg : 0.14604 Train loss : 0.02270 -rel_err:0.03378355854766726 -Epoch 129 Reg : 0.14646 Train loss : 0.02217 -rel_err:0.0227884106182573 -Epoch 130 Reg : 0.13286 Train loss : 0.01915 -rel_err:0.02812566211115556 -Epoch 131 Reg : 0.14153 Train loss : 0.02166 -rel_err:0.021391229173858176 -Epoch 132 Reg : 0.14562 Train loss : 0.02155 -rel_err:0.036226513129193165 -Epoch 133 Reg : 0.13732 Train loss : 0.02044 -rel_err:0.016379491341752036 -Epoch 134 Reg : 0.13475 Train loss : 0.01999 -rel_err:0.018442491546238546 -Epoch 135 Reg : 0.14773 Train loss : 0.02192 -rel_err:0.0184321671195062 -Epoch 136 Reg : 0.13815 Train loss : 0.02025 -rel_err:0.022719615893066834 -Epoch 137 Reg : 0.13264 Train loss : 0.01914 -rel_err:0.025498841258524783 -Epoch 138 Reg : 0.13041 Train loss : 0.01889 -rel_err:0.019129382625524497 -Epoch 139 Reg : 0.13234 Train loss : 0.01992 -rel_err:0.018124629861514353 -Epoch 140 Reg : 0.13221 Train loss : 0.01950 -rel_err:0.015902669637366938 -Epoch 141 Reg : 0.12875 Train loss : 0.01951 -rel_err:0.017759485307064646 -Epoch 142 Reg : 0.12674 Train loss : 0.01856 -rel_err:0.017920758991957948 -Epoch 143 Reg : 0.12824 Train loss : 0.01853 -rel_err:0.021397296254226466 -Epoch 144 Reg : 0.13533 Train loss : 0.01982 -rel_err:0.02371950910331809 -Epoch 145 Reg : 0.13519 Train loss : 0.02025 -rel_err:0.021064917395231197 -Epoch 146 Reg : 0.12968 Train loss : 0.01935 -rel_err:0.020003727277785016 -Epoch 147 Reg : 0.12443 Train loss : 0.01797 -rel_err:0.01801878009536953 -Epoch 148 Reg : 0.13850 Train loss : 0.02085 -rel_err:0.017371307521117624 -Epoch 149 Reg : 0.12757 Train loss : 0.01877 -rel_err:0.024645268314626146 -Epoch 150 Reg : 0.13633 Train loss : 0.01971 -rel_err:0.01913863253711042 -Epoch 151 Reg : 0.12533 Train loss : 0.01808 -rel_err:0.016808363976478828 -Epoch 152 Reg : 0.12033 Train loss : 0.01729 -rel_err:0.0192537661350978 -Epoch 153 Reg : 0.12697 Train loss : 0.01865 -rel_err:0.02189156959537243 -Epoch 154 Reg : 0.12257 Train loss : 0.01778 -rel_err:0.015262868618088477 -Epoch 155 Reg : 0.12582 Train loss : 0.01814 -rel_err:0.020541654411244198 -Epoch 156 Reg : 0.12250 Train loss : 0.01801 -rel_err:0.02621754267893514 -Epoch 157 Reg : 0.11909 Train loss : 0.01722 -rel_err:0.02354660854754096 -Epoch 158 Reg : 0.11779 Train loss : 0.01712 -rel_err:0.015490404294207512 -Epoch 159 Reg : 0.12034 Train loss : 0.01736 -rel_err:0.01593777229702582 -Epoch 160 Reg : 0.11401 Train loss : 0.01674 -rel_err:0.01465045648104385 -Epoch 161 Reg : 0.11647 Train loss : 0.01726 -rel_err:0.019548593080251624 -Epoch 162 Reg : 0.11874 Train loss : 0.01708 -rel_err:0.016606260806947146 -Epoch 163 Reg : 0.12059 Train loss : 0.01777 -rel_err:0.018698994029319266 -Epoch 164 Reg : 0.11335 Train loss : 0.01586 -rel_err:0.021550025679367448 -Epoch 165 Reg : 0.11492 Train loss : 0.01676 -rel_err:0.015078562786630157 -Epoch 166 Reg : 0.11660 Train loss : 0.01643 -rel_err:0.014405084246198565 -Epoch 167 Reg : 0.11128 Train loss : 0.01549 -rel_err:0.01586409160934454 -Epoch 168 Reg : 0.11849 Train loss : 0.01724 -rel_err:0.01658614071993191 -Epoch 169 Reg : 0.10758 Train loss : 0.01515 -rel_err:0.017797145023811058 -Epoch 170 Reg : 0.11171 Train loss : 0.01619 -rel_err:0.018873974682653935 -Epoch 171 Reg : 0.10969 Train loss : 0.01563 -rel_err:0.02139836676740478 -Epoch 172 Reg : 0.12461 Train loss : 0.01841 -rel_err:0.015342386278889666 -Epoch 173 Reg : 0.11627 Train loss : 0.01723 -rel_err:0.026098081048742682 -Epoch 174 Reg : 0.11418 Train loss : 0.01601 -rel_err:0.016515026799648627 -Epoch 175 Reg : 0.10346 Train loss : 0.01463 -rel_err:0.021311597884977326 -Epoch 176 Reg : 0.11244 Train loss : 0.01554 -rel_err:0.016054252619817272 -Epoch 177 Reg : 0.11002 Train loss : 0.01509 -rel_err:0.013204809380395676 -Epoch 178 Reg : 0.10331 Train loss : 0.01481 -rel_err:0.012857951737480054 -Epoch 179 Reg : 0.11365 Train loss : 0.01672 -rel_err:0.015036477075713494 -Epoch 180 Reg : 0.10463 Train loss : 0.01483 -rel_err:0.01534067644648617 -Epoch 181 Reg : 0.10924 Train loss : 0.01527 -rel_err:0.01687244574221143 -Epoch 182 Reg : 0.10371 Train loss : 0.01413 -rel_err:0.014920807616320132 -Epoch 183 Reg : 0.10933 Train loss : 0.01571 -rel_err:0.019315064771763136 -Epoch 184 Reg : 0.10296 Train loss : 0.01482 -rel_err:0.016163802112104136 -Epoch 185 Reg : 0.10032 Train loss : 0.01363 -rel_err:0.016088323955591982 -Epoch 186 Reg : 0.10584 Train loss : 0.01455 -rel_err:0.012590103335312557 -Epoch 187 Reg : 0.10555 Train loss : 0.01515 -rel_err:0.017187400947506995 -Epoch 188 Reg : 0.10513 Train loss : 0.01452 -rel_err:0.014090029204668519 -Epoch 189 Reg : 0.10333 Train loss : 0.01450 -rel_err:0.014972596803331724 -Epoch 190 Reg : 0.10004 Train loss : 0.01363 -rel_err:0.018416861849696473 -Epoch 191 Reg : 0.10137 Train loss : 0.01381 -rel_err:0.018531343519719568 -Epoch 192 Reg : 0.10174 Train loss : 0.01383 -rel_err:0.016266360833951075 -Epoch 193 Reg : 0.09935 Train loss : 0.01334 -rel_err:0.011176624010676268 -Epoch 194 Reg : 0.09922 Train loss : 0.01364 -rel_err:0.017346231273493065 -Epoch 195 Reg : 0.10025 Train loss : 0.01382 -rel_err:0.015074272202351474 -Epoch 196 Reg : 0.09494 Train loss : 0.01298 -rel_err:0.015672111206052334 -Epoch 197 Reg : 0.10198 Train loss : 0.01419 -rel_err:0.011967628694635326 -Epoch 198 Reg : 0.09856 Train loss : 0.01344 -rel_err:0.014884028950819533 -Epoch 199 Reg : 0.09553 Train loss : 0.01301 -rel_err:0.01505068218342514 -Epoch 200 Reg : 0.10264 Train loss : 0.01427 -rel_err:0.019004129781484736 -save model -Epoch 201 Reg : 0.10467 Train loss : 0.01453 -rel_err:0.013310338048667747 -Epoch 202 Reg : 0.09327 Train loss : 0.01204 -rel_err:0.014437502315423772 -Epoch 203 Reg : 0.08846 Train loss : 0.01111 -rel_err:0.01439293703897419 -Epoch 204 Reg : 0.09742 Train loss : 0.01357 -rel_err:0.012913333663541037 -Epoch 205 Reg : 0.09533 Train loss : 0.01297 -rel_err:0.014463923046952726 -Epoch 206 Reg : 0.09856 Train loss : 0.01359 -rel_err:0.013686558500012921 -Epoch 207 Reg : 0.09734 Train loss : 0.01287 -rel_err:0.017803359318515247 -Epoch 208 Reg : 0.09762 Train loss : 0.01326 -rel_err:0.018597756039561125 -Epoch 209 Reg : 0.09497 Train loss : 0.01242 -rel_err:0.013197380212690069 -Epoch 210 Reg : 0.09396 Train loss : 0.01253 -rel_err:0.013420232383572338 -Epoch 211 Reg : 0.09733 Train loss : 0.01282 -rel_err:0.014548125145798896 -Epoch 212 Reg : 0.09493 Train loss : 0.01257 -rel_err:0.01302043281601734 -Epoch 213 Reg : 0.09094 Train loss : 0.01157 -rel_err:0.013906528730104135 -Epoch 214 Reg : 0.09535 Train loss : 0.01248 -rel_err:0.011253418767701601 -Epoch 215 Reg : 0.09033 Train loss : 0.01186 -rel_err:0.009860334316911527 -Epoch 216 Reg : 0.09778 Train loss : 0.01335 -rel_err:0.012972265011584126 -Epoch 217 Reg : 0.09237 Train loss : 0.01191 -rel_err:0.015976630741692102 -Epoch 218 Reg : 0.09450 Train loss : 0.01256 -rel_err:0.014522025460483505 -Epoch 219 Reg : 0.09399 Train loss : 0.01236 -rel_err:0.01618874956324398 -Epoch 220 Reg : 0.09265 Train loss : 0.01230 -rel_err:0.01331450358967151 -Epoch 221 Reg : 0.08649 Train loss : 0.01088 -rel_err:0.011289897094895134 -Epoch 222 Reg : 0.08761 Train loss : 0.01099 -rel_err:0.010328640758509028 -Epoch 223 Reg : 0.08860 Train loss : 0.01122 -rel_err:0.00988952785551273 -Epoch 224 Reg : 0.09110 Train loss : 0.01190 -rel_err:0.012387668583136146 -Epoch 225 Reg : 0.09693 Train loss : 0.01278 -rel_err:0.009268964162422476 -Epoch 226 Reg : 0.09010 Train loss : 0.01184 -rel_err:0.012569603902194608 -Epoch 227 Reg : 0.09178 Train loss : 0.01179 -rel_err:0.014009564188773466 -Epoch 228 Reg : 0.08873 Train loss : 0.01135 -rel_err:0.010911670426946896 -Epoch 229 Reg : 0.08783 Train loss : 0.01124 -rel_err:0.014355391364035386 -Epoch 230 Reg : 0.09113 Train loss : 0.01236 -rel_err:0.010864655021664804 -Epoch 231 Reg : 0.09315 Train loss : 0.01229 -rel_err:0.011682042564879515 -Epoch 232 Reg : 0.08884 Train loss : 0.01153 -rel_err:0.014389109013375057 -Epoch 233 Reg : 0.08628 Train loss : 0.01083 -rel_err:0.012414653722312792 -Epoch 234 Reg : 0.08925 Train loss : 0.01102 -rel_err:0.011034626754969997 -Epoch 235 Reg : 0.08431 Train loss : 0.01016 -rel_err:0.009738215312982057 -Epoch 236 Reg : 0.08841 Train loss : 0.01124 -rel_err:0.012581046866879346 -Epoch 237 Reg : 0.09331 Train loss : 0.01240 -rel_err:0.011190896697908244 -Epoch 238 Reg : 0.08732 Train loss : 0.01090 -rel_err:0.011683021742408699 -Epoch 239 Reg : 0.08759 Train loss : 0.01104 -rel_err:0.008696518475892152 -Epoch 240 Reg : 0.08907 Train loss : 0.01176 -rel_err:0.010161069848641846 -Epoch 241 Reg : 0.08971 Train loss : 0.01157 -rel_err:0.01240043578813549 -Epoch 242 Reg : 0.08818 Train loss : 0.01091 -rel_err:0.009710371891206625 -Epoch 243 Reg : 0.08601 Train loss : 0.01031 -rel_err:0.015414620813457552 -Epoch 244 Reg : 0.08272 Train loss : 0.00996 -rel_err:0.011210518142195123 -Epoch 245 Reg : 0.08496 Train loss : 0.01049 -rel_err:0.012748071707844612 -Epoch 246 Reg : 0.08210 Train loss : 0.00949 -rel_err:0.010799352800411588 -Epoch 247 Reg : 0.08567 Train loss : 0.01084 -rel_err:0.011857980974255031 -Epoch 248 Reg : 0.08409 Train loss : 0.01032 -rel_err:0.009933818616517369 -Epoch 249 Reg : 0.08503 Train loss : 0.01117 -rel_err:0.012226063465241608 -Epoch 250 Reg : 0.08262 Train loss : 0.00968 -rel_err:0.011230125974942424 -Epoch 251 Reg : 0.08324 Train loss : 0.01045 -rel_err:0.012501662337902572 -Epoch 252 Reg : 0.08644 Train loss : 0.01106 -rel_err:0.014177620727613588 -Epoch 253 Reg : 0.08484 Train loss : 0.01028 -rel_err:0.010756961372825684 -Epoch 254 Reg : 0.08181 Train loss : 0.00986 -rel_err:0.009797308836164358 -Epoch 255 Reg : 0.08259 Train loss : 0.00977 -rel_err:0.010856471867480032 -Epoch 256 Reg : 0.09185 Train loss : 0.01206 -rel_err:0.010982573619771636 -Epoch 257 Reg : 0.08680 Train loss : 0.01043 -rel_err:0.010774235493791586 -Epoch 258 Reg : 0.08161 Train loss : 0.00969 -rel_err:0.009562422220378442 -Epoch 259 Reg : 0.08029 Train loss : 0.00950 -rel_err:0.013009234383182808 -Epoch 260 Reg : 0.08410 Train loss : 0.01035 -rel_err:0.012990194633627357 -Epoch 261 Reg : 0.08007 Train loss : 0.00929 -rel_err:0.0104840566305733 -Epoch 262 Reg : 0.08006 Train loss : 0.00946 -rel_err:0.009530488397271995 -Epoch 263 Reg : 0.08422 Train loss : 0.01037 -rel_err:0.010303912316523788 -Epoch 264 Reg : 0.08039 Train loss : 0.00920 -rel_err:0.011848640566902897 -Epoch 265 Reg : 0.08205 Train loss : 0.01000 -rel_err:0.014023157830490296 -Epoch 266 Reg : 0.08026 Train loss : 0.00931 -rel_err:0.009619140445267826 -Epoch 267 Reg : 0.07945 Train loss : 0.00939 -rel_err:0.009798218994223675 -Epoch 268 Reg : 0.07696 Train loss : 0.00899 -rel_err:0.012118773119354588 -Epoch 269 Reg : 0.07724 Train loss : 0.00862 -rel_err:0.009806492335283615 -Epoch 270 Reg : 0.08091 Train loss : 0.00949 -rel_err:0.010972763162966487 -Epoch 271 Reg : 0.08393 Train loss : 0.01018 -rel_err:0.010227152741525131 -Epoch 272 Reg : 0.07954 Train loss : 0.00954 -rel_err:0.010672701969303405 -Epoch 273 Reg : 0.08337 Train loss : 0.01006 -rel_err:0.010055389845723475 -Epoch 274 Reg : 0.08007 Train loss : 0.00932 -rel_err:0.012702927784529645 -Epoch 275 Reg : 0.07863 Train loss : 0.00883 -rel_err:0.009449738763052795 -Epoch 276 Reg : 0.07843 Train loss : 0.00901 -rel_err:0.01138420881719611 -Epoch 277 Reg : 0.07927 Train loss : 0.00903 -rel_err:0.010007666857942634 -Epoch 278 Reg : 0.08075 Train loss : 0.00931 -rel_err:0.009389078162904758 -Epoch 279 Reg : 0.07837 Train loss : 0.00909 -rel_err:0.010595074761919352 -Epoch 280 Reg : 0.07822 Train loss : 0.00877 -rel_err:0.008137027242332687 -Epoch 281 Reg : 0.07801 Train loss : 0.00854 -rel_err:0.012559545688945345 -Epoch 282 Reg : 0.07825 Train loss : 0.00900 -rel_err:0.01051602100726149 -Epoch 283 Reg : 0.07851 Train loss : 0.00890 -rel_err:0.009116608750462447 -Epoch 284 Reg : 0.08097 Train loss : 0.00925 -rel_err:0.009404568866635366 -Epoch 285 Reg : 0.07695 Train loss : 0.00886 -rel_err:0.009978698679765023 -Epoch 286 Reg : 0.07788 Train loss : 0.00906 -rel_err:0.00903815499477595 -Epoch 287 Reg : 0.07658 Train loss : 0.00849 -rel_err:0.0089987517093898 -Epoch 288 Reg : 0.07578 Train loss : 0.00868 -rel_err:0.010539231226458856 -Epoch 289 Reg : 0.07928 Train loss : 0.00933 -rel_err:0.010897894719087248 -Epoch 290 Reg : 0.07936 Train loss : 0.00892 -rel_err:0.008779673597459282 -Epoch 291 Reg : 0.07757 Train loss : 0.00850 -rel_err:0.01035498835917524 -Epoch 292 Reg : 0.07665 Train loss : 0.00834 -rel_err:0.008809034626362155 -Epoch 293 Reg : 0.07356 Train loss : 0.00761 -rel_err:0.011083064620651038 -Epoch 294 Reg : 0.07545 Train loss : 0.00826 -rel_err:0.011379208229462558 -Epoch 295 Reg : 0.07597 Train loss : 0.00862 -rel_err:0.008569777068308977 -Epoch 296 Reg : 0.07395 Train loss : 0.00765 -rel_err:0.008541739730619963 -Epoch 297 Reg : 0.07460 Train loss : 0.00792 -rel_err:0.010572979853259728 -Epoch 298 Reg : 0.07325 Train loss : 0.00773 -rel_err:0.008148899890161022 -Epoch 299 Reg : 0.07085 Train loss : 0.00697 -rel_err:0.009733033833139632 -Epoch 300 Reg : 0.07530 Train loss : 0.00821 -rel_err:0.007831629588730342 -save model -Epoch 301 Reg : 0.07545 Train loss : 0.00848 -rel_err:0.009169327102821654 -Epoch 302 Reg : 0.07271 Train loss : 0.00767 -rel_err:0.008128135106688883 -Epoch 303 Reg : 0.07409 Train loss : 0.00775 -rel_err:0.008677350159652056 -Epoch 304 Reg : 0.07422 Train loss : 0.00774 -rel_err:0.007612592946717302 -Epoch 305 Reg : 0.07654 Train loss : 0.00842 -rel_err:0.011872541727799472 -Epoch 306 Reg : 0.07570 Train loss : 0.00848 -rel_err:0.009775034822025255 -Epoch 307 Reg : 0.07432 Train loss : 0.00804 -rel_err:0.00769449678997141 -Epoch 308 Reg : 0.07187 Train loss : 0.00735 -rel_err:0.00868492086563086 -Epoch 309 Reg : 0.07295 Train loss : 0.00755 -rel_err:0.007430836292078987 -Epoch 310 Reg : 0.07204 Train loss : 0.00736 -rel_err:0.011072208716612882 -Epoch 311 Reg : 0.07233 Train loss : 0.00723 -rel_err:0.008125849078811807 -Epoch 312 Reg : 0.07161 Train loss : 0.00749 -rel_err:0.008585915804050421 -Epoch 313 Reg : 0.07391 Train loss : 0.00770 -rel_err:0.009073860170612014 -Epoch 314 Reg : 0.07276 Train loss : 0.00776 -rel_err:0.007153605150422183 -Epoch 315 Reg : 0.07363 Train loss : 0.00774 -rel_err:0.008907721663026924 -Epoch 316 Reg : 0.07044 Train loss : 0.00693 -rel_err:0.007431787764117273 -Epoch 317 Reg : 0.07448 Train loss : 0.00782 -rel_err:0.009048835663636083 -Epoch 318 Reg : 0.07384 Train loss : 0.00799 -rel_err:0.009832150169239546 -Epoch 319 Reg : 0.07208 Train loss : 0.00734 -rel_err:0.008698396291773953 -Epoch 320 Reg : 0.07168 Train loss : 0.00739 -rel_err:0.00729117557656192 -Epoch 321 Reg : 0.07451 Train loss : 0.00792 -rel_err:0.008918335912786764 -Epoch 322 Reg : 0.07406 Train loss : 0.00781 -rel_err:0.010028718317694457 -Epoch 323 Reg : 0.06998 Train loss : 0.00686 -rel_err:0.0070336058493196 -Epoch 324 Reg : 0.07102 Train loss : 0.00705 -rel_err:0.0078103315723313145 -Epoch 325 Reg : 0.07133 Train loss : 0.00710 -rel_err:0.00841413246697688 -Epoch 326 Reg : 0.07013 Train loss : 0.00688 -rel_err:0.007988450570216729 -Epoch 327 Reg : 0.07227 Train loss : 0.00737 -rel_err:0.009049966894584344 -Epoch 328 Reg : 0.06980 Train loss : 0.00671 -rel_err:0.007536689256455045 -Epoch 329 Reg : 0.06909 Train loss : 0.00645 -rel_err:0.00840536928707405 -Epoch 330 Reg : 0.06933 Train loss : 0.00644 -rel_err:0.010098926391238406 -Epoch 331 Reg : 0.06798 Train loss : 0.00603 -rel_err:0.008911466780208748 -Epoch 332 Reg : 0.06860 Train loss : 0.00617 -rel_err:0.010122586466173639 -Epoch 333 Reg : 0.07262 Train loss : 0.00735 -rel_err:0.00819214835321453 -Epoch 334 Reg : 0.06933 Train loss : 0.00664 -rel_err:0.00808700093371229 -Epoch 335 Reg : 0.07093 Train loss : 0.00688 -rel_err:0.009218774876155543 -Epoch 336 Reg : 0.06855 Train loss : 0.00626 -rel_err:0.0069802190207130495 -Epoch 337 Reg : 0.06806 Train loss : 0.00613 -rel_err:0.008911861554102504 -Epoch 338 Reg : 0.06826 Train loss : 0.00640 -rel_err:0.010731982341966395 -Epoch 339 Reg : 0.06834 Train loss : 0.00635 -rel_err:0.008865579785074408 -Epoch 340 Reg : 0.06943 Train loss : 0.00665 -rel_err:0.00806457292895315 -Epoch 341 Reg : 0.06771 Train loss : 0.00623 -rel_err:0.010689162250089288 -Epoch 342 Reg : 0.07074 Train loss : 0.00697 -rel_err:0.007094615619589941 -Epoch 343 Reg : 0.06816 Train loss : 0.00619 -rel_err:0.007874693357513965 -Epoch 344 Reg : 0.06652 Train loss : 0.00564 -rel_err:0.0077531591631765625 -Epoch 345 Reg : 0.06835 Train loss : 0.00637 -rel_err:0.006736203843482038 -Epoch 346 Reg : 0.06817 Train loss : 0.00649 -rel_err:0.006772998416943999 -Epoch 347 Reg : 0.06702 Train loss : 0.00585 -rel_err:0.008849692472761475 -Epoch 348 Reg : 0.06677 Train loss : 0.00569 -rel_err:0.007176402914592793 -Epoch 349 Reg : 0.06751 Train loss : 0.00634 -rel_err:0.006808731509819239 -Epoch 350 Reg : 0.06581 Train loss : 0.00544 -rel_err:0.00786147476160225 -Epoch 351 Reg : 0.06787 Train loss : 0.00613 -rel_err:0.00804659801224144 -Epoch 352 Reg : 0.06693 Train loss : 0.00576 -rel_err:0.006912960974170895 -Epoch 353 Reg : 0.06591 Train loss : 0.00566 -rel_err:0.007795003946561928 -Epoch 354 Reg : 0.06572 Train loss : 0.00551 -rel_err:0.007492188225242565 -Epoch 355 Reg : 0.06658 Train loss : 0.00583 -rel_err:0.007307706416354284 -Epoch 356 Reg : 0.06595 Train loss : 0.00562 -rel_err:0.0076203761239597686 -Epoch 357 Reg : 0.06704 Train loss : 0.00590 -rel_err:0.00729437678201006 -Epoch 358 Reg : 0.06506 Train loss : 0.00525 -rel_err:0.009051652779017412 -Epoch 359 Reg : 0.06685 Train loss : 0.00588 -rel_err:0.008727240594621315 -Epoch 360 Reg : 0.06677 Train loss : 0.00598 -rel_err:0.00794015345848766 -Epoch 361 Reg : 0.06618 Train loss : 0.00578 -rel_err:0.007593547882659936 -Epoch 362 Reg : 0.06622 Train loss : 0.00570 -rel_err:0.006756415367859589 -Epoch 363 Reg : 0.06480 Train loss : 0.00513 -rel_err:0.006931204069407092 -Epoch 364 Reg : 0.06486 Train loss : 0.00513 -rel_err:0.006714176179632453 -Epoch 365 Reg : 0.06526 Train loss : 0.00534 -rel_err:0.009984581814620237 -Epoch 366 Reg : 0.06669 Train loss : 0.00592 -rel_err:0.008422177677824862 -Epoch 367 Reg : 0.06545 Train loss : 0.00548 -rel_err:0.007687280104799395 -Epoch 368 Reg : 0.06529 Train loss : 0.00533 -rel_err:0.006299471466132166 -Epoch 369 Reg : 0.06529 Train loss : 0.00528 -rel_err:0.007495926499180706 -Epoch 370 Reg : 0.06441 Train loss : 0.00496 -rel_err:0.0065049120928849504 -Epoch 371 Reg : 0.06539 Train loss : 0.00558 -rel_err:0.007063324682957098 -Epoch 372 Reg : 0.06354 Train loss : 0.00475 -rel_err:0.006848524444802276 -Epoch 373 Reg : 0.06447 Train loss : 0.00520 -rel_err:0.0065101652744053665 -Epoch 374 Reg : 0.06517 Train loss : 0.00538 -rel_err:0.00711223030560957 -Epoch 375 Reg : 0.06357 Train loss : 0.00471 -rel_err:0.006941275065344383 -Epoch 376 Reg : 0.06341 Train loss : 0.00476 -rel_err:0.008202771593248394 -Epoch 377 Reg : 0.06325 Train loss : 0.00472 -rel_err:0.00663299507275135 -Epoch 378 Reg : 0.06395 Train loss : 0.00507 -rel_err:0.007150009958060656 -Epoch 379 Reg : 0.06467 Train loss : 0.00530 -rel_err:0.007016622382473036 -Epoch 380 Reg : 0.06402 Train loss : 0.00490 -rel_err:0.007273810093723786 -Epoch 381 Reg : 0.06332 Train loss : 0.00480 -rel_err:0.007181466826546107 -Epoch 382 Reg : 0.06352 Train loss : 0.00488 -rel_err:0.007572846752986819 -Epoch 383 Reg : 0.06412 Train loss : 0.00498 -rel_err:0.006098722641212859 -Epoch 384 Reg : 0.06369 Train loss : 0.00484 -rel_err:0.007687716199762782 -Epoch 385 Reg : 0.06392 Train loss : 0.00495 -rel_err:0.006775853973639433 -Epoch 386 Reg : 0.06426 Train loss : 0.00499 -rel_err:0.006705131394130195 -Epoch 387 Reg : 0.06316 Train loss : 0.00482 -rel_err:0.007208564651977052 -Epoch 388 Reg : 0.06310 Train loss : 0.00472 -rel_err:0.006486212100994166 -Epoch 389 Reg : 0.06283 Train loss : 0.00466 -rel_err:0.008212809395154846 -Epoch 390 Reg : 0.06396 Train loss : 0.00528 -rel_err:0.006833954859418439 -Epoch 391 Reg : 0.06250 Train loss : 0.00465 -rel_err:0.006433733019830871 -Epoch 392 Reg : 0.06306 Train loss : 0.00458 -rel_err:0.0061765316892812994 -Epoch 393 Reg : 0.06314 Train loss : 0.00477 -rel_err:0.00653206948052081 -Epoch 394 Reg : 0.06233 Train loss : 0.00446 -rel_err:0.006972743945683175 -Epoch 395 Reg : 0.06211 Train loss : 0.00434 -rel_err:0.007924709799663414 -Epoch 396 Reg : 0.06272 Train loss : 0.00455 -rel_err:0.006234697104381363 -Epoch 397 Reg : 0.06287 Train loss : 0.00460 -rel_err:0.006315903563368463 -Epoch 398 Reg : 0.06214 Train loss : 0.00434 -rel_err:0.0061588672176680305 -Epoch 399 Reg : 0.06121 Train loss : 0.00397 -rel_err:0.006613790993915681 -Epoch 400 Reg : 0.06195 Train loss : 0.00427 -rel_err:0.006239615756836473 -save model -Epoch 401 Reg : 0.06198 Train loss : 0.00438 -rel_err:0.006511623240944866 -Epoch 402 Reg : 0.06247 Train loss : 0.00453 -rel_err:0.006952308314548148 -Epoch 403 Reg : 0.06191 Train loss : 0.00419 -rel_err:0.006346050388800279 -Epoch 404 Reg : 0.06132 Train loss : 0.00404 -rel_err:0.006211258816224475 -Epoch 405 Reg : 0.06179 Train loss : 0.00415 -rel_err:0.006608099900754692 -Epoch 406 Reg : 0.06186 Train loss : 0.00419 -rel_err:0.006130295844227533 -Epoch 407 Reg : 0.06121 Train loss : 0.00395 -rel_err:0.006373320343713574 -Epoch 408 Reg : 0.06178 Train loss : 0.00434 -rel_err:0.0067599420405145385 -Epoch 409 Reg : 0.06164 Train loss : 0.00413 -rel_err:0.006032655434746323 -Epoch 410 Reg : 0.06111 Train loss : 0.00400 -rel_err:0.006067294236122653 -Epoch 411 Reg : 0.06133 Train loss : 0.00407 -rel_err:0.00640627391577557 -Epoch 412 Reg : 0.06146 Train loss : 0.00407 -rel_err:0.006539425704665852 -Epoch 413 Reg : 0.06176 Train loss : 0.00428 -rel_err:0.006133551938262682 -Epoch 414 Reg : 0.06109 Train loss : 0.00393 -rel_err:0.006157934870742211 -Epoch 415 Reg : 0.06097 Train loss : 0.00391 -rel_err:0.006192544324116558 -Epoch 416 Reg : 0.06135 Train loss : 0.00418 -rel_err:0.006395347588829338 -Epoch 417 Reg : 0.06105 Train loss : 0.00403 -rel_err:0.006353267851434759 -Epoch 418 Reg : 0.06093 Train loss : 0.00396 -rel_err:0.0062606579829137966 -Epoch 419 Reg : 0.06096 Train loss : 0.00395 -rel_err:0.0062090686962823025 -Epoch 420 Reg : 0.06075 Train loss : 0.00389 -rel_err:0.006181056149657282 -Epoch 421 Reg : 0.06054 Train loss : 0.00379 -rel_err:0.005955667334271962 -Epoch 422 Reg : 0.06056 Train loss : 0.00374 -rel_err:0.006172403188280905 -Epoch 423 Reg : 0.06071 Train loss : 0.00398 -rel_err:0.006091167578590472 -Epoch 424 Reg : 0.06051 Train loss : 0.00384 -rel_err:0.006056659948136704 -Epoch 425 Reg : 0.06066 Train loss : 0.00382 -rel_err:0.00629667547562058 -Epoch 426 Reg : 0.06012 Train loss : 0.00364 -rel_err:0.00625357636268576 -Epoch 427 Reg : 0.06043 Train loss : 0.00384 -rel_err:0.006569742576059277 -Epoch 428 Reg : 0.06018 Train loss : 0.00363 -rel_err:0.0063958439736052815 -Epoch 429 Reg : 0.06024 Train loss : 0.00370 -rel_err:0.005901592337037362 -Epoch 430 Reg : 0.06003 Train loss : 0.00367 -rel_err:0.0059777503358185114 -Epoch 431 Reg : 0.06019 Train loss : 0.00373 -rel_err:0.007062605680187046 -Epoch 432 Reg : 0.06019 Train loss : 0.00366 -rel_err:0.005973735391095762 -Epoch 433 Reg : 0.06000 Train loss : 0.00363 -rel_err:0.006083048378746317 -Epoch 434 Reg : 0.06007 Train loss : 0.00361 -rel_err:0.006514798608703818 -Epoch 435 Reg : 0.06026 Train loss : 0.00371 -rel_err:0.0058662523013769015 -Epoch 436 Reg : 0.05966 Train loss : 0.00342 -rel_err:0.006083071025786162 -Epoch 437 Reg : 0.05996 Train loss : 0.00356 -rel_err:0.005925631779055512 -Epoch 438 Reg : 0.05976 Train loss : 0.00351 -rel_err:0.0058367925093633 -Epoch 439 Reg : 0.05977 Train loss : 0.00355 -rel_err:0.0061703619719804936 -Epoch 440 Reg : 0.05982 Train loss : 0.00348 -rel_err:0.0059054170407790065 -Epoch 441 Reg : 0.05958 Train loss : 0.00338 -rel_err:0.005791797844378728 -Epoch 442 Reg : 0.05964 Train loss : 0.00339 -rel_err:0.006190180068731446 -Epoch 443 Reg : 0.05989 Train loss : 0.00360 -rel_err:0.005966013720946351 -Epoch 444 Reg : 0.05955 Train loss : 0.00344 -rel_err:0.005885041744468791 -Epoch 445 Reg : 0.05933 Train loss : 0.00333 -rel_err:0.0061630027294271895 -Epoch 446 Reg : 0.05936 Train loss : 0.00330 -rel_err:0.005962109498931647 -Epoch 447 Reg : 0.05952 Train loss : 0.00339 -rel_err:0.005895653546947862 -Epoch 448 Reg : 0.05933 Train loss : 0.00327 -rel_err:0.0058602359550403715 -Epoch 449 Reg : 0.05953 Train loss : 0.00343 -rel_err:0.005985869677075361 -Epoch 450 Reg : 0.05944 Train loss : 0.00341 -rel_err:0.005793978305096312 -Epoch 451 Reg : 0.05911 Train loss : 0.00324 -rel_err:0.0062001732085809535 -Epoch 452 Reg : 0.05932 Train loss : 0.00333 -rel_err:0.006139169952658813 -Epoch 453 Reg : 0.05911 Train loss : 0.00323 -rel_err:0.005833126767555184 -Epoch 454 Reg : 0.05913 Train loss : 0.00327 -rel_err:0.006205332226369618 -Epoch 455 Reg : 0.05935 Train loss : 0.00338 -rel_err:0.005904517676469306 -Epoch 456 Reg : 0.05917 Train loss : 0.00333 -rel_err:0.00586046762865598 -Epoch 457 Reg : 0.05904 Train loss : 0.00326 -rel_err:0.00577483069759824 -Epoch 458 Reg : 0.05905 Train loss : 0.00323 -rel_err:0.005880582878440343 -Epoch 459 Reg : 0.05901 Train loss : 0.00319 -rel_err:0.005952249014505869 -Epoch 460 Reg : 0.05900 Train loss : 0.00324 -rel_err:0.00586569651849324 -Epoch 461 Reg : 0.05907 Train loss : 0.00329 -rel_err:0.005735109293781931 -Epoch 462 Reg : 0.05881 Train loss : 0.00311 -rel_err:0.005861540047188968 -Epoch 463 Reg : 0.05888 Train loss : 0.00316 -rel_err:0.0058020198577205286 -Epoch 464 Reg : 0.05886 Train loss : 0.00317 -rel_err:0.006014268911265508 -Epoch 465 Reg : 0.05879 Train loss : 0.00316 -rel_err:0.005840166296778816 -Epoch 466 Reg : 0.05875 Train loss : 0.00309 -rel_err:0.00602540944279621 -Epoch 467 Reg : 0.05878 Train loss : 0.00318 -rel_err:0.005800210889560269 -Epoch 468 Reg : 0.05860 Train loss : 0.00304 -rel_err:0.0059671373424188216 -Epoch 469 Reg : 0.05861 Train loss : 0.00305 -rel_err:0.006009668832180214 -Epoch 470 Reg : 0.05867 Train loss : 0.00316 -rel_err:0.006075145255054863 -Epoch 471 Reg : 0.05879 Train loss : 0.00320 -rel_err:0.005855669794277298 -Epoch 472 Reg : 0.05875 Train loss : 0.00316 -rel_err:0.005815002610557876 -Epoch 473 Reg : 0.05883 Train loss : 0.00319 -rel_err:0.0057999804375166 -Epoch 474 Reg : 0.05859 Train loss : 0.00308 -rel_err:0.005824764830975561 -Epoch 475 Reg : 0.05853 Train loss : 0.00305 -rel_err:0.005728932675475528 -Epoch 476 Reg : 0.05851 Train loss : 0.00304 -rel_err:0.006049909243794462 -Epoch 477 Reg : 0.05833 Train loss : 0.00299 -rel_err:0.005702523508917123 -Epoch 478 Reg : 0.05843 Train loss : 0.00300 -rel_err:0.005926669727331264 -Epoch 479 Reg : 0.05859 Train loss : 0.00309 -rel_err:0.005951073842837259 -Epoch 480 Reg : 0.05843 Train loss : 0.00303 -rel_err:0.006172725611929174 -Epoch 481 Reg : 0.05841 Train loss : 0.00305 -rel_err:0.0057943410277128985 -Epoch 482 Reg : 0.05835 Train loss : 0.00297 -rel_err:0.0057681694218043875 -Epoch 483 Reg : 0.05835 Train loss : 0.00295 -rel_err:0.005756761227214246 -Epoch 484 Reg : 0.05830 Train loss : 0.00300 -rel_err:0.005707230148088751 -Epoch 485 Reg : 0.05834 Train loss : 0.00301 -rel_err:0.0057735859423362545 -Epoch 486 Reg : 0.05842 Train loss : 0.00306 -rel_err:0.005908994628899159 -Epoch 487 Reg : 0.05823 Train loss : 0.00295 -rel_err:0.00572415794207294 -Epoch 488 Reg : 0.05823 Train loss : 0.00295 -rel_err:0.005724068251984909 -Epoch 489 Reg : 0.05822 Train loss : 0.00294 -rel_err:0.005902427128556351 -Epoch 490 Reg : 0.05829 Train loss : 0.00296 -rel_err:0.005749184796003146 -Epoch 491 Reg : 0.05818 Train loss : 0.00294 -rel_err:0.005740435218427808 -Epoch 492 Reg : 0.05810 Train loss : 0.00294 -rel_err:0.005757166734380294 -Epoch 493 Reg : 0.05813 Train loss : 0.00294 -rel_err:0.005954227296183286 -Epoch 494 Reg : 0.05821 Train loss : 0.00300 -rel_err:0.005665377045597952 -Epoch 495 Reg : 0.05814 Train loss : 0.00299 -rel_err:0.005744559837380476 -Epoch 496 Reg : 0.05807 Train loss : 0.00291 -rel_err:0.005679850532716947 -Epoch 497 Reg : 0.05823 Train loss : 0.00301 -rel_err:0.0058559157802444166 -Epoch 498 Reg : 0.05812 Train loss : 0.00295 -rel_err:0.005707793554128999 -Epoch 499 Reg : 0.05797 Train loss : 0.00291 -rel_err:0.00567440442168881 -save model \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_E.log deleted file mode 100644 index 13903a7500..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_E.log +++ /dev/null @@ -1,238 +0,0 @@ -W1029 22:11:04.367118 877827 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1029 22:11:04.367600 877827 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -(2000, 972) (2000, 972, 2) -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Irregular_Mesh', n_hidden=128, n_layers=8, n_heads=8, batch_size=1, gpu=0, max_grad_norm=0.1, downsample=5, mlp_ratio=1, dropout=0.0, ntrain=1000, unified_pos=0, ref=8, slice_num=64, eval=1, save_name='elas_Transolver', data_path='data/fno') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=2, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp2): Linear(in_features=128, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 713665 -1 -2 -3 -4 -5 -6 -7 -8 -9 -rel_err : 0.005738210307899862 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_T.log deleted file mode 100644 index 8f81ead6d0..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Elas_T.log +++ /dev/null @@ -1,1235 +0,0 @@ -nohup: ignoring input -W1028 14:47:29.129204 43203 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1028 14:47:29.129990 43203 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -(2000, 972) (2000, 972, 2) -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Irregular_Mesh', n_hidden=128, n_layers=8, n_heads=8, batch_size=1, gpu=3, max_grad_norm=0.1, downsample=5, mlp_ratio=1, dropout=0.0, ntrain=1000, unified_pos=0, ref=8, slice_num=64, eval=0, save_name='elas_Transolver', data_path='data/fno') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=2, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Irregular_Mesh( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Linear(in_features=128, out_features=128, dtype=None) - (in_project_fx): Linear(in_features=128, out_features=128, dtype=None) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=128, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp2): Linear(in_features=128, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 713665 -Epoch 0 Train loss : 0.50527 -rel_err : 0.4928458055853844 -save model -Epoch 1 Train loss : 0.49547 -rel_err : 0.4930387295782566 -Epoch 2 Train loss : 0.41779 -rel_err : 0.3417572039365768 -Epoch 3 Train loss : 0.34173 -rel_err : 0.31474135756492616 -Epoch 4 Train loss : 0.31910 -rel_err : 0.33272456996142863 -Epoch 5 Train loss : 0.30576 -rel_err : 0.30401262290775777 -Epoch 6 Train loss : 0.29893 -rel_err : 0.2784158104658127 -Epoch 7 Train loss : 0.29096 -rel_err : 0.2811198070645332 -Epoch 8 Train loss : 0.23230 -rel_err : 0.199337754920125 -Epoch 9 Train loss : 0.16510 -rel_err : 0.14113637626171113 -Epoch 10 Train loss : 0.13292 -rel_err : 0.11250998832285404 -Epoch 11 Train loss : 0.11117 -rel_err : 0.09930350847542285 -Epoch 12 Train loss : 0.09795 -rel_err : 0.09799425948411226 -Epoch 13 Train loss : 0.08832 -rel_err : 0.08056002493947745 -Epoch 14 Train loss : 0.08104 -rel_err : 0.07249628230929375 -Epoch 15 Train loss : 0.07529 -rel_err : 0.06672100447118283 -Epoch 16 Train loss : 0.07099 -rel_err : 0.06396161248907446 -Epoch 17 Train loss : 0.06833 -rel_err : 0.06312856838107109 -Epoch 18 Train loss : 0.06393 -rel_err : 0.058775261603295804 -Epoch 19 Train loss : 0.06201 -rel_err : 0.06045579666271806 -Epoch 20 Train loss : 0.05940 -rel_err : 0.05058161117136478 -Epoch 21 Train loss : 0.05709 -rel_err : 0.055209692530334 -Epoch 22 Train loss : 0.05542 -rel_err : 0.05489101143553853 -Epoch 23 Train loss : 0.05318 -rel_err : 0.05290150282904506 -Epoch 24 Train loss : 0.05102 -rel_err : 0.05454464660957456 -Epoch 25 Train loss : 0.04991 -rel_err : 0.05821479130536318 -Epoch 26 Train loss : 0.04937 -rel_err : 0.05568335484713316 -Epoch 27 Train loss : 0.04785 -rel_err : 0.04601109626702964 -Epoch 28 Train loss : 0.04668 -rel_err : 0.04154731900431216 -Epoch 29 Train loss : 0.04594 -rel_err : 0.04372043211013079 -Epoch 30 Train loss : 0.04516 -rel_err : 0.04131630040705204 -Epoch 31 Train loss : 0.04308 -rel_err : 0.04253981255926192 -Epoch 32 Train loss : 0.04241 -rel_err : 0.037662639655172823 -Epoch 33 Train loss : 0.04241 -rel_err : 0.03970469704829156 -Epoch 34 Train loss : 0.04035 -rel_err : 0.03457174719311297 -Epoch 35 Train loss : 0.04072 -rel_err : 0.04407962655648589 -Epoch 36 Train loss : 0.04013 -rel_err : 0.04182336767204106 -Epoch 37 Train loss : 0.03885 -rel_err : 0.03614180795848369 -Epoch 38 Train loss : 0.03840 -rel_err : 0.03691693008877337 -Epoch 39 Train loss : 0.03783 -rel_err : 0.03814959693700075 -Epoch 40 Train loss : 0.03732 -rel_err : 0.03743300396949053 -Epoch 41 Train loss : 0.03780 -rel_err : 0.0363075983710587 -Epoch 42 Train loss : 0.03641 -rel_err : 0.038878945354372266 -Epoch 43 Train loss : 0.03551 -rel_err : 0.03386966086924076 -Epoch 44 Train loss : 0.03550 -rel_err : 0.04761407498270273 -Epoch 45 Train loss : 0.03461 -rel_err : 0.04085957646369934 -Epoch 46 Train loss : 0.03469 -rel_err : 0.037754489704966546 -Epoch 47 Train loss : 0.03332 -rel_err : 0.035637550316751004 -Epoch 48 Train loss : 0.03337 -rel_err : 0.030121346786618233 -Epoch 49 Train loss : 0.03227 -rel_err : 0.031646316163241865 -Epoch 50 Train loss : 0.03205 -rel_err : 0.03661271367222071 -Epoch 51 Train loss : 0.03282 -rel_err : 0.03371460893191397 -Epoch 52 Train loss : 0.03129 -rel_err : 0.03260266057215631 -Epoch 53 Train loss : 0.03092 -rel_err : 0.033301334772258995 -Epoch 54 Train loss : 0.03091 -rel_err : 0.027692433912307024 -Epoch 55 Train loss : 0.03065 -rel_err : 0.028300626846030356 -Epoch 56 Train loss : 0.03024 -rel_err : 0.03169308492913842 -Epoch 57 Train loss : 0.02969 -rel_err : 0.02892692225985229 -Epoch 58 Train loss : 0.02950 -rel_err : 0.02899242957122624 -Epoch 59 Train loss : 0.02870 -rel_err : 0.03172356347553432 -Epoch 60 Train loss : 0.02836 -rel_err : 0.03158080423250795 -Epoch 61 Train loss : 0.02840 -rel_err : 0.034539617765694856 -Epoch 62 Train loss : 0.02859 -rel_err : 0.030055153761059047 -Epoch 63 Train loss : 0.02818 -rel_err : 0.026866596303880216 -Epoch 64 Train loss : 0.02746 -rel_err : 0.028641049787402152 -Epoch 65 Train loss : 0.02707 -rel_err : 0.025500690937042235 -Epoch 66 Train loss : 0.02681 -rel_err : 0.031241756305098532 -Epoch 67 Train loss : 0.02675 -rel_err : 0.02748244073241949 -Epoch 68 Train loss : 0.02742 -rel_err : 0.023501354530453683 -Epoch 69 Train loss : 0.02675 -rel_err : 0.02706950418185443 -Epoch 70 Train loss : 0.02695 -rel_err : 0.027639388423413038 -Epoch 71 Train loss : 0.02641 -rel_err : 0.025018572388216854 -Epoch 72 Train loss : 0.02620 -rel_err : 0.028734515430405737 -Epoch 73 Train loss : 0.02545 -rel_err : 0.027182340025901794 -Epoch 74 Train loss : 0.02638 -rel_err : 0.023639509747736157 -Epoch 75 Train loss : 0.02494 -rel_err : 0.024797956962138414 -Epoch 76 Train loss : 0.02494 -rel_err : 0.02536969623528421 -Epoch 77 Train loss : 0.02447 -rel_err : 0.023988552507944405 -Epoch 78 Train loss : 0.02423 -rel_err : 0.0236690371716395 -Epoch 79 Train loss : 0.02351 -rel_err : 0.022138272915035485 -Epoch 80 Train loss : 0.02368 -rel_err : 0.027178788492456078 -Epoch 81 Train loss : 0.02366 -rel_err : 0.02525300145149231 -Epoch 82 Train loss : 0.02381 -rel_err : 0.024068832118064164 -Epoch 83 Train loss : 0.02321 -rel_err : 0.02265511547215283 -Epoch 84 Train loss : 0.02331 -rel_err : 0.02550859690643847 -Epoch 85 Train loss : 0.02316 -rel_err : 0.022721653636544943 -Epoch 86 Train loss : 0.02290 -rel_err : 0.023377900435589252 -Epoch 87 Train loss : 0.02303 -rel_err : 0.025972986221313478 -Epoch 88 Train loss : 0.02246 -rel_err : 0.022943506063893438 -Epoch 89 Train loss : 0.02302 -rel_err : 0.022063803714700042 -Epoch 90 Train loss : 0.02261 -rel_err : 0.02206503021530807 -Epoch 91 Train loss : 0.02202 -rel_err : 0.022548055103980006 -Epoch 92 Train loss : 0.02164 -rel_err : 0.02213806862011552 -Epoch 93 Train loss : 0.02150 -rel_err : 0.024185229875147343 -Epoch 94 Train loss : 0.02137 -rel_err : 0.02188198278658092 -Epoch 95 Train loss : 0.02173 -rel_err : 0.01976286467630416 -Epoch 96 Train loss : 0.02096 -rel_err : 0.01991409866604954 -Epoch 97 Train loss : 0.02115 -rel_err : 0.02335481916088611 -Epoch 98 Train loss : 0.02151 -rel_err : 0.021420072666369378 -Epoch 99 Train loss : 0.02152 -rel_err : 0.019507074374705554 -Epoch 100 Train loss : 0.02104 -rel_err : 0.021247347691096364 -save model -Epoch 101 Train loss : 0.02138 -rel_err : 0.021904624816961586 -Epoch 102 Train loss : 0.02023 -rel_err : 0.018125628335401416 -Epoch 103 Train loss : 0.02058 -rel_err : 0.023522657300345598 -Epoch 104 Train loss : 0.02006 -rel_err : 0.019371787514537574 -Epoch 105 Train loss : 0.02062 -rel_err : 0.020856450032442807 -Epoch 106 Train loss : 0.01982 -rel_err : 0.01826349837705493 -Epoch 107 Train loss : 0.02000 -rel_err : 0.020720547679811716 -Epoch 108 Train loss : 0.01955 -rel_err : 0.018058796538971366 -Epoch 109 Train loss : 0.01972 -rel_err : 0.01877673969604075 -Epoch 110 Train loss : 0.01956 -rel_err : 0.020320305633358657 -Epoch 111 Train loss : 0.02001 -rel_err : 0.020939602702856063 -Epoch 112 Train loss : 0.02003 -rel_err : 0.018005865919403733 -Epoch 113 Train loss : 0.01927 -rel_err : 0.020868125101551414 -Epoch 114 Train loss : 0.01923 -rel_err : 0.01840687348973006 -Epoch 115 Train loss : 0.01877 -rel_err : 0.019681794601492584 -Epoch 116 Train loss : 0.01908 -rel_err : 0.020033044749870898 -Epoch 117 Train loss : 0.01898 -rel_err : 0.017470475495792927 -Epoch 118 Train loss : 0.01859 -rel_err : 0.01727344948332757 -Epoch 119 Train loss : 0.01858 -rel_err : 0.01958816613536328 -Epoch 120 Train loss : 0.01847 -rel_err : 0.018960181823931634 -Epoch 121 Train loss : 0.01835 -rel_err : 0.01852527817245573 -Epoch 122 Train loss : 0.01795 -rel_err : 0.01721401541493833 -Epoch 123 Train loss : 0.01828 -rel_err : 0.01827962023206055 -Epoch 124 Train loss : 0.01865 -rel_err : 0.018871314097195863 -Epoch 125 Train loss : 0.01825 -rel_err : 0.019962781402282418 -Epoch 126 Train loss : 0.01777 -rel_err : 0.020373117509298027 -Epoch 127 Train loss : 0.01785 -rel_err : 0.01869319923222065 -Epoch 128 Train loss : 0.01819 -rel_err : 0.0231687173852697 -Epoch 129 Train loss : 0.01809 -rel_err : 0.01672606755513698 -Epoch 130 Train loss : 0.01840 -rel_err : 0.018857779274694623 -Epoch 131 Train loss : 0.01787 -rel_err : 0.01976757291238755 -Epoch 132 Train loss : 0.01743 -rel_err : 0.01751714568119496 -Epoch 133 Train loss : 0.01771 -rel_err : 0.027958214394748212 -Epoch 134 Train loss : 0.01763 -rel_err : 0.018532726536504923 -Epoch 135 Train loss : 0.01691 -rel_err : 0.019841591292060912 -Epoch 136 Train loss : 0.01754 -rel_err : 0.017964826258830727 -Epoch 137 Train loss : 0.01735 -rel_err : 0.017845007963478564 -Epoch 138 Train loss : 0.01725 -rel_err : 0.01821020242758095 -Epoch 139 Train loss : 0.01732 -rel_err : 0.015793367680162193 -Epoch 140 Train loss : 0.01711 -rel_err : 0.016938590072095396 -Epoch 141 Train loss : 0.01658 -rel_err : 0.016749423760920763 -Epoch 142 Train loss : 0.01640 -rel_err : 0.015117226052097976 -Epoch 143 Train loss : 0.01653 -rel_err : 0.01795262052677572 -Epoch 144 Train loss : 0.01656 -rel_err : 0.014200498363934458 -Epoch 145 Train loss : 0.01635 -rel_err : 0.020260269436985254 -Epoch 146 Train loss : 0.01653 -rel_err : 0.01761292526498437 -Epoch 147 Train loss : 0.01673 -rel_err : 0.017141446727328 -Epoch 148 Train loss : 0.01621 -rel_err : 0.016620017485693098 -Epoch 149 Train loss : 0.01591 -rel_err : 0.015433966731652617 -Epoch 150 Train loss : 0.01649 -rel_err : 0.018027980513870716 -Epoch 151 Train loss : 0.01597 -rel_err : 0.016549004898406564 -Epoch 152 Train loss : 0.01575 -rel_err : 0.016474606958217917 -Epoch 153 Train loss : 0.01562 -rel_err : 0.015868264194577934 -Epoch 154 Train loss : 0.01602 -rel_err : 0.015988515107892454 -Epoch 155 Train loss : 0.01579 -rel_err : 0.015151645224541425 -Epoch 156 Train loss : 0.01534 -rel_err : 0.018244406823068857 -Epoch 157 Train loss : 0.01563 -rel_err : 0.01702604189515114 -Epoch 158 Train loss : 0.01536 -rel_err : 0.016139338542707264 -Epoch 159 Train loss : 0.01520 -rel_err : 0.014576280014589429 -Epoch 160 Train loss : 0.01500 -rel_err : 0.015108055495657026 -Epoch 161 Train loss : 0.01477 -rel_err : 0.016131732817739247 -Epoch 162 Train loss : 0.01493 -rel_err : 0.014378665620461107 -Epoch 163 Train loss : 0.01471 -rel_err : 0.014610733059234916 -Epoch 164 Train loss : 0.01469 -rel_err : 0.015427802153863013 -Epoch 165 Train loss : 0.01474 -rel_err : 0.014239805252291262 -Epoch 166 Train loss : 0.01514 -rel_err : 0.015748605746775866 -Epoch 167 Train loss : 0.01478 -rel_err : 0.013603336573578418 -Epoch 168 Train loss : 0.01448 -rel_err : 0.015577710396610201 -Epoch 169 Train loss : 0.01448 -rel_err : 0.014246591227129101 -Epoch 170 Train loss : 0.01448 -rel_err : 0.0144843256380409 -Epoch 171 Train loss : 0.01423 -rel_err : 0.015141554274596274 -Epoch 172 Train loss : 0.01412 -rel_err : 0.015082955448888243 -Epoch 173 Train loss : 0.01468 -rel_err : 0.014226222718134523 -Epoch 174 Train loss : 0.01447 -rel_err : 0.015253519508987665 -Epoch 175 Train loss : 0.01398 -rel_err : 0.014382359399460256 -Epoch 176 Train loss : 0.01383 -rel_err : 0.014352490599267185 -Epoch 177 Train loss : 0.01387 -rel_err : 0.015108394213020801 -Epoch 178 Train loss : 0.01423 -rel_err : 0.015229456126689911 -Epoch 179 Train loss : 0.01377 -rel_err : 0.013867620322853326 -Epoch 180 Train loss : 0.01328 -rel_err : 0.01568394116126001 -Epoch 181 Train loss : 0.01367 -rel_err : 0.013435025978833438 -Epoch 182 Train loss : 0.01367 -rel_err : 0.014671732746064663 -Epoch 183 Train loss : 0.01381 -rel_err : 0.012831169236451388 -Epoch 184 Train loss : 0.01366 -rel_err : 0.014111647703684867 -Epoch 185 Train loss : 0.01334 -rel_err : 0.014439499475993217 -Epoch 186 Train loss : 0.01364 -rel_err : 0.01369770455174148 -Epoch 187 Train loss : 0.01329 -rel_err : 0.017203624239191414 -Epoch 188 Train loss : 0.01340 -rel_err : 0.01469937783665955 -Epoch 189 Train loss : 0.01331 -rel_err : 0.012617705462034792 -Epoch 190 Train loss : 0.01353 -rel_err : 0.013162207924760878 -Epoch 191 Train loss : 0.01305 -rel_err : 0.014373883646912873 -Epoch 192 Train loss : 0.01287 -rel_err : 0.015274285632185637 -Epoch 193 Train loss : 0.01293 -rel_err : 0.013688712664879858 -Epoch 194 Train loss : 0.01311 -rel_err : 0.012247329915408046 -Epoch 195 Train loss : 0.01249 -rel_err : 0.013325735558755696 -Epoch 196 Train loss : 0.01294 -rel_err : 0.015838980064727365 -Epoch 197 Train loss : 0.01242 -rel_err : 0.01399831322953105 -Epoch 198 Train loss : 0.01267 -rel_err : 0.013350179665721953 -Epoch 199 Train loss : 0.01263 -rel_err : 0.012003755168989301 -Epoch 200 Train loss : 0.01255 -rel_err : 0.014469051738269628 -save model -Epoch 201 Train loss : 0.01324 -rel_err : 0.014189919945783913 -Epoch 202 Train loss : 0.01214 -rel_err : 0.011201502142939716 -Epoch 203 Train loss : 0.01250 -rel_err : 0.014117432055063545 -Epoch 204 Train loss : 0.01224 -rel_err : 0.014305297080427408 -Epoch 205 Train loss : 0.01221 -rel_err : 0.013465039753355086 -Epoch 206 Train loss : 0.01202 -rel_err : 0.01348799638915807 -Epoch 207 Train loss : 0.01236 -rel_err : 0.012618355809245259 -Epoch 208 Train loss : 0.01219 -rel_err : 0.013151284945197404 -Epoch 209 Train loss : 0.01195 -rel_err : 0.012957125939428805 -Epoch 210 Train loss : 0.01203 -rel_err : 0.01263442838564515 -Epoch 211 Train loss : 0.01220 -rel_err : 0.012199981757439672 -Epoch 212 Train loss : 0.01188 -rel_err : 0.012594883900601418 -Epoch 213 Train loss : 0.01208 -rel_err : 0.013116095210425555 -Epoch 214 Train loss : 0.01170 -rel_err : 0.012714304835535586 -Epoch 215 Train loss : 0.01149 -rel_err : 0.01310412255115807 -Epoch 216 Train loss : 0.01176 -rel_err : 0.011738384934142232 -Epoch 217 Train loss : 0.01149 -rel_err : 0.012261931055691093 -Epoch 218 Train loss : 0.01141 -rel_err : 0.012025765243452042 -Epoch 219 Train loss : 0.01146 -rel_err : 0.011942327553406358 -Epoch 220 Train loss : 0.01151 -rel_err : 0.01211716036312282 -Epoch 221 Train loss : 0.01123 -rel_err : 0.01137038188520819 -Epoch 222 Train loss : 0.01127 -rel_err : 0.011376020482275635 -Epoch 223 Train loss : 0.01139 -rel_err : 0.011710856789723039 -Epoch 224 Train loss : 0.01115 -rel_err : 0.011486114200670272 -Epoch 225 Train loss : 0.01121 -rel_err : 0.011062581611331552 -Epoch 226 Train loss : 0.01131 -rel_err : 0.013016942262183875 -Epoch 227 Train loss : 0.01112 -rel_err : 0.012230634028092026 -Epoch 228 Train loss : 0.01111 -rel_err : 0.011544570266269148 -Epoch 229 Train loss : 0.01123 -rel_err : 0.011018043830990792 -Epoch 230 Train loss : 0.01072 -rel_err : 0.011943799366708845 -Epoch 231 Train loss : 0.01085 -rel_err : 0.011099952638614923 -Epoch 232 Train loss : 0.01086 -rel_err : 0.012464479280170053 -Epoch 233 Train loss : 0.01083 -rel_err : 0.013630995089188217 -Epoch 234 Train loss : 0.01085 -rel_err : 0.012538985570427031 -Epoch 235 Train loss : 0.01044 -rel_err : 0.011350689120590687 -Epoch 236 Train loss : 0.01075 -rel_err : 0.011598919187672436 -Epoch 237 Train loss : 0.01085 -rel_err : 0.011966711524873972 -Epoch 238 Train loss : 0.01059 -rel_err : 0.011551386597566306 -Epoch 239 Train loss : 0.01029 -rel_err : 0.011872775841038675 -Epoch 240 Train loss : 0.01054 -rel_err : 0.01044159211916849 -Epoch 241 Train loss : 0.01056 -rel_err : 0.011272511752322316 -Epoch 242 Train loss : 0.01041 -rel_err : 0.010521676449570805 -Epoch 243 Train loss : 0.01032 -rel_err : 0.010447185030207038 -Epoch 244 Train loss : 0.01017 -rel_err : 0.010606277463957668 -Epoch 245 Train loss : 0.01038 -rel_err : 0.01171552208950743 -Epoch 246 Train loss : 0.01028 -rel_err : 0.012849475988186896 -Epoch 247 Train loss : 0.00992 -rel_err : 0.010566716832108795 -Epoch 248 Train loss : 0.01000 -rel_err : 0.01128078239504248 -Epoch 249 Train loss : 0.01012 -rel_err : 0.01046867003897205 -Epoch 250 Train loss : 0.00995 -rel_err : 0.010339207702782006 -Epoch 251 Train loss : 0.00995 -rel_err : 0.012024465131107718 -Epoch 252 Train loss : 0.00978 -rel_err : 0.010895012808032335 -Epoch 253 Train loss : 0.00999 -rel_err : 0.011433980138972401 -Epoch 254 Train loss : 0.00965 -rel_err : 0.01056017139228061 -Epoch 255 Train loss : 0.00989 -rel_err : 0.011156710111536086 -Epoch 256 Train loss : 0.00971 -rel_err : 0.011243307469412685 -Epoch 257 Train loss : 0.00970 -rel_err : 0.013299606214277447 -Epoch 258 Train loss : 0.00986 -rel_err : 0.011794505461584776 -Epoch 259 Train loss : 0.00955 -rel_err : 0.011030801425222307 -Epoch 260 Train loss : 0.00938 -rel_err : 0.010452794418670237 -Epoch 261 Train loss : 0.00942 -rel_err : 0.010597894901875406 -Epoch 262 Train loss : 0.00936 -rel_err : 0.010196231349837034 -Epoch 263 Train loss : 0.00931 -rel_err : 0.009260615552775561 -Epoch 264 Train loss : 0.00956 -rel_err : 0.010652011446654796 -Epoch 265 Train loss : 0.00930 -rel_err : 0.00991451512556523 -Epoch 266 Train loss : 0.00907 -rel_err : 0.009858601931482554 -Epoch 267 Train loss : 0.00908 -rel_err : 0.010353890957776456 -Epoch 268 Train loss : 0.00929 -rel_err : 0.010870881357695907 -Epoch 269 Train loss : 0.00900 -rel_err : 0.010846890024840832 -Epoch 270 Train loss : 0.00903 -rel_err : 0.010043020446319132 -Epoch 271 Train loss : 0.00927 -rel_err : 0.010442192517220974 -Epoch 272 Train loss : 0.00892 -rel_err : 0.009386628600768745 -Epoch 273 Train loss : 0.00912 -rel_err : 0.010089947243686765 -Epoch 274 Train loss : 0.00893 -rel_err : 0.009613703375216574 -Epoch 275 Train loss : 0.00881 -rel_err : 0.010435651226434856 -Epoch 276 Train loss : 0.00877 -rel_err : 0.010033822716213763 -Epoch 277 Train loss : 0.00889 -rel_err : 0.009293053534347563 -Epoch 278 Train loss : 0.00865 -rel_err : 0.00920263551408425 -Epoch 279 Train loss : 0.00860 -rel_err : 0.009863549678120762 -Epoch 280 Train loss : 0.00858 -rel_err : 0.009843485350720584 -Epoch 281 Train loss : 0.00862 -rel_err : 0.009858786554541438 -Epoch 282 Train loss : 0.00873 -rel_err : 0.009491278191562742 -Epoch 283 Train loss : 0.00830 -rel_err : 0.009758489830419421 -Epoch 284 Train loss : 0.00835 -rel_err : 0.008530453506391495 -Epoch 285 Train loss : 0.00829 -rel_err : 0.010314446380361915 -Epoch 286 Train loss : 0.00841 -rel_err : 0.009006292165722699 -Epoch 287 Train loss : 0.00820 -rel_err : 0.009330237328540533 -Epoch 288 Train loss : 0.00831 -rel_err : 0.009170180256478488 -Epoch 289 Train loss : 0.00826 -rel_err : 0.008558273848611861 -Epoch 290 Train loss : 0.00817 -rel_err : 0.008929687954951077 -Epoch 291 Train loss : 0.00808 -rel_err : 0.008900556482840329 -Epoch 292 Train loss : 0.00807 -rel_err : 0.009340658255387097 -Epoch 293 Train loss : 0.00798 -rel_err : 0.008632342526689173 -Epoch 294 Train loss : 0.00803 -rel_err : 0.008966335176955909 -Epoch 295 Train loss : 0.00797 -rel_err : 0.008595124296844005 -Epoch 296 Train loss : 0.00794 -rel_err : 0.008726203532423824 -Epoch 297 Train loss : 0.00782 -rel_err : 0.008513471155893057 -Epoch 298 Train loss : 0.00786 -rel_err : 0.008679328204598278 -Epoch 299 Train loss : 0.00779 -rel_err : 0.009055584636516869 -Epoch 300 Train loss : 0.00789 -rel_err : 0.008476813768502324 -save model -Epoch 301 Train loss : 0.00786 -rel_err : 0.008948165697511286 -Epoch 302 Train loss : 0.00769 -rel_err : 0.008695108990650624 -Epoch 303 Train loss : 0.00756 -rel_err : 0.009020233938936145 -Epoch 304 Train loss : 0.00758 -rel_err : 0.009063416586723178 -Epoch 305 Train loss : 0.00769 -rel_err : 0.008353744351770729 -Epoch 306 Train loss : 0.00760 -rel_err : 0.008095518418122083 -Epoch 307 Train loss : 0.00753 -rel_err : 0.009388718479312956 -Epoch 308 Train loss : 0.00748 -rel_err : 0.008778039109893143 -Epoch 309 Train loss : 0.00725 -rel_err : 0.008574726078659296 -Epoch 310 Train loss : 0.00730 -rel_err : 0.009427331120241434 -Epoch 311 Train loss : 0.00735 -rel_err : 0.009748191621620208 -Epoch 312 Train loss : 0.00734 -rel_err : 0.008431857763789595 -Epoch 313 Train loss : 0.00727 -rel_err : 0.00813950399402529 -Epoch 314 Train loss : 0.00729 -rel_err : 0.00788907052250579 -Epoch 315 Train loss : 0.00715 -rel_err : 0.007739578471519053 -Epoch 316 Train loss : 0.00707 -rel_err : 0.008552527769934386 -Epoch 317 Train loss : 0.00734 -rel_err : 0.008625896326266229 -Epoch 318 Train loss : 0.00712 -rel_err : 0.008361640309449286 -Epoch 319 Train loss : 0.00703 -rel_err : 0.007873057490214705 -Epoch 320 Train loss : 0.00709 -rel_err : 0.008310356724541635 -Epoch 321 Train loss : 0.00704 -rel_err : 0.008363980539143086 -Epoch 322 Train loss : 0.00697 -rel_err : 0.00785284518962726 -Epoch 323 Train loss : 0.00685 -rel_err : 0.0075223700283095244 -Epoch 324 Train loss : 0.00691 -rel_err : 0.0079543361463584 -Epoch 325 Train loss : 0.00691 -rel_err : 0.008180617240723222 -Epoch 326 Train loss : 0.00672 -rel_err : 0.0077024632529355585 -Epoch 327 Train loss : 0.00668 -rel_err : 0.007826169598847627 -Epoch 328 Train loss : 0.00674 -rel_err : 0.007681607315316796 -Epoch 329 Train loss : 0.00673 -rel_err : 0.008048723903484642 -Epoch 330 Train loss : 0.00659 -rel_err : 0.00750729963183403 -Epoch 331 Train loss : 0.00655 -rel_err : 0.0076777978730387985 -Epoch 332 Train loss : 0.00647 -rel_err : 0.007747665420174599 -Epoch 333 Train loss : 0.00651 -rel_err : 0.007949063624255358 -Epoch 334 Train loss : 0.00662 -rel_err : 0.008559132535010576 -Epoch 335 Train loss : 0.00654 -rel_err : 0.007928345941472799 -Epoch 336 Train loss : 0.00637 -rel_err : 0.008018069157842547 -Epoch 337 Train loss : 0.00639 -rel_err : 0.00808527007466182 -Epoch 338 Train loss : 0.00640 -rel_err : 0.007865310329943895 -Epoch 339 Train loss : 0.00632 -rel_err : 0.007387441156897694 -Epoch 340 Train loss : 0.00623 -rel_err : 0.007540586991235614 -Epoch 341 Train loss : 0.00622 -rel_err : 0.007398792146705091 -Epoch 342 Train loss : 0.00624 -rel_err : 0.007542236752342433 -Epoch 343 Train loss : 0.00619 -rel_err : 0.007928734533488751 -Epoch 344 Train loss : 0.00624 -rel_err : 0.007379963512066752 -Epoch 345 Train loss : 0.00615 -rel_err : 0.007325853925431147 -Epoch 346 Train loss : 0.00621 -rel_err : 0.0076780108432285485 -Epoch 347 Train loss : 0.00611 -rel_err : 0.007252911132527515 -Epoch 348 Train loss : 0.00611 -rel_err : 0.007079645378980786 -Epoch 349 Train loss : 0.00607 -rel_err : 0.007360366443172097 -Epoch 350 Train loss : 0.00599 -rel_err : 0.007014994443161413 -Epoch 351 Train loss : 0.00600 -rel_err : 0.007161485196556896 -Epoch 352 Train loss : 0.00595 -rel_err : 0.007443869565613568 -Epoch 353 Train loss : 0.00595 -rel_err : 0.007397014204179868 -Epoch 354 Train loss : 0.00584 -rel_err : 0.007488142903894186 -Epoch 355 Train loss : 0.00583 -rel_err : 0.007123876244295388 -Epoch 356 Train loss : 0.00580 -rel_err : 0.007057803046191111 -Epoch 357 Train loss : 0.00577 -rel_err : 0.0069873724807985125 -Epoch 358 Train loss : 0.00577 -rel_err : 0.006952060810290277 -Epoch 359 Train loss : 0.00575 -rel_err : 0.007090294391382486 -Epoch 360 Train loss : 0.00569 -rel_err : 0.007211415339261293 -Epoch 361 Train loss : 0.00569 -rel_err : 0.007188036905135959 -Epoch 362 Train loss : 0.00565 -rel_err : 0.0069623768690507855 -Epoch 363 Train loss : 0.00566 -rel_err : 0.007190995791461319 -Epoch 364 Train loss : 0.00561 -rel_err : 0.006736106596654281 -Epoch 365 Train loss : 0.00556 -rel_err : 0.006929670593235642 -Epoch 366 Train loss : 0.00557 -rel_err : 0.007051306649809703 -Epoch 367 Train loss : 0.00551 -rel_err : 0.006998218223452568 -Epoch 368 Train loss : 0.00550 -rel_err : 0.006848063681973144 -Epoch 369 Train loss : 0.00551 -rel_err : 0.006702030067099258 -Epoch 370 Train loss : 0.00546 -rel_err : 0.006849416345357895 -Epoch 371 Train loss : 0.00539 -rel_err : 0.006885691522620618 -Epoch 372 Train loss : 0.00542 -rel_err : 0.006682852258672938 -Epoch 373 Train loss : 0.00541 -rel_err : 0.0067593917448539285 -Epoch 374 Train loss : 0.00535 -rel_err : 0.006633431419031694 -Epoch 375 Train loss : 0.00533 -rel_err : 0.006811670297756791 -Epoch 376 Train loss : 0.00532 -rel_err : 0.0066333753161598 -Epoch 377 Train loss : 0.00531 -rel_err : 0.006738448231481016 -Epoch 378 Train loss : 0.00527 -rel_err : 0.006702293461421505 -Epoch 379 Train loss : 0.00526 -rel_err : 0.0067172189918346704 -Epoch 380 Train loss : 0.00523 -rel_err : 0.006815580944530666 -Epoch 381 Train loss : 0.00522 -rel_err : 0.006606008769012988 -Epoch 382 Train loss : 0.00519 -rel_err : 0.006529581204522401 -Epoch 383 Train loss : 0.00519 -rel_err : 0.006495264314580708 -Epoch 384 Train loss : 0.00516 -rel_err : 0.006597779196454212 -Epoch 385 Train loss : 0.00514 -rel_err : 0.006602137362351641 -Epoch 386 Train loss : 0.00513 -rel_err : 0.006487995433853939 -Epoch 387 Train loss : 0.00509 -rel_err : 0.006423893029568717 -Epoch 388 Train loss : 0.00506 -rel_err : 0.006678657138254493 -Epoch 389 Train loss : 0.00506 -rel_err : 0.006478946126298979 -Epoch 390 Train loss : 0.00504 -rel_err : 0.006433891667984426 -Epoch 391 Train loss : 0.00501 -rel_err : 0.0064842163457069545 -Epoch 392 Train loss : 0.00501 -rel_err : 0.006393412016332149 -Epoch 393 Train loss : 0.00496 -rel_err : 0.006451940091792494 -Epoch 394 Train loss : 0.00495 -rel_err : 0.006391678425716236 -Epoch 395 Train loss : 0.00494 -rel_err : 0.006307929693721234 -Epoch 396 Train loss : 0.00492 -rel_err : 0.006365307800006121 -Epoch 397 Train loss : 0.00490 -rel_err : 0.006339509622193873 -Epoch 398 Train loss : 0.00488 -rel_err : 0.006258741515921429 -Epoch 399 Train loss : 0.00488 -rel_err : 0.006326908363262191 -Epoch 400 Train loss : 0.00484 -rel_err : 0.006228519245050848 -save model -Epoch 401 Train loss : 0.00484 -rel_err : 0.0062702122773043815 -Epoch 402 Train loss : 0.00480 -rel_err : 0.0062375174777116625 -Epoch 403 Train loss : 0.00481 -rel_err : 0.0062440806080121545 -Epoch 404 Train loss : 0.00478 -rel_err : 0.006147144925780595 -Epoch 405 Train loss : 0.00477 -rel_err : 0.006248337571742013 -Epoch 406 Train loss : 0.00476 -rel_err : 0.006200891545740887 -Epoch 407 Train loss : 0.00475 -rel_err : 0.006166158884298056 -Epoch 408 Train loss : 0.00471 -rel_err : 0.006178550042677671 -Epoch 409 Train loss : 0.00472 -rel_err : 0.0061805605853442105 -Epoch 410 Train loss : 0.00470 -rel_err : 0.006197454843204469 -Epoch 411 Train loss : 0.00469 -rel_err : 0.0061357352382037786 -Epoch 412 Train loss : 0.00466 -rel_err : 0.0061890215694438665 -Epoch 413 Train loss : 0.00465 -rel_err : 0.006171165590640158 -Epoch 414 Train loss : 0.00464 -rel_err : 0.006131292391801253 -Epoch 415 Train loss : 0.00462 -rel_err : 0.006152834789827466 -Epoch 416 Train loss : 0.00461 -rel_err : 0.006083522115368396 -Epoch 417 Train loss : 0.00460 -rel_err : 0.0060757822054438295 -Epoch 418 Train loss : 0.00459 -rel_err : 0.006079242032719776 -Epoch 419 Train loss : 0.00457 -rel_err : 0.006016814809991047 -Epoch 420 Train loss : 0.00456 -rel_err : 0.006082894137362019 -Epoch 421 Train loss : 0.00456 -rel_err : 0.0060316143813543025 -Epoch 422 Train loss : 0.00454 -rel_err : 0.006089536033105105 -Epoch 423 Train loss : 0.00453 -rel_err : 0.0060069041571114215 -Epoch 424 Train loss : 0.00452 -rel_err : 0.005959844960598275 -Epoch 425 Train loss : 0.00451 -rel_err : 0.005971281350357458 -Epoch 426 Train loss : 0.00449 -rel_err : 0.005964436765061691 -Epoch 427 Train loss : 0.00448 -rel_err : 0.005953675323398784 -Epoch 428 Train loss : 0.00447 -rel_err : 0.00599232101929374 -Epoch 429 Train loss : 0.00447 -rel_err : 0.006027189888991416 -Epoch 430 Train loss : 0.00446 -rel_err : 0.005955894904909656 -Epoch 431 Train loss : 0.00445 -rel_err : 0.0059545589669141915 -Epoch 432 Train loss : 0.00444 -rel_err : 0.005936475109774619 -Epoch 433 Train loss : 0.00443 -rel_err : 0.005930126159219071 -Epoch 434 Train loss : 0.00442 -rel_err : 0.005921151189832017 -Epoch 435 Train loss : 0.00441 -rel_err : 0.005965119446627796 -Epoch 436 Train loss : 0.00440 -rel_err : 0.005911399710457772 -Epoch 437 Train loss : 0.00440 -rel_err : 0.005911809114040807 -Epoch 438 Train loss : 0.00439 -rel_err : 0.005877705456223339 -Epoch 439 Train loss : 0.00438 -rel_err : 0.005896756838774308 -Epoch 440 Train loss : 0.00437 -rel_err : 0.005887876558117569 -Epoch 441 Train loss : 0.00436 -rel_err : 0.005869530981872231 -Epoch 442 Train loss : 0.00435 -rel_err : 0.00586124649271369 -Epoch 443 Train loss : 0.00435 -rel_err : 0.005846559838391841 -Epoch 444 Train loss : 0.00434 -rel_err : 0.00585312376730144 -Epoch 445 Train loss : 0.00433 -rel_err : 0.0058488127833697945 -Epoch 446 Train loss : 0.00432 -rel_err : 0.0058453081583138555 -Epoch 447 Train loss : 0.00432 -rel_err : 0.005850328695960343 -Epoch 448 Train loss : 0.00431 -rel_err : 0.005824674755567685 -Epoch 449 Train loss : 0.00431 -rel_err : 0.005832316688029095 -Epoch 450 Train loss : 0.00430 -rel_err : 0.005815303445560857 -Epoch 451 Train loss : 0.00429 -rel_err : 0.00582285487675108 -Epoch 452 Train loss : 0.00429 -rel_err : 0.005824708600994199 -Epoch 453 Train loss : 0.00429 -rel_err : 0.005813947066199035 -Epoch 454 Train loss : 0.00428 -rel_err : 0.005815853445092216 -Epoch 455 Train loss : 0.00427 -rel_err : 0.005821956737199798 -Epoch 456 Train loss : 0.00427 -rel_err : 0.005821471901144832 -Epoch 457 Train loss : 0.00426 -rel_err : 0.005804015654139221 -Epoch 458 Train loss : 0.00426 -rel_err : 0.005788728655315936 -Epoch 459 Train loss : 0.00425 -rel_err : 0.005783167427871376 -Epoch 460 Train loss : 0.00425 -rel_err : 0.005793007239699364 -Epoch 461 Train loss : 0.00425 -rel_err : 0.005801454026950524 -Epoch 462 Train loss : 0.00424 -rel_err : 0.005786934912903234 -Epoch 463 Train loss : 0.00424 -rel_err : 0.005780306465458125 -Epoch 464 Train loss : 0.00423 -rel_err : 0.005778194912709296 -Epoch 465 Train loss : 0.00423 -rel_err : 0.005770997464423999 -Epoch 466 Train loss : 0.00422 -rel_err : 0.005760341363493353 -Epoch 467 Train loss : 0.00422 -rel_err : 0.005768904491560534 -Epoch 468 Train loss : 0.00422 -rel_err : 0.005774281822377816 -Epoch 469 Train loss : 0.00421 -rel_err : 0.005766700383974239 -Epoch 470 Train loss : 0.00421 -rel_err : 0.005765940798446536 -Epoch 471 Train loss : 0.00421 -rel_err : 0.0057560007472056895 -Epoch 472 Train loss : 0.00420 -rel_err : 0.0057618279219605025 -Epoch 473 Train loss : 0.00420 -rel_err : 0.005762864622520283 -Epoch 474 Train loss : 0.00420 -rel_err : 0.0057542799587827174 -Epoch 475 Train loss : 0.00419 -rel_err : 0.005755903095705435 -Epoch 476 Train loss : 0.00419 -rel_err : 0.005760496944421902 -Epoch 477 Train loss : 0.00419 -rel_err : 0.005757336789974943 -Epoch 478 Train loss : 0.00419 -rel_err : 0.005756281284848228 -Epoch 479 Train loss : 0.00419 -rel_err : 0.005753386653959751 -Epoch 480 Train loss : 0.00418 -rel_err : 0.005745952082797885 -Epoch 481 Train loss : 0.00418 -rel_err : 0.005748225853312761 -Epoch 482 Train loss : 0.00418 -rel_err : 0.005745971065480262 -Epoch 483 Train loss : 0.00418 -rel_err : 0.0057430495519656686 -Epoch 484 Train loss : 0.00418 -rel_err : 0.005745444765780121 -Epoch 485 Train loss : 0.00417 -rel_err : 0.005742611475288868 -Epoch 486 Train loss : 0.00417 -rel_err : 0.005737678837031126 -Epoch 487 Train loss : 0.00417 -rel_err : 0.005743847490521148 -Epoch 488 Train loss : 0.00417 -rel_err : 0.005743127990281209 -Epoch 489 Train loss : 0.00417 -rel_err : 0.0057406383310444654 -Epoch 490 Train loss : 0.00417 -rel_err : 0.005738970263628289 -Epoch 491 Train loss : 0.00417 -rel_err : 0.005739393589319661 -Epoch 492 Train loss : 0.00416 -rel_err : 0.005737178245326504 -Epoch 493 Train loss : 0.00416 -rel_err : 0.00573732016258873 -Epoch 494 Train loss : 0.00416 -rel_err : 0.005738350370666012 -Epoch 495 Train loss : 0.00416 -rel_err : 0.005737909896997735 -Epoch 496 Train loss : 0.00416 -rel_err : 0.00573840520111844 -Epoch 497 Train loss : 0.00416 -rel_err : 0.005738090807572007 -Epoch 498 Train loss : 0.00416 -rel_err : 0.005738068090286106 -Epoch 499 Train loss : 0.00416 -rel_err : 0.00573821036494337 -save model diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E.log deleted file mode 100644 index cdd7431376..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E.log +++ /dev/null @@ -1,238 +0,0 @@ -(1200, 64, 64, 20) -W1029 22:14:54.077661 879116 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1029 22:14:54.078275 879116 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=256, n_layers=8, n_heads=8, batch_size=2, gpu=0, max_grad_norm=None, downsample=1, mlp_ratio=1, dropout=0.0, unified_pos=1, ref=8, slice_num=32, eval=1, save_name='ns_Transolver', data_path='data/fno') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=74, out_features=512, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=512, out_features=256, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp2): Linear(in_features=256, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 11232321 -1 -2 -3 -4 -5 -6 -7 -8 -9 -0.19166209936141967 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E_Second.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E_Second.log deleted file mode 100644 index 64d0f1768b..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_E_Second.log +++ /dev/null @@ -1,238 +0,0 @@ -W1105 10:52:06.906328 2972292 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1105 10:52:06.917985 2972292 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=256, n_layers=8, n_heads=8, batch_size=2, gpu=0, max_grad_norm=None, downsample=1, mlp_ratio=1, dropout=0.0, unified_pos=1, ref=8, slice_num=32, eval=1, save_name='ns_Transolver', data_path='data/fno') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=74, out_features=512, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=512, out_features=256, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp2): Linear(in_features=256, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 11232321 -1 -2 -3 -4 -5 -6 -7 -8 -9 -0.08822000566869974 - diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_T.log deleted file mode 100644 index 424e2d8e19..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_NS_T.log +++ /dev/null @@ -1,528 +0,0 @@ -nohup: ignoring input -W1028 15:23:12.713439 63518 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1028 15:23:12.714071 63518 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -(1200, 64, 64, 20) -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=256, n_layers=8, n_heads=8, batch_size=2, gpu=0, max_grad_norm=None, downsample=1, mlp_ratio=1, dropout=0.0, unified_pos=1, ref=8, slice_num=32, eval=0, save_name='ns_Transolver', data_path='data/fno') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=74, out_features=512, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=512, out_features=256, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(256, 256, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=32, out_features=32, dtype=None) - (to_q): Linear(in_features=32, out_features=32, dtype=None) - (to_k): Linear(in_features=32, out_features=32, dtype=None) - (to_v): Linear(in_features=32, out_features=32, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=256, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=256, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[256], epsilon=1e-05) - (mlp2): Linear(in_features=256, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 11232321 -Epoch 0 , train_step_loss:0.37562 , train_full_loss:0.44013 , test_step_loss:0.68953 , test_full_loss:0.82265 -save model -Epoch 1 , train_step_loss:0.31059 , train_full_loss:0.36484 , test_step_loss:0.63108 , test_full_loss:0.73274 -Epoch 2 , train_step_loss:0.27814 , train_full_loss:0.32452 , test_step_loss:0.55410 , test_full_loss:0.65188 -Epoch 3 , train_step_loss:0.25396 , train_full_loss:0.29814 , test_step_loss:0.49082 , test_full_loss:0.58753 -Epoch 4 , train_step_loss:0.24053 , train_full_loss:0.28338 , test_step_loss:0.51754 , test_full_loss:0.61865 -Epoch 5 , train_step_loss:0.23113 , train_full_loss:0.27209 , test_step_loss:0.56673 , test_full_loss:0.68201 -Epoch 6 , train_step_loss:0.22151 , train_full_loss:0.26079 , test_step_loss:0.51753 , test_full_loss:0.60275 -Epoch 7 , train_step_loss:0.21170 , train_full_loss:0.24886 , test_step_loss:0.44401 , test_full_loss:0.51780 -Epoch 8 , train_step_loss:0.20312 , train_full_loss:0.23873 , test_step_loss:0.39524 , test_full_loss:0.46872 -Epoch 9 , train_step_loss:0.19767 , train_full_loss:0.23223 , test_step_loss:0.39254 , test_full_loss:0.45843 -Epoch 10 , train_step_loss:0.19187 , train_full_loss:0.22596 , test_step_loss:0.43197 , test_full_loss:0.51276 -Epoch 11 , train_step_loss:0.18805 , train_full_loss:0.22093 , test_step_loss:0.43012 , test_full_loss:0.50591 -Epoch 12 , train_step_loss:0.18296 , train_full_loss:0.21541 , test_step_loss:0.47104 , test_full_loss:0.55649 -Epoch 13 , train_step_loss:0.17768 , train_full_loss:0.20907 , test_step_loss:0.36900 , test_full_loss:0.43768 -Epoch 14 , train_step_loss:0.17467 , train_full_loss:0.20546 , test_step_loss:0.39285 , test_full_loss:0.46915 -Epoch 15 , train_step_loss:0.17100 , train_full_loss:0.20074 , test_step_loss:0.33456 , test_full_loss:0.39531 -Epoch 16 , train_step_loss:0.16534 , train_full_loss:0.19475 , test_step_loss:0.34140 , test_full_loss:0.40681 -Epoch 17 , train_step_loss:0.16416 , train_full_loss:0.19272 , test_step_loss:0.44302 , test_full_loss:0.52026 -Epoch 18 , train_step_loss:0.15848 , train_full_loss:0.18608 , test_step_loss:0.39922 , test_full_loss:0.48839 -Epoch 19 , train_step_loss:0.15498 , train_full_loss:0.18208 , test_step_loss:0.42076 , test_full_loss:0.49806 -Epoch 20 , train_step_loss:0.15252 , train_full_loss:0.17933 , test_step_loss:0.36515 , test_full_loss:0.43602 -Epoch 21 , train_step_loss:0.14948 , train_full_loss:0.17590 , test_step_loss:0.38079 , test_full_loss:0.45640 -Epoch 22 , train_step_loss:0.14675 , train_full_loss:0.17239 , test_step_loss:0.35322 , test_full_loss:0.43448 -Epoch 23 , train_step_loss:0.14282 , train_full_loss:0.16769 , test_step_loss:0.37411 , test_full_loss:0.45078 -Epoch 24 , train_step_loss:0.13909 , train_full_loss:0.16384 , test_step_loss:0.35240 , test_full_loss:0.42820 -Epoch 25 , train_step_loss:0.13756 , train_full_loss:0.16144 , test_step_loss:0.31302 , test_full_loss:0.37162 -Epoch 26 , train_step_loss:0.13538 , train_full_loss:0.15877 , test_step_loss:0.30272 , test_full_loss:0.36304 -Epoch 27 , train_step_loss:0.12981 , train_full_loss:0.15257 , test_step_loss:0.34475 , test_full_loss:0.40967 -Epoch 28 , train_step_loss:0.13122 , train_full_loss:0.15400 , test_step_loss:0.29499 , test_full_loss:0.35592 -Epoch 29 , train_step_loss:0.12525 , train_full_loss:0.14742 , test_step_loss:0.32794 , test_full_loss:0.39890 -Epoch 30 , train_step_loss:0.12435 , train_full_loss:0.14603 , test_step_loss:0.29914 , test_full_loss:0.36054 -Epoch 31 , train_step_loss:0.12256 , train_full_loss:0.14394 , test_step_loss:0.33477 , test_full_loss:0.41819 -Epoch 32 , train_step_loss:0.12054 , train_full_loss:0.14116 , test_step_loss:0.27566 , test_full_loss:0.33550 -Epoch 33 , train_step_loss:0.11719 , train_full_loss:0.13757 , test_step_loss:0.27577 , test_full_loss:0.34107 -Epoch 34 , train_step_loss:0.11624 , train_full_loss:0.13665 , test_step_loss:0.35033 , test_full_loss:0.43163 -Epoch 35 , train_step_loss:0.11411 , train_full_loss:0.13400 , test_step_loss:0.32458 , test_full_loss:0.39091 -Epoch 36 , train_step_loss:0.11231 , train_full_loss:0.13186 , test_step_loss:0.30651 , test_full_loss:0.36623 -Epoch 37 , train_step_loss:0.11026 , train_full_loss:0.12969 , test_step_loss:0.31442 , test_full_loss:0.38549 -Epoch 38 , train_step_loss:0.10794 , train_full_loss:0.12706 , test_step_loss:0.26133 , test_full_loss:0.32119 -Epoch 39 , train_step_loss:0.10720 , train_full_loss:0.12630 , test_step_loss:0.31541 , test_full_loss:0.39316 -Epoch 40 , train_step_loss:0.10528 , train_full_loss:0.12410 , test_step_loss:0.29183 , test_full_loss:0.36122 -Epoch 41 , train_step_loss:0.10402 , train_full_loss:0.12245 , test_step_loss:0.26256 , test_full_loss:0.31927 -Epoch 42 , train_step_loss:0.10110 , train_full_loss:0.11952 , test_step_loss:0.25409 , test_full_loss:0.31303 -Epoch 43 , train_step_loss:0.10056 , train_full_loss:0.11883 , test_step_loss:0.34654 , test_full_loss:0.41369 -Epoch 44 , train_step_loss:0.09862 , train_full_loss:0.11651 , test_step_loss:0.27464 , test_full_loss:0.33434 -Epoch 45 , train_step_loss:0.09712 , train_full_loss:0.11486 , test_step_loss:0.24961 , test_full_loss:0.30496 -Epoch 46 , train_step_loss:0.09592 , train_full_loss:0.11338 , test_step_loss:0.30354 , test_full_loss:0.36619 -Epoch 47 , train_step_loss:0.09333 , train_full_loss:0.11093 , test_step_loss:0.29236 , test_full_loss:0.36358 -Epoch 48 , train_step_loss:0.09273 , train_full_loss:0.11038 , test_step_loss:0.30815 , test_full_loss:0.37779 -Epoch 49 , train_step_loss:0.09284 , train_full_loss:0.11033 , test_step_loss:0.26136 , test_full_loss:0.32016 -Epoch 50 , train_step_loss:0.09021 , train_full_loss:0.10777 , test_step_loss:0.29279 , test_full_loss:0.36544 -Epoch 51 , train_step_loss:0.09025 , train_full_loss:0.10748 , test_step_loss:0.24963 , test_full_loss:0.30937 -Epoch 52 , train_step_loss:0.08834 , train_full_loss:0.10528 , test_step_loss:0.26993 , test_full_loss:0.34234 -Epoch 53 , train_step_loss:0.08594 , train_full_loss:0.10299 , test_step_loss:0.24997 , test_full_loss:0.30993 -Epoch 54 , train_step_loss:0.08649 , train_full_loss:0.10351 , test_step_loss:0.28902 , test_full_loss:0.35862 -Epoch 55 , train_step_loss:0.08514 , train_full_loss:0.10186 , test_step_loss:0.25193 , test_full_loss:0.31309 -Epoch 56 , train_step_loss:0.08474 , train_full_loss:0.10111 , test_step_loss:0.24778 , test_full_loss:0.30719 -Epoch 57 , train_step_loss:0.08395 , train_full_loss:0.10088 , test_step_loss:0.33908 , test_full_loss:0.42363 -Epoch 58 , train_step_loss:0.08505 , train_full_loss:0.10106 , test_step_loss:0.26412 , test_full_loss:0.33093 -Epoch 59 , train_step_loss:0.08179 , train_full_loss:0.09802 , test_step_loss:0.26731 , test_full_loss:0.33578 -Epoch 60 , train_step_loss:0.07978 , train_full_loss:0.09591 , test_step_loss:0.25879 , test_full_loss:0.32669 -Epoch 61 , train_step_loss:0.08081 , train_full_loss:0.09727 , test_step_loss:0.25960 , test_full_loss:0.32608 -Epoch 62 , train_step_loss:0.08042 , train_full_loss:0.09648 , test_step_loss:0.26430 , test_full_loss:0.33015 -Epoch 63 , train_step_loss:0.07899 , train_full_loss:0.09470 , test_step_loss:0.22352 , test_full_loss:0.28488 -Epoch 64 , train_step_loss:0.07867 , train_full_loss:0.09439 , test_step_loss:0.24146 , test_full_loss:0.30375 -Epoch 65 , train_step_loss:0.07756 , train_full_loss:0.09341 , test_step_loss:0.26312 , test_full_loss:0.32550 -Epoch 66 , train_step_loss:0.07560 , train_full_loss:0.09108 , test_step_loss:0.23421 , test_full_loss:0.29345 -Epoch 67 , train_step_loss:0.07529 , train_full_loss:0.09078 , test_step_loss:0.22620 , test_full_loss:0.28094 -Epoch 68 , train_step_loss:0.07576 , train_full_loss:0.09104 , test_step_loss:0.24836 , test_full_loss:0.31910 -Epoch 69 , train_step_loss:0.07329 , train_full_loss:0.08815 , test_step_loss:0.25454 , test_full_loss:0.31472 -Epoch 70 , train_step_loss:0.07409 , train_full_loss:0.08918 , test_step_loss:0.25104 , test_full_loss:0.32826 -Epoch 71 , train_step_loss:0.07356 , train_full_loss:0.08852 , test_step_loss:0.22155 , test_full_loss:0.28189 -Epoch 72 , train_step_loss:0.07276 , train_full_loss:0.08790 , test_step_loss:0.21670 , test_full_loss:0.27561 -Epoch 73 , train_step_loss:0.07225 , train_full_loss:0.08673 , test_step_loss:0.26121 , test_full_loss:0.33547 -Epoch 74 , train_step_loss:0.07064 , train_full_loss:0.08576 , test_step_loss:0.22739 , test_full_loss:0.29158 -Epoch 75 , train_step_loss:0.07118 , train_full_loss:0.08594 , test_step_loss:0.21388 , test_full_loss:0.27713 -Epoch 76 , train_step_loss:0.06921 , train_full_loss:0.08354 , test_step_loss:0.22182 , test_full_loss:0.28175 -Epoch 77 , train_step_loss:0.07115 , train_full_loss:0.08563 , test_step_loss:0.20973 , test_full_loss:0.26430 -Epoch 78 , train_step_loss:0.06814 , train_full_loss:0.08258 , test_step_loss:0.23052 , test_full_loss:0.28747 -Epoch 79 , train_step_loss:0.06962 , train_full_loss:0.08371 , test_step_loss:0.23558 , test_full_loss:0.30268 -Epoch 80 , train_step_loss:0.06717 , train_full_loss:0.08114 , test_step_loss:0.23187 , test_full_loss:0.29947 -Epoch 81 , train_step_loss:0.06684 , train_full_loss:0.08073 , test_step_loss:0.23691 , test_full_loss:0.29711 -Epoch 82 , train_step_loss:0.06644 , train_full_loss:0.08033 , test_step_loss:0.25923 , test_full_loss:0.32108 -Epoch 83 , train_step_loss:0.06496 , train_full_loss:0.07871 , test_step_loss:0.21920 , test_full_loss:0.28661 -Epoch 84 , train_step_loss:0.06548 , train_full_loss:0.07938 , test_step_loss:0.26181 , test_full_loss:0.33293 -Epoch 85 , train_step_loss:0.06600 , train_full_loss:0.07969 , test_step_loss:0.22523 , test_full_loss:0.29449 -Epoch 86 , train_step_loss:0.06418 , train_full_loss:0.07768 , test_step_loss:0.22132 , test_full_loss:0.28456 -Epoch 87 , train_step_loss:0.06416 , train_full_loss:0.07774 , test_step_loss:0.21963 , test_full_loss:0.27763 -Epoch 88 , train_step_loss:0.06297 , train_full_loss:0.07634 , test_step_loss:0.24299 , test_full_loss:0.30993 -Epoch 89 , train_step_loss:0.06230 , train_full_loss:0.07558 , test_step_loss:0.20442 , test_full_loss:0.26185 -Epoch 90 , train_step_loss:0.06318 , train_full_loss:0.07652 , test_step_loss:0.21126 , test_full_loss:0.26584 -Epoch 91 , train_step_loss:0.06235 , train_full_loss:0.07549 , test_step_loss:0.24675 , test_full_loss:0.31893 -Epoch 92 , train_step_loss:0.06159 , train_full_loss:0.07488 , test_step_loss:0.22349 , test_full_loss:0.28623 -Epoch 93 , train_step_loss:0.06090 , train_full_loss:0.07404 , test_step_loss:0.18308 , test_full_loss:0.23338 -Epoch 94 , train_step_loss:0.06084 , train_full_loss:0.07376 , test_step_loss:0.21352 , test_full_loss:0.27369 -Epoch 95 , train_step_loss:0.06105 , train_full_loss:0.07420 , test_step_loss:0.22081 , test_full_loss:0.28944 -Epoch 96 , train_step_loss:0.06110 , train_full_loss:0.07366 , test_step_loss:0.17131 , test_full_loss:0.21692 -Epoch 97 , train_step_loss:0.05960 , train_full_loss:0.07226 , test_step_loss:0.21467 , test_full_loss:0.27278 -Epoch 98 , train_step_loss:0.05992 , train_full_loss:0.07269 , test_step_loss:0.22712 , test_full_loss:0.28987 -Epoch 99 , train_step_loss:0.05800 , train_full_loss:0.07032 , test_step_loss:0.20247 , test_full_loss:0.26090 -Epoch 100 , train_step_loss:0.05738 , train_full_loss:0.06976 , test_step_loss:0.18335 , test_full_loss:0.23674 -save model -Epoch 101 , train_step_loss:0.05795 , train_full_loss:0.07026 , test_step_loss:0.19506 , test_full_loss:0.25474 -Epoch 102 , train_step_loss:0.05693 , train_full_loss:0.06924 , test_step_loss:0.17954 , test_full_loss:0.23004 -Epoch 103 , train_step_loss:0.05777 , train_full_loss:0.07024 , test_step_loss:0.28114 , test_full_loss:0.36048 -Epoch 104 , train_step_loss:0.05701 , train_full_loss:0.06919 , test_step_loss:0.22605 , test_full_loss:0.28413 -Epoch 105 , train_step_loss:0.05614 , train_full_loss:0.06830 , test_step_loss:0.22224 , test_full_loss:0.28800 -Epoch 106 , train_step_loss:0.05607 , train_full_loss:0.06832 , test_step_loss:0.22336 , test_full_loss:0.28536 -Epoch 107 , train_step_loss:0.05616 , train_full_loss:0.06787 , test_step_loss:0.18282 , test_full_loss:0.23365 -Epoch 108 , train_step_loss:0.05498 , train_full_loss:0.06686 , test_step_loss:0.17294 , test_full_loss:0.22161 -Epoch 109 , train_step_loss:0.05433 , train_full_loss:0.06590 , test_step_loss:0.16999 , test_full_loss:0.22039 -Epoch 110 , train_step_loss:0.05411 , train_full_loss:0.06581 , test_step_loss:0.19856 , test_full_loss:0.25199 -Epoch 111 , train_step_loss:0.05370 , train_full_loss:0.06527 , test_step_loss:0.18508 , test_full_loss:0.23810 -Epoch 112 , train_step_loss:0.05311 , train_full_loss:0.06479 , test_step_loss:0.18524 , test_full_loss:0.23963 -Epoch 113 , train_step_loss:0.05306 , train_full_loss:0.06448 , test_step_loss:0.20589 , test_full_loss:0.26215 -Epoch 114 , train_step_loss:0.05244 , train_full_loss:0.06382 , test_step_loss:0.16615 , test_full_loss:0.20994 -Epoch 115 , train_step_loss:0.05273 , train_full_loss:0.06412 , test_step_loss:0.17108 , test_full_loss:0.22061 -Epoch 116 , train_step_loss:0.05334 , train_full_loss:0.06476 , test_step_loss:0.20168 , test_full_loss:0.26284 -Epoch 117 , train_step_loss:0.05182 , train_full_loss:0.06310 , test_step_loss:0.19040 , test_full_loss:0.25033 -Epoch 118 , train_step_loss:0.05221 , train_full_loss:0.06341 , test_step_loss:0.24498 , test_full_loss:0.32879 -Epoch 119 , train_step_loss:0.05148 , train_full_loss:0.06275 , test_step_loss:0.18095 , test_full_loss:0.23784 -Epoch 120 , train_step_loss:0.05233 , train_full_loss:0.06338 , test_step_loss:0.16552 , test_full_loss:0.21176 -Epoch 121 , train_step_loss:0.05144 , train_full_loss:0.06274 , test_step_loss:0.17914 , test_full_loss:0.23399 -Epoch 122 , train_step_loss:0.05033 , train_full_loss:0.06143 , test_step_loss:0.19617 , test_full_loss:0.26073 -Epoch 123 , train_step_loss:0.05075 , train_full_loss:0.06177 , test_step_loss:0.19246 , test_full_loss:0.25889 -Epoch 124 , train_step_loss:0.04993 , train_full_loss:0.06063 , test_step_loss:0.18579 , test_full_loss:0.23914 -Epoch 125 , train_step_loss:0.04996 , train_full_loss:0.06059 , test_step_loss:0.16570 , test_full_loss:0.21107 -Epoch 126 , train_step_loss:0.04812 , train_full_loss:0.05868 , test_step_loss:0.19267 , test_full_loss:0.25762 -Epoch 127 , train_step_loss:0.04849 , train_full_loss:0.05915 , test_step_loss:0.18588 , test_full_loss:0.24228 -Epoch 128 , train_step_loss:0.04879 , train_full_loss:0.05919 , test_step_loss:0.24080 , test_full_loss:0.31253 -Epoch 129 , train_step_loss:0.04892 , train_full_loss:0.05949 , test_step_loss:0.18551 , test_full_loss:0.24441 -Epoch 130 , train_step_loss:0.04819 , train_full_loss:0.05860 , test_step_loss:0.17091 , test_full_loss:0.22292 -Epoch 131 , train_step_loss:0.04776 , train_full_loss:0.05812 , test_step_loss:0.20605 , test_full_loss:0.27871 -Epoch 132 , train_step_loss:0.04744 , train_full_loss:0.05771 , test_step_loss:0.16574 , test_full_loss:0.21870 -Epoch 133 , train_step_loss:0.04651 , train_full_loss:0.05674 , test_step_loss:0.20376 , test_full_loss:0.27488 -Epoch 134 , train_step_loss:0.04647 , train_full_loss:0.05663 , test_step_loss:0.18444 , test_full_loss:0.24525 -Epoch 135 , train_step_loss:0.04644 , train_full_loss:0.05652 , test_step_loss:0.19340 , test_full_loss:0.25227 -Epoch 136 , train_step_loss:0.04677 , train_full_loss:0.05690 , test_step_loss:0.16644 , test_full_loss:0.21688 -Epoch 137 , train_step_loss:0.04512 , train_full_loss:0.05498 , test_step_loss:0.16099 , test_full_loss:0.20820 -Epoch 138 , train_step_loss:0.04598 , train_full_loss:0.05592 , test_step_loss:0.16469 , test_full_loss:0.21337 -Epoch 139 , train_step_loss:0.04437 , train_full_loss:0.05418 , test_step_loss:0.17686 , test_full_loss:0.23821 -Epoch 140 , train_step_loss:0.04532 , train_full_loss:0.05509 , test_step_loss:0.17384 , test_full_loss:0.22657 -Epoch 141 , train_step_loss:0.04519 , train_full_loss:0.05495 , test_step_loss:0.15994 , test_full_loss:0.20696 -Epoch 142 , train_step_loss:0.04506 , train_full_loss:0.05482 , test_step_loss:0.14887 , test_full_loss:0.19454 -Epoch 143 , train_step_loss:0.04453 , train_full_loss:0.05412 , test_step_loss:0.19127 , test_full_loss:0.25275 -Epoch 144 , train_step_loss:0.04341 , train_full_loss:0.05283 , test_step_loss:0.18377 , test_full_loss:0.24695 -Epoch 145 , train_step_loss:0.04350 , train_full_loss:0.05305 , test_step_loss:0.15901 , test_full_loss:0.20860 -Epoch 146 , train_step_loss:0.04354 , train_full_loss:0.05282 , test_step_loss:0.14093 , test_full_loss:0.18604 -Epoch 147 , train_step_loss:0.04255 , train_full_loss:0.05171 , test_step_loss:0.14936 , test_full_loss:0.19599 -Epoch 148 , train_step_loss:0.04314 , train_full_loss:0.05261 , test_step_loss:0.17576 , test_full_loss:0.22379 -Epoch 149 , train_step_loss:0.04332 , train_full_loss:0.05252 , test_step_loss:0.15808 , test_full_loss:0.20569 -Epoch 150 , train_step_loss:0.04255 , train_full_loss:0.05191 , test_step_loss:0.18262 , test_full_loss:0.24003 -Epoch 151 , train_step_loss:0.04216 , train_full_loss:0.05141 , test_step_loss:0.16110 , test_full_loss:0.21804 -Epoch 152 , train_step_loss:0.04187 , train_full_loss:0.05095 , test_step_loss:0.14140 , test_full_loss:0.18638 -Epoch 153 , train_step_loss:0.04183 , train_full_loss:0.05087 , test_step_loss:0.18313 , test_full_loss:0.24273 -Epoch 154 , train_step_loss:0.04210 , train_full_loss:0.05114 , test_step_loss:0.14731 , test_full_loss:0.19265 -Epoch 155 , train_step_loss:0.04155 , train_full_loss:0.05045 , test_step_loss:0.15888 , test_full_loss:0.21048 -Epoch 156 , train_step_loss:0.04039 , train_full_loss:0.04917 , test_step_loss:0.17774 , test_full_loss:0.23090 -Epoch 157 , train_step_loss:0.04106 , train_full_loss:0.04983 , test_step_loss:0.17395 , test_full_loss:0.23454 -Epoch 158 , train_step_loss:0.04009 , train_full_loss:0.04894 , test_step_loss:0.17912 , test_full_loss:0.24770 -Epoch 159 , train_step_loss:0.04041 , train_full_loss:0.04897 , test_step_loss:0.16894 , test_full_loss:0.22202 -Epoch 160 , train_step_loss:0.04022 , train_full_loss:0.04892 , test_step_loss:0.15293 , test_full_loss:0.20052 -Epoch 161 , train_step_loss:0.04124 , train_full_loss:0.04991 , test_step_loss:0.21717 , test_full_loss:0.29564 -Epoch 162 , train_step_loss:0.04041 , train_full_loss:0.04909 , test_step_loss:0.16823 , test_full_loss:0.22688 -Epoch 163 , train_step_loss:0.03902 , train_full_loss:0.04744 , test_step_loss:0.15888 , test_full_loss:0.21383 -Epoch 164 , train_step_loss:0.03897 , train_full_loss:0.04740 , test_step_loss:0.14238 , test_full_loss:0.18959 -Epoch 165 , train_step_loss:0.03917 , train_full_loss:0.04762 , test_step_loss:0.16660 , test_full_loss:0.21696 -Epoch 166 , train_step_loss:0.04027 , train_full_loss:0.04881 , test_step_loss:0.16504 , test_full_loss:0.21328 -Epoch 167 , train_step_loss:0.03797 , train_full_loss:0.04618 , test_step_loss:0.15508 , test_full_loss:0.20470 -Epoch 168 , train_step_loss:0.03785 , train_full_loss:0.04602 , test_step_loss:0.14190 , test_full_loss:0.18663 -Epoch 169 , train_step_loss:0.03848 , train_full_loss:0.04685 , test_step_loss:0.17481 , test_full_loss:0.23425 -Epoch 170 , train_step_loss:0.03909 , train_full_loss:0.04718 , test_step_loss:0.19799 , test_full_loss:0.26725 -Epoch 171 , train_step_loss:0.03820 , train_full_loss:0.04643 , test_step_loss:0.14289 , test_full_loss:0.19054 -Epoch 172 , train_step_loss:0.03678 , train_full_loss:0.04481 , test_step_loss:0.18727 , test_full_loss:0.25300 -Epoch 173 , train_step_loss:0.03788 , train_full_loss:0.04585 , test_step_loss:0.14897 , test_full_loss:0.19554 -Epoch 174 , train_step_loss:0.03794 , train_full_loss:0.04607 , test_step_loss:0.15191 , test_full_loss:0.20206 -Epoch 175 , train_step_loss:0.03716 , train_full_loss:0.04513 , test_step_loss:0.17172 , test_full_loss:0.23502 -Epoch 176 , train_step_loss:0.03696 , train_full_loss:0.04493 , test_step_loss:0.14536 , test_full_loss:0.19466 -Epoch 177 , train_step_loss:0.03629 , train_full_loss:0.04417 , test_step_loss:0.12966 , test_full_loss:0.16940 -Epoch 178 , train_step_loss:0.03741 , train_full_loss:0.04540 , test_step_loss:0.16562 , test_full_loss:0.22901 -Epoch 179 , train_step_loss:0.03623 , train_full_loss:0.04403 , test_step_loss:0.14490 , test_full_loss:0.19164 -Epoch 180 , train_step_loss:0.03629 , train_full_loss:0.04413 , test_step_loss:0.13377 , test_full_loss:0.17771 -Epoch 181 , train_step_loss:0.03569 , train_full_loss:0.04344 , test_step_loss:0.14505 , test_full_loss:0.19336 -Epoch 182 , train_step_loss:0.03567 , train_full_loss:0.04321 , test_step_loss:0.15226 , test_full_loss:0.20281 -Epoch 183 , train_step_loss:0.03565 , train_full_loss:0.04334 , test_step_loss:0.15080 , test_full_loss:0.19921 -Epoch 184 , train_step_loss:0.03612 , train_full_loss:0.04389 , test_step_loss:0.13126 , test_full_loss:0.17636 -Epoch 185 , train_step_loss:0.03537 , train_full_loss:0.04296 , test_step_loss:0.15791 , test_full_loss:0.21089 -Epoch 186 , train_step_loss:0.03532 , train_full_loss:0.04288 , test_step_loss:0.19989 , test_full_loss:0.26881 -Epoch 187 , train_step_loss:0.03525 , train_full_loss:0.04288 , test_step_loss:0.18298 , test_full_loss:0.24584 -Epoch 188 , train_step_loss:0.03540 , train_full_loss:0.04282 , test_step_loss:0.12570 , test_full_loss:0.16865 -Epoch 189 , train_step_loss:0.03419 , train_full_loss:0.04138 , test_step_loss:0.14704 , test_full_loss:0.20115 -Epoch 190 , train_step_loss:0.03417 , train_full_loss:0.04141 , test_step_loss:0.13463 , test_full_loss:0.18267 -Epoch 191 , train_step_loss:0.03489 , train_full_loss:0.04225 , test_step_loss:0.12725 , test_full_loss:0.16875 -Epoch 192 , train_step_loss:0.03402 , train_full_loss:0.04142 , test_step_loss:0.14300 , test_full_loss:0.19088 -Epoch 193 , train_step_loss:0.03446 , train_full_loss:0.04182 , test_step_loss:0.14076 , test_full_loss:0.18725 -Epoch 194 , train_step_loss:0.03452 , train_full_loss:0.04174 , test_step_loss:0.12632 , test_full_loss:0.16722 -Epoch 195 , train_step_loss:0.03377 , train_full_loss:0.04090 , test_step_loss:0.13059 , test_full_loss:0.17128 -Epoch 196 , train_step_loss:0.03281 , train_full_loss:0.03984 , test_step_loss:0.14341 , test_full_loss:0.18892 -Epoch 197 , train_step_loss:0.03394 , train_full_loss:0.04103 , test_step_loss:0.13008 , test_full_loss:0.17480 -Epoch 198 , train_step_loss:0.03380 , train_full_loss:0.04095 , test_step_loss:0.17109 , test_full_loss:0.23383 -Epoch 199 , train_step_loss:0.03306 , train_full_loss:0.04013 , test_step_loss:0.13092 , test_full_loss:0.17441 -Epoch 200 , train_step_loss:0.03374 , train_full_loss:0.04080 , test_step_loss:0.14064 , test_full_loss:0.19166 -save model -Epoch 201 , train_step_loss:0.03281 , train_full_loss:0.03983 , test_step_loss:0.14097 , test_full_loss:0.18763 -Epoch 202 , train_step_loss:0.03388 , train_full_loss:0.04101 , test_step_loss:0.15044 , test_full_loss:0.20293 -Epoch 203 , train_step_loss:0.03366 , train_full_loss:0.04077 , test_step_loss:0.16193 , test_full_loss:0.22186 -Epoch 204 , train_step_loss:0.03259 , train_full_loss:0.03939 , test_step_loss:0.15165 , test_full_loss:0.20924 -Epoch 205 , train_step_loss:0.03330 , train_full_loss:0.04038 , test_step_loss:0.13957 , test_full_loss:0.18655 -Epoch 206 , train_step_loss:0.03175 , train_full_loss:0.03844 , test_step_loss:0.13589 , test_full_loss:0.18371 -Epoch 207 , train_step_loss:0.03249 , train_full_loss:0.03933 , test_step_loss:0.14027 , test_full_loss:0.19319 -Epoch 208 , train_step_loss:0.03221 , train_full_loss:0.03892 , test_step_loss:0.12411 , test_full_loss:0.16681 -Epoch 209 , train_step_loss:0.03209 , train_full_loss:0.03890 , test_step_loss:0.12291 , test_full_loss:0.16268 -Epoch 210 , train_step_loss:0.03221 , train_full_loss:0.03889 , test_step_loss:0.13223 , test_full_loss:0.17661 -Epoch 211 , train_step_loss:0.03132 , train_full_loss:0.03797 , test_step_loss:0.14509 , test_full_loss:0.20083 -Epoch 212 , train_step_loss:0.03219 , train_full_loss:0.03896 , test_step_loss:0.12627 , test_full_loss:0.16853 -Epoch 213 , train_step_loss:0.03158 , train_full_loss:0.03826 , test_step_loss:0.12411 , test_full_loss:0.16359 -Epoch 214 , train_step_loss:0.03076 , train_full_loss:0.03735 , test_step_loss:0.11584 , test_full_loss:0.15450 -Epoch 215 , train_step_loss:0.03081 , train_full_loss:0.03734 , test_step_loss:0.14416 , test_full_loss:0.19902 -Epoch 216 , train_step_loss:0.03172 , train_full_loss:0.03838 , test_step_loss:0.11961 , test_full_loss:0.16079 -Epoch 217 , train_step_loss:0.03190 , train_full_loss:0.03851 , test_step_loss:0.12589 , test_full_loss:0.16726 -Epoch 218 , train_step_loss:0.03033 , train_full_loss:0.03673 , test_step_loss:0.13023 , test_full_loss:0.17774 -Epoch 219 , train_step_loss:0.03074 , train_full_loss:0.03724 , test_step_loss:0.12008 , test_full_loss:0.16008 -Epoch 220 , train_step_loss:0.03043 , train_full_loss:0.03676 , test_step_loss:0.15084 , test_full_loss:0.21148 -Epoch 221 , train_step_loss:0.03049 , train_full_loss:0.03686 , test_step_loss:0.14105 , test_full_loss:0.18848 -Epoch 222 , train_step_loss:0.03000 , train_full_loss:0.03634 , test_step_loss:0.11584 , test_full_loss:0.15620 -Epoch 223 , train_step_loss:0.03022 , train_full_loss:0.03668 , test_step_loss:0.13248 , test_full_loss:0.17572 -Epoch 224 , train_step_loss:0.03048 , train_full_loss:0.03688 , test_step_loss:0.14526 , test_full_loss:0.19685 -Epoch 225 , train_step_loss:0.03104 , train_full_loss:0.03740 , test_step_loss:0.12098 , test_full_loss:0.16191 -Epoch 226 , train_step_loss:0.02896 , train_full_loss:0.03504 , test_step_loss:0.11699 , test_full_loss:0.15387 -Epoch 227 , train_step_loss:0.02956 , train_full_loss:0.03575 , test_step_loss:0.12176 , test_full_loss:0.16646 -Epoch 228 , train_step_loss:0.03023 , train_full_loss:0.03659 , test_step_loss:0.13901 , test_full_loss:0.18598 -Epoch 229 , train_step_loss:0.02961 , train_full_loss:0.03581 , test_step_loss:0.11581 , test_full_loss:0.15531 -Epoch 230 , train_step_loss:0.02894 , train_full_loss:0.03493 , test_step_loss:0.11560 , test_full_loss:0.15309 -Epoch 231 , train_step_loss:0.02930 , train_full_loss:0.03538 , test_step_loss:0.12096 , test_full_loss:0.16174 -Epoch 232 , train_step_loss:0.02986 , train_full_loss:0.03606 , test_step_loss:0.11892 , test_full_loss:0.16057 -Epoch 233 , train_step_loss:0.02908 , train_full_loss:0.03510 , test_step_loss:0.11288 , test_full_loss:0.15134 -Epoch 234 , train_step_loss:0.02867 , train_full_loss:0.03464 , test_step_loss:0.16616 , test_full_loss:0.22891 -Epoch 235 , train_step_loss:0.02864 , train_full_loss:0.03459 , test_step_loss:0.11347 , test_full_loss:0.15065 -Epoch 236 , train_step_loss:0.02911 , train_full_loss:0.03506 , test_step_loss:0.11833 , test_full_loss:0.15930 -Epoch 237 , train_step_loss:0.02848 , train_full_loss:0.03442 , test_step_loss:0.11744 , test_full_loss:0.15578 -Epoch 238 , train_step_loss:0.02871 , train_full_loss:0.03475 , test_step_loss:0.11130 , test_full_loss:0.14725 -Epoch 239 , train_step_loss:0.02818 , train_full_loss:0.03409 , test_step_loss:0.12913 , test_full_loss:0.17399 -Epoch 240 , train_step_loss:0.02826 , train_full_loss:0.03405 , test_step_loss:0.12373 , test_full_loss:0.16434 -Epoch 241 , train_step_loss:0.02852 , train_full_loss:0.03425 , test_step_loss:0.16843 , test_full_loss:0.23587 -Epoch 242 , train_step_loss:0.02824 , train_full_loss:0.03416 , test_step_loss:0.13178 , test_full_loss:0.17735 -Epoch 243 , train_step_loss:0.02795 , train_full_loss:0.03384 , test_step_loss:0.11678 , test_full_loss:0.15659 -Epoch 244 , train_step_loss:0.02782 , train_full_loss:0.03362 , test_step_loss:0.12173 , test_full_loss:0.16282 -Epoch 245 , train_step_loss:0.02768 , train_full_loss:0.03330 , test_step_loss:0.11803 , test_full_loss:0.16152 -Epoch 246 , train_step_loss:0.02792 , train_full_loss:0.03360 , test_step_loss:0.12414 , test_full_loss:0.16667 -Epoch 247 , train_step_loss:0.02730 , train_full_loss:0.03301 , test_step_loss:0.11334 , test_full_loss:0.15127 -Epoch 248 , train_step_loss:0.02713 , train_full_loss:0.03276 , test_step_loss:0.12921 , test_full_loss:0.17399 -Epoch 249 , train_step_loss:0.02774 , train_full_loss:0.03347 , test_step_loss:0.13597 , test_full_loss:0.18613 -Epoch 250 , train_step_loss:0.02807 , train_full_loss:0.03380 , test_step_loss:0.12586 , test_full_loss:0.17028 -Epoch 251 , train_step_loss:0.02677 , train_full_loss:0.03232 , test_step_loss:0.11348 , test_full_loss:0.15215 -Epoch 252 , train_step_loss:0.02781 , train_full_loss:0.03351 , test_step_loss:0.13391 , test_full_loss:0.18559 -Epoch 253 , train_step_loss:0.02688 , train_full_loss:0.03242 , test_step_loss:0.10958 , test_full_loss:0.14855 -Epoch 254 , train_step_loss:0.02673 , train_full_loss:0.03217 , test_step_loss:0.11185 , test_full_loss:0.15447 -Epoch 255 , train_step_loss:0.02660 , train_full_loss:0.03206 , test_step_loss:0.11289 , test_full_loss:0.15346 -Epoch 256 , train_step_loss:0.02670 , train_full_loss:0.03217 , test_step_loss:0.10954 , test_full_loss:0.14960 -Epoch 257 , train_step_loss:0.02644 , train_full_loss:0.03193 , test_step_loss:0.11709 , test_full_loss:0.15872 -Epoch 258 , train_step_loss:0.02663 , train_full_loss:0.03211 , test_step_loss:0.11472 , test_full_loss:0.15450 -Epoch 259 , train_step_loss:0.02602 , train_full_loss:0.03145 , test_step_loss:0.10629 , test_full_loss:0.14351 -Epoch 260 , train_step_loss:0.02614 , train_full_loss:0.03157 , test_step_loss:0.11051 , test_full_loss:0.14730 -Epoch 261 , train_step_loss:0.02617 , train_full_loss:0.03155 , test_step_loss:0.13863 , test_full_loss:0.19172 -Epoch 262 , train_step_loss:0.02640 , train_full_loss:0.03176 , test_step_loss:0.11216 , test_full_loss:0.15374 -Epoch 263 , train_step_loss:0.02625 , train_full_loss:0.03156 , test_step_loss:0.10696 , test_full_loss:0.14320 -Epoch 264 , train_step_loss:0.02585 , train_full_loss:0.03116 , test_step_loss:0.11430 , test_full_loss:0.15492 -Epoch 265 , train_step_loss:0.02622 , train_full_loss:0.03152 , test_step_loss:0.10713 , test_full_loss:0.14479 -Epoch 266 , train_step_loss:0.02533 , train_full_loss:0.03047 , test_step_loss:0.10789 , test_full_loss:0.14653 -Epoch 267 , train_step_loss:0.02563 , train_full_loss:0.03084 , test_step_loss:0.13995 , test_full_loss:0.19312 -Epoch 268 , train_step_loss:0.02571 , train_full_loss:0.03100 , test_step_loss:0.10829 , test_full_loss:0.14517 -Epoch 269 , train_step_loss:0.02527 , train_full_loss:0.03040 , test_step_loss:0.10649 , test_full_loss:0.14429 -Epoch 270 , train_step_loss:0.02502 , train_full_loss:0.03000 , test_step_loss:0.10909 , test_full_loss:0.14734 -Epoch 271 , train_step_loss:0.02521 , train_full_loss:0.03026 , test_step_loss:0.11658 , test_full_loss:0.15901 -Epoch 272 , train_step_loss:0.02560 , train_full_loss:0.03077 , test_step_loss:0.11548 , test_full_loss:0.15734 -Epoch 273 , train_step_loss:0.02559 , train_full_loss:0.03072 , test_step_loss:0.12609 , test_full_loss:0.17709 -Epoch 274 , train_step_loss:0.02449 , train_full_loss:0.02944 , test_step_loss:0.11951 , test_full_loss:0.16480 -Epoch 275 , train_step_loss:0.02466 , train_full_loss:0.02973 , test_step_loss:0.10258 , test_full_loss:0.13899 -Epoch 276 , train_step_loss:0.02504 , train_full_loss:0.03011 , test_step_loss:0.10448 , test_full_loss:0.14301 -Epoch 277 , train_step_loss:0.02465 , train_full_loss:0.02963 , test_step_loss:0.10566 , test_full_loss:0.14267 -Epoch 278 , train_step_loss:0.02434 , train_full_loss:0.02922 , test_step_loss:0.10184 , test_full_loss:0.13751 -Epoch 279 , train_step_loss:0.02466 , train_full_loss:0.02964 , test_step_loss:0.11912 , test_full_loss:0.16315 -Epoch 280 , train_step_loss:0.02461 , train_full_loss:0.02958 , test_step_loss:0.10221 , test_full_loss:0.13592 -Epoch 281 , train_step_loss:0.02453 , train_full_loss:0.02945 , test_step_loss:0.11346 , test_full_loss:0.15590 -Epoch 282 , train_step_loss:0.02483 , train_full_loss:0.02981 , test_step_loss:0.12190 , test_full_loss:0.16277 -Epoch 283 , train_step_loss:0.02421 , train_full_loss:0.02903 , test_step_loss:0.11651 , test_full_loss:0.15979 -Epoch 284 , train_step_loss:0.02396 , train_full_loss:0.02875 , test_step_loss:0.10900 , test_full_loss:0.14735 -Epoch 285 , train_step_loss:0.02448 , train_full_loss:0.02945 , test_step_loss:0.09939 , test_full_loss:0.13344 -Epoch 286 , train_step_loss:0.02389 , train_full_loss:0.02859 , test_step_loss:0.10612 , test_full_loss:0.14475 -Epoch 287 , train_step_loss:0.02345 , train_full_loss:0.02803 , test_step_loss:0.12453 , test_full_loss:0.17531 -Epoch 288 , train_step_loss:0.02407 , train_full_loss:0.02878 , test_step_loss:0.09696 , test_full_loss:0.13096 -Epoch 289 , train_step_loss:0.02333 , train_full_loss:0.02796 , test_step_loss:0.09677 , test_full_loss:0.12880 -Epoch 290 , train_step_loss:0.02374 , train_full_loss:0.02839 , test_step_loss:0.11808 , test_full_loss:0.16418 -Epoch 291 , train_step_loss:0.02343 , train_full_loss:0.02812 , test_step_loss:0.14534 , test_full_loss:0.20490 -Epoch 292 , train_step_loss:0.02382 , train_full_loss:0.02852 , test_step_loss:0.09885 , test_full_loss:0.13347 -Epoch 293 , train_step_loss:0.02304 , train_full_loss:0.02766 , test_step_loss:0.09525 , test_full_loss:0.12795 -Epoch 294 , train_step_loss:0.02327 , train_full_loss:0.02783 , test_step_loss:0.10829 , test_full_loss:0.14622 -Epoch 295 , train_step_loss:0.02315 , train_full_loss:0.02778 , test_step_loss:0.09945 , test_full_loss:0.13476 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_E.log deleted file mode 100644 index 8d0029f81c..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_E.log +++ /dev/null @@ -1,310 +0,0 @@ -W1029 22:13:29.186836 878587 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1029 22:13:29.187332 878587 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -(2310, 129, 129, 2) (2310, 129, 129) -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=8, gpu=0, max_grad_norm=0.1, downsamplex=1, downsampley=1, mlp_ratio=2, dropout=0.0, unified_pos=0, ref=8, slice_num=64, eval=1, save_name='pipe_Transolver', data_path='data/fno/pipe') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=2, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp2): Linear(in_features=128, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 3073985 -1 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -2 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -3 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -4 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -5 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -6 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -7 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -8 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -9 -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:131: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:141: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:152: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -/ssd1/ken/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/exp_pipe.py:163: UserWarning: The input coordinates to pcolormesh are interpreted as cell centers, but are not monotonically increasing or decreasing. This may lead to incorrectly calculated cell edges, in which case, please supply explicit cell edges to pcolormesh. - plt.pcolormesh(x[0, :, 0].reshape(129, 129).detach(). -rel_err:0.004902993445284665 \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_T.log deleted file mode 100644 index 403c93a41f..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Pipe_T.log +++ /dev/null @@ -1,1235 +0,0 @@ -nohup: ignoring input -W1028 15:13:51.368424 58046 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1028 15:13:51.369048 58046 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -(2310, 129, 129, 2) (2310, 129, 129) -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=128, n_layers=8, n_heads=8, batch_size=8, gpu=3, max_grad_norm=0.1, downsamplex=1, downsampley=1, mlp_ratio=2, dropout=0.0, unified_pos=0, ref=8, slice_num=64, eval=0, save_name='pipe_Transolver', data_path='data/fno/pipe') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=2, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (3): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (4): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (5): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (6): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - ) - (7): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(128, 128, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=64, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=128, out_features=128, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=128, out_features=256, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=256, out_features=128, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[128], epsilon=1e-05) - (mlp2): Linear(in_features=128, out_features=1, dtype=None) - ) - ) -) -Total Trainable Params: 3073985 -Epoch 0 Train loss : 0.42086 -rel_err:0.42181733608245847 -save model -Epoch 1 Train loss : 0.40209 -rel_err:0.39673777103424074 -Epoch 2 Train loss : 0.38770 -rel_err:0.3821806764602661 -Epoch 3 Train loss : 0.37289 -rel_err:0.38777169704437253 -Epoch 4 Train loss : 0.36442 -rel_err:0.3638641023635864 -Epoch 5 Train loss : 0.35836 -rel_err:0.35816191911697387 -Epoch 6 Train loss : 0.35148 -rel_err:0.3518952441215515 -Epoch 7 Train loss : 0.34180 -rel_err:0.3424414873123169 -Epoch 8 Train loss : 0.32897 -rel_err:0.33059566617012026 -Epoch 9 Train loss : 0.31485 -rel_err:0.30228269696235655 -Epoch 10 Train loss : 0.28600 -rel_err:0.2891456663608551 -Epoch 11 Train loss : 0.26099 -rel_err:0.25291613936424256 -Epoch 12 Train loss : 0.23413 -rel_err:0.22532837808132172 -Epoch 13 Train loss : 0.20246 -rel_err:0.19989144682884216 -Epoch 14 Train loss : 0.17512 -rel_err:0.16653771877288817 -Epoch 15 Train loss : 0.15848 -rel_err:0.14672977924346925 -Epoch 16 Train loss : 0.13911 -rel_err:0.14091648638248444 -Epoch 17 Train loss : 0.13038 -rel_err:0.12387229710817337 -Epoch 18 Train loss : 0.12314 -rel_err:0.12464901685714722 -Epoch 19 Train loss : 0.11317 -rel_err:0.11440164506435395 -Epoch 20 Train loss : 0.11079 -rel_err:0.15343888223171234 -Epoch 21 Train loss : 0.10275 -rel_err:0.10557085007429123 -Epoch 22 Train loss : 0.09611 -rel_err:0.10003852337598801 -Epoch 23 Train loss : 0.09268 -rel_err:0.1029106193780899 -Epoch 24 Train loss : 0.09414 -rel_err:0.08595769733190536 -Epoch 25 Train loss : 0.09195 -rel_err:0.09607691526412963 -Epoch 26 Train loss : 0.09016 -rel_err:0.0822420859336853 -Epoch 27 Train loss : 0.08191 -rel_err:0.08063429713249207 -Epoch 28 Train loss : 0.07913 -rel_err:0.07516362935304642 -Epoch 29 Train loss : 0.08184 -rel_err:0.08156484842300415 -Epoch 30 Train loss : 0.07857 -rel_err:0.07931115686893463 -Epoch 31 Train loss : 0.07469 -rel_err:0.08318790912628174 -Epoch 32 Train loss : 0.07649 -rel_err:0.08128788053989411 -Epoch 33 Train loss : 0.07345 -rel_err:0.069517210572958 -Epoch 34 Train loss : 0.06710 -rel_err:0.062492706179618836 -Epoch 35 Train loss : 0.07079 -rel_err:0.08145692199468613 -Epoch 36 Train loss : 0.07007 -rel_err:0.06593632176518441 -Epoch 37 Train loss : 0.06858 -rel_err:0.07295205026865005 -Epoch 38 Train loss : 0.06369 -rel_err:0.06983759164810181 -Epoch 39 Train loss : 0.06466 -rel_err:0.058818424940109255 -Epoch 40 Train loss : 0.05812 -rel_err:0.06000377058982849 -Epoch 41 Train loss : 0.05871 -rel_err:0.05400925606489181 -Epoch 42 Train loss : 0.05628 -rel_err:0.05714259341359138 -Epoch 43 Train loss : 0.05743 -rel_err:0.056352172195911404 -Epoch 44 Train loss : 0.05478 -rel_err:0.05996184930205345 -Epoch 45 Train loss : 0.05371 -rel_err:0.04967708110809326 -Epoch 46 Train loss : 0.04936 -rel_err:0.051255356967449185 -Epoch 47 Train loss : 0.05013 -rel_err:0.05679277077317238 -Epoch 48 Train loss : 0.04879 -rel_err:0.05242225617170334 -Epoch 49 Train loss : 0.04727 -rel_err:0.05258175373077392 -Epoch 50 Train loss : 0.04535 -rel_err:0.05461124107241631 -Epoch 51 Train loss : 0.04905 -rel_err:0.049889140725135804 -Epoch 52 Train loss : 0.04682 -rel_err:0.045626539438962936 -Epoch 53 Train loss : 0.04241 -rel_err:0.042045472711324694 -Epoch 54 Train loss : 0.04273 -rel_err:0.044340371638536456 -Epoch 55 Train loss : 0.04108 -rel_err:0.048524822592735294 -Epoch 56 Train loss : 0.04174 -rel_err:0.040276010930538175 -Epoch 57 Train loss : 0.04099 -rel_err:0.038031842410564426 -Epoch 58 Train loss : 0.03952 -rel_err:0.04511645153164864 -Epoch 59 Train loss : 0.03968 -rel_err:0.04019432619214058 -Epoch 60 Train loss : 0.04007 -rel_err:0.03767617098987103 -Epoch 61 Train loss : 0.04082 -rel_err:0.04105333179235458 -Epoch 62 Train loss : 0.03806 -rel_err:0.04043391585350037 -Epoch 63 Train loss : 0.04018 -rel_err:0.04196873471140861 -Epoch 64 Train loss : 0.03724 -rel_err:0.036232487335801124 -Epoch 65 Train loss : 0.03576 -rel_err:0.03677253901958465 -Epoch 66 Train loss : 0.03590 -rel_err:0.039207729548215865 -Epoch 67 Train loss : 0.03562 -rel_err:0.033602903559803964 -Epoch 68 Train loss : 0.03402 -rel_err:0.032640236094594 -Epoch 69 Train loss : 0.03406 -rel_err:0.037318394780159 -Epoch 70 Train loss : 0.03305 -rel_err:0.03845693036913872 -Epoch 71 Train loss : 0.03408 -rel_err:0.039857600331306454 -Epoch 72 Train loss : 0.03631 -rel_err:0.03643685422837734 -Epoch 73 Train loss : 0.03593 -rel_err:0.040615657716989516 -Epoch 74 Train loss : 0.03457 -rel_err:0.0316270337253809 -Epoch 75 Train loss : 0.03271 -rel_err:0.030393308624625207 -Epoch 76 Train loss : 0.03263 -rel_err:0.039983911961317065 -Epoch 77 Train loss : 0.03580 -rel_err:0.03787489727139473 -Epoch 78 Train loss : 0.03217 -rel_err:0.03223164938390255 -Epoch 79 Train loss : 0.03170 -rel_err:0.03319434389472008 -Epoch 80 Train loss : 0.03040 -rel_err:0.03126117497682571 -Epoch 81 Train loss : 0.03114 -rel_err:0.03508813753724098 -Epoch 82 Train loss : 0.03256 -rel_err:0.034177538603544236 -Epoch 83 Train loss : 0.03180 -rel_err:0.030831209793686868 -Epoch 84 Train loss : 0.03198 -rel_err:0.032485596165061 -Epoch 85 Train loss : 0.02987 -rel_err:0.033503809720277784 -Epoch 86 Train loss : 0.03145 -rel_err:0.03413548335433006 -Epoch 87 Train loss : 0.03127 -rel_err:0.032143537923693656 -Epoch 88 Train loss : 0.03130 -rel_err:0.03235222034156322 -Epoch 89 Train loss : 0.03001 -rel_err:0.03268633641302585 -Epoch 90 Train loss : 0.02949 -rel_err:0.03753258943557739 -Epoch 91 Train loss : 0.03071 -rel_err:0.02698724590241909 -Epoch 92 Train loss : 0.02820 -rel_err:0.028131997436285017 -Epoch 93 Train loss : 0.02920 -rel_err:0.028822187185287475 -Epoch 94 Train loss : 0.02859 -rel_err:0.028950688168406485 -Epoch 95 Train loss : 0.02852 -rel_err:0.03548125773668289 -Epoch 96 Train loss : 0.02717 -rel_err:0.0349046091735363 -Epoch 97 Train loss : 0.02977 -rel_err:0.03230876229703426 -Epoch 98 Train loss : 0.02885 -rel_err:0.02812004067003727 -Epoch 99 Train loss : 0.02993 -rel_err:0.0341699992120266 -Epoch 100 Train loss : 0.02800 -rel_err:0.03128141179680824 -save model -Epoch 101 Train loss : 0.02881 -rel_err:0.026588179692625998 -Epoch 102 Train loss : 0.02703 -rel_err:0.028697177991271017 -Epoch 103 Train loss : 0.02671 -rel_err:0.02998515300452709 -Epoch 104 Train loss : 0.02710 -rel_err:0.023515536934137344 -Epoch 105 Train loss : 0.02495 -rel_err:0.025849582552909853 -Epoch 106 Train loss : 0.02570 -rel_err:0.030850121900439263 -Epoch 107 Train loss : 0.02517 -rel_err:0.03101112462580204 -Epoch 108 Train loss : 0.02743 -rel_err:0.02966236285865307 -Epoch 109 Train loss : 0.02799 -rel_err:0.023552692234516143 -Epoch 110 Train loss : 0.02625 -rel_err:0.0276877062022686 -Epoch 111 Train loss : 0.02678 -rel_err:0.02456578016281128 -Epoch 112 Train loss : 0.02602 -rel_err:0.02676735319197178 -Epoch 113 Train loss : 0.02405 -rel_err:0.02758026175200939 -Epoch 114 Train loss : 0.02475 -rel_err:0.023794231414794923 -Epoch 115 Train loss : 0.02396 -rel_err:0.030149858072400094 -Epoch 116 Train loss : 0.02620 -rel_err:0.02879842936992645 -Epoch 117 Train loss : 0.02494 -rel_err:0.03265380583703518 -Epoch 118 Train loss : 0.02788 -rel_err:0.025074596554040908 -Epoch 119 Train loss : 0.02353 -rel_err:0.023211019337177275 -Epoch 120 Train loss : 0.02293 -rel_err:0.026100357174873353 -Epoch 121 Train loss : 0.02367 -rel_err:0.024927659928798675 -Epoch 122 Train loss : 0.02544 -rel_err:0.028693505451083182 -Epoch 123 Train loss : 0.02586 -rel_err:0.027680922597646714 -Epoch 124 Train loss : 0.02526 -rel_err:0.027594575211405754 -Epoch 125 Train loss : 0.02292 -rel_err:0.031961553022265436 -Epoch 126 Train loss : 0.02314 -rel_err:0.025697114244103432 -Epoch 127 Train loss : 0.02271 -rel_err:0.024745013862848282 -Epoch 128 Train loss : 0.02267 -rel_err:0.02385986901819706 -Epoch 129 Train loss : 0.02236 -rel_err:0.020430535599589347 -Epoch 130 Train loss : 0.02241 -rel_err:0.02531712405383587 -Epoch 131 Train loss : 0.02376 -rel_err:0.023177047446370124 -Epoch 132 Train loss : 0.02248 -rel_err:0.02172867104411125 -Epoch 133 Train loss : 0.02243 -rel_err:0.0233925449103117 -Epoch 134 Train loss : 0.02150 -rel_err:0.02950929455459118 -Epoch 135 Train loss : 0.02192 -rel_err:0.026101233288645744 -Epoch 136 Train loss : 0.02281 -rel_err:0.02609884411096573 -Epoch 137 Train loss : 0.02210 -rel_err:0.02476622670888901 -Epoch 138 Train loss : 0.02281 -rel_err:0.020314956381917 -Epoch 139 Train loss : 0.02007 -rel_err:0.021357639357447625 -Epoch 140 Train loss : 0.02312 -rel_err:0.019978031292557718 -Epoch 141 Train loss : 0.02053 -rel_err:0.02378706358373165 -Epoch 142 Train loss : 0.02202 -rel_err:0.019734419137239455 -Epoch 143 Train loss : 0.01949 -rel_err:0.02210816219449043 -Epoch 144 Train loss : 0.02114 -rel_err:0.019364723041653632 -Epoch 145 Train loss : 0.02136 -rel_err:0.02158894307911396 -Epoch 146 Train loss : 0.02007 -rel_err:0.018710283972322942 -Epoch 147 Train loss : 0.02060 -rel_err:0.021379475444555283 -Epoch 148 Train loss : 0.02161 -rel_err:0.021579755023121833 -Epoch 149 Train loss : 0.01968 -rel_err:0.0212975150719285 -Epoch 150 Train loss : 0.01932 -rel_err:0.021469069495797157 -Epoch 151 Train loss : 0.01833 -rel_err:0.020747893154621125 -Epoch 152 Train loss : 0.01963 -rel_err:0.021970186606049536 -Epoch 153 Train loss : 0.01931 -rel_err:0.021691777184605597 -Epoch 154 Train loss : 0.01875 -rel_err:0.02081156075000763 -Epoch 155 Train loss : 0.01979 -rel_err:0.02121928572654724 -Epoch 156 Train loss : 0.01941 -rel_err:0.019904273152351378 -Epoch 157 Train loss : 0.01815 -rel_err:0.020057453662157058 -Epoch 158 Train loss : 0.01903 -rel_err:0.020333171039819718 -Epoch 159 Train loss : 0.01842 -rel_err:0.021089541837573052 -Epoch 160 Train loss : 0.01887 -rel_err:0.021484493836760522 -Epoch 161 Train loss : 0.01867 -rel_err:0.01869952380657196 -Epoch 162 Train loss : 0.01695 -rel_err:0.018586382903158664 -Epoch 163 Train loss : 0.02060 -rel_err:0.021827946603298187 -Epoch 164 Train loss : 0.01872 -rel_err:0.020171203091740607 -Epoch 165 Train loss : 0.01723 -rel_err:0.020232403203845024 -Epoch 166 Train loss : 0.01727 -rel_err:0.01880752347409725 -Epoch 167 Train loss : 0.01754 -rel_err:0.019908900931477548 -Epoch 168 Train loss : 0.01851 -rel_err:0.018657080233097076 -Epoch 169 Train loss : 0.01854 -rel_err:0.015951288640499117 -Epoch 170 Train loss : 0.01668 -rel_err:0.017412857487797737 -Epoch 171 Train loss : 0.01812 -rel_err:0.01747404281049967 -Epoch 172 Train loss : 0.01669 -rel_err:0.01791105981916189 -Epoch 173 Train loss : 0.01667 -rel_err:0.019304509572684765 -Epoch 174 Train loss : 0.01935 -rel_err:0.018997766748070716 -Epoch 175 Train loss : 0.01828 -rel_err:0.01964392438530922 -Epoch 176 Train loss : 0.01672 -rel_err:0.016840596050024033 -Epoch 177 Train loss : 0.01661 -rel_err:0.02152940586209297 -Epoch 178 Train loss : 0.01510 -rel_err:0.020808031186461448 -Epoch 179 Train loss : 0.01585 -rel_err:0.022531076893210412 -Epoch 180 Train loss : 0.01793 -rel_err:0.01827365979552269 -Epoch 181 Train loss : 0.01718 -rel_err:0.01882011950016022 -Epoch 182 Train loss : 0.01712 -rel_err:0.017731274515390395 -Epoch 183 Train loss : 0.01621 -rel_err:0.019280256032943727 -Epoch 184 Train loss : 0.01849 -rel_err:0.020002735182642936 -Epoch 185 Train loss : 0.01717 -rel_err:0.016397232487797737 -Epoch 186 Train loss : 0.01495 -rel_err:0.018500634469091892 -Epoch 187 Train loss : 0.01675 -rel_err:0.01936791177839041 -Epoch 188 Train loss : 0.01650 -rel_err:0.014975495263934135 -Epoch 189 Train loss : 0.01416 -rel_err:0.014483690075576306 -Epoch 190 Train loss : 0.01471 -rel_err:0.01675994474440813 -Epoch 191 Train loss : 0.01497 -rel_err:0.01614424344152212 -Epoch 192 Train loss : 0.01499 -rel_err:0.020740331634879112 -Epoch 193 Train loss : 0.01535 -rel_err:0.01982144996523857 -Epoch 194 Train loss : 0.01433 -rel_err:0.014509546458721162 -Epoch 195 Train loss : 0.01418 -rel_err:0.01647485662251711 -Epoch 196 Train loss : 0.01405 -rel_err:0.020132656618952752 -Epoch 197 Train loss : 0.01555 -rel_err:0.01589952539652586 -Epoch 198 Train loss : 0.01480 -rel_err:0.015009647347033023 -Epoch 199 Train loss : 0.01498 -rel_err:0.01915452115237713 -Epoch 200 Train loss : 0.01484 -rel_err:0.018009951710700987 -save model -Epoch 201 Train loss : 0.01506 -rel_err:0.01909230902791023 -Epoch 202 Train loss : 0.01419 -rel_err:0.01706778656691313 -Epoch 203 Train loss : 0.01399 -rel_err:0.017087777145206928 -Epoch 204 Train loss : 0.01541 -rel_err:0.016727504841983317 -Epoch 205 Train loss : 0.01529 -rel_err:0.01576079856604338 -Epoch 206 Train loss : 0.01415 -rel_err:0.01796040318906307 -Epoch 207 Train loss : 0.01470 -rel_err:0.014779235273599624 -Epoch 208 Train loss : 0.01407 -rel_err:0.017582612335681914 -Epoch 209 Train loss : 0.01375 -rel_err:0.01611799854785204 -Epoch 210 Train loss : 0.01380 -rel_err:0.015202279165387154 -Epoch 211 Train loss : 0.01294 -rel_err:0.016323011182248593 -Epoch 212 Train loss : 0.01433 -rel_err:0.017821840345859527 -Epoch 213 Train loss : 0.01369 -rel_err:0.017340394146740438 -Epoch 214 Train loss : 0.01393 -rel_err:0.012307468131184577 -Epoch 215 Train loss : 0.01334 -rel_err:0.016087850779294966 -Epoch 216 Train loss : 0.01403 -rel_err:0.013948963433504104 -Epoch 217 Train loss : 0.01526 -rel_err:0.015496102906763554 -Epoch 218 Train loss : 0.01412 -rel_err:0.018738691881299018 -Epoch 219 Train loss : 0.01362 -rel_err:0.013384675867855548 -Epoch 220 Train loss : 0.01043 -rel_err:0.013812968134880066 -Epoch 221 Train loss : 0.01223 -rel_err:0.013438584394752979 -Epoch 222 Train loss : 0.01338 -rel_err:0.01524039901793003 -Epoch 223 Train loss : 0.01408 -rel_err:0.01514162976294756 -Epoch 224 Train loss : 0.01301 -rel_err:0.016116580925881863 -Epoch 225 Train loss : 0.01277 -rel_err:0.012807043939828873 -Epoch 226 Train loss : 0.01386 -rel_err:0.014952165149152279 -Epoch 227 Train loss : 0.01375 -rel_err:0.018208639807999135 -Epoch 228 Train loss : 0.01208 -rel_err:0.01385983169078827 -Epoch 229 Train loss : 0.01294 -rel_err:0.013769600205123425 -Epoch 230 Train loss : 0.01315 -rel_err:0.013771858736872674 -Epoch 231 Train loss : 0.01293 -rel_err:0.014391655623912812 -Epoch 232 Train loss : 0.01215 -rel_err:0.014189937300980091 -Epoch 233 Train loss : 0.01400 -rel_err:0.018278664983808993 -Epoch 234 Train loss : 0.01306 -rel_err:0.014355364553630352 -Epoch 235 Train loss : 0.01125 -rel_err:0.0138615195825696 -Epoch 236 Train loss : 0.01188 -rel_err:0.014815784730017186 -Epoch 237 Train loss : 0.01200 -rel_err:0.016707051545381546 -Epoch 238 Train loss : 0.01302 -rel_err:0.015024028681218625 -Epoch 239 Train loss : 0.01092 -rel_err:0.01260800078511238 -Epoch 240 Train loss : 0.01243 -rel_err:0.014294596910476685 -Epoch 241 Train loss : 0.01274 -rel_err:0.012879133634269237 -Epoch 242 Train loss : 0.01135 -rel_err:0.014046659804880618 -Epoch 243 Train loss : 0.01057 -rel_err:0.012486240174621344 -Epoch 244 Train loss : 0.01239 -rel_err:0.011919222176074981 -Epoch 245 Train loss : 0.01184 -rel_err:0.014350881800055504 -Epoch 246 Train loss : 0.01225 -rel_err:0.01598809890449047 -Epoch 247 Train loss : 0.01147 -rel_err:0.012727070078253746 -Epoch 248 Train loss : 0.01155 -rel_err:0.012269739210605621 -Epoch 249 Train loss : 0.01086 -rel_err:0.01277483258396387 -Epoch 250 Train loss : 0.01047 -rel_err:0.013487397432327271 -Epoch 251 Train loss : 0.01040 -rel_err:0.010436052251607179 -Epoch 252 Train loss : 0.01042 -rel_err:0.014221241511404515 -Epoch 253 Train loss : 0.01293 -rel_err:0.015788712874054908 -Epoch 254 Train loss : 0.01267 -rel_err:0.012335419096052647 -Epoch 255 Train loss : 0.01072 -rel_err:0.012078343145549297 -Epoch 256 Train loss : 0.01180 -rel_err:0.013487649969756604 -Epoch 257 Train loss : 0.01011 -rel_err:0.012716311477124691 -Epoch 258 Train loss : 0.01118 -rel_err:0.012223461344838142 -Epoch 259 Train loss : 0.00981 -rel_err:0.011304350048303604 -Epoch 260 Train loss : 0.01159 -rel_err:0.014491956755518913 -Epoch 261 Train loss : 0.01093 -rel_err:0.015138632133603096 -Epoch 262 Train loss : 0.01209 -rel_err:0.012508987672626972 -Epoch 263 Train loss : 0.01028 -rel_err:0.011444106809794902 -Epoch 264 Train loss : 0.00884 -rel_err:0.011078658569604159 -Epoch 265 Train loss : 0.01008 -rel_err:0.012275714091956616 -Epoch 266 Train loss : 0.01099 -rel_err:0.01242065940052271 -Epoch 267 Train loss : 0.00984 -rel_err:0.010670532789081335 -Epoch 268 Train loss : 0.00914 -rel_err:0.014174133315682411 -Epoch 269 Train loss : 0.00998 -rel_err:0.012109900526702404 -Epoch 270 Train loss : 0.01126 -rel_err:0.01320980779826641 -Epoch 271 Train loss : 0.01053 -rel_err:0.014254127405583858 -Epoch 272 Train loss : 0.01050 -rel_err:0.012611563354730605 -Epoch 273 Train loss : 0.01032 -rel_err:0.01143551768735051 -Epoch 274 Train loss : 0.01045 -rel_err:0.013734246790409087 -Epoch 275 Train loss : 0.00997 -rel_err:0.014326824247837067 -Epoch 276 Train loss : 0.00966 -rel_err:0.011973097026348113 -Epoch 277 Train loss : 0.00927 -rel_err:0.013137573860585689 -Epoch 278 Train loss : 0.01100 -rel_err:0.012559984140098094 -Epoch 279 Train loss : 0.00967 -rel_err:0.012743840217590332 -Epoch 280 Train loss : 0.00904 -rel_err:0.01187433384358883 -Epoch 281 Train loss : 0.00929 -rel_err:0.013017285764217377 -Epoch 282 Train loss : 0.00938 -rel_err:0.010197591707110406 -Epoch 283 Train loss : 0.00900 -rel_err:0.011302567105740308 -Epoch 284 Train loss : 0.00748 -rel_err:0.009195295926183462 -Epoch 285 Train loss : 0.00802 -rel_err:0.012733562625944614 -Epoch 286 Train loss : 0.00825 -rel_err:0.009571553189307452 -Epoch 287 Train loss : 0.00784 -rel_err:0.010853111557662488 -Epoch 288 Train loss : 0.00885 -rel_err:0.010477918926626443 -Epoch 289 Train loss : 0.00879 -rel_err:0.011976195909082889 -Epoch 290 Train loss : 0.01016 -rel_err:0.013584365025162698 -Epoch 291 Train loss : 0.00991 -rel_err:0.01245246797800064 -Epoch 292 Train loss : 0.01009 -rel_err:0.011754541173577309 -Epoch 293 Train loss : 0.00964 -rel_err:0.012892399094998836 -Epoch 294 Train loss : 0.00810 -rel_err:0.01023916969075799 -Epoch 295 Train loss : 0.00788 -rel_err:0.011299042757600545 -Epoch 296 Train loss : 0.00759 -rel_err:0.010280388109385967 -Epoch 297 Train loss : 0.00857 -rel_err:0.010266770105808974 -Epoch 298 Train loss : 0.00684 -rel_err:0.00889456832781434 -Epoch 299 Train loss : 0.00697 -rel_err:0.010505098644644021 -Epoch 300 Train loss : 0.00631 -rel_err:0.008697449453175068 -save model -Epoch 301 Train loss : 0.00745 -rel_err:0.011367911715060472 -Epoch 302 Train loss : 0.01000 -rel_err:0.011008787471801042 -Epoch 303 Train loss : 0.00900 -rel_err:0.01192712377756834 -Epoch 304 Train loss : 0.00763 -rel_err:0.01102056125178933 -Epoch 305 Train loss : 0.00917 -rel_err:0.01123622216284275 -Epoch 306 Train loss : 0.00896 -rel_err:0.011159040555357934 -Epoch 307 Train loss : 0.00779 -rel_err:0.009254757687449456 -Epoch 308 Train loss : 0.00684 -rel_err:0.009815856497734785 -Epoch 309 Train loss : 0.00579 -rel_err:0.008110073786228895 -Epoch 310 Train loss : 0.00595 -rel_err:0.011007217448204756 -Epoch 311 Train loss : 0.00724 -rel_err:0.012573766112327576 -Epoch 312 Train loss : 0.00775 -rel_err:0.010773877277970315 -Epoch 313 Train loss : 0.00727 -rel_err:0.010179660972207785 -Epoch 314 Train loss : 0.00710 -rel_err:0.01035281715914607 -Epoch 315 Train loss : 0.00920 -rel_err:0.013107297979295253 -Epoch 316 Train loss : 0.00809 -rel_err:0.010313979424536228 -Epoch 317 Train loss : 0.00810 -rel_err:0.011123894732445478 -Epoch 318 Train loss : 0.00812 -rel_err:0.009645319189876317 -Epoch 319 Train loss : 0.00748 -rel_err:0.009638942144811154 -Epoch 320 Train loss : 0.00748 -rel_err:0.010029999557882547 -Epoch 321 Train loss : 0.00560 -rel_err:0.008580223210155963 -Epoch 322 Train loss : 0.00603 -rel_err:0.009453240260481834 -Epoch 323 Train loss : 0.00562 -rel_err:0.007832296881824732 -Epoch 324 Train loss : 0.00645 -rel_err:0.011062202826142311 -Epoch 325 Train loss : 0.00773 -rel_err:0.01142343619838357 -Epoch 326 Train loss : 0.00724 -rel_err:0.010848934426903725 -Epoch 327 Train loss : 0.00654 -rel_err:0.008745129406452178 -Epoch 328 Train loss : 0.00674 -rel_err:0.008057299237698316 -Epoch 329 Train loss : 0.00565 -rel_err:0.008447833247482777 -Epoch 330 Train loss : 0.00616 -rel_err:0.010140214003622533 -Epoch 331 Train loss : 0.00703 -rel_err:0.010592419262975454 -Epoch 332 Train loss : 0.00654 -rel_err:0.009030008781701326 -Epoch 333 Train loss : 0.00593 -rel_err:0.009820092152804136 -Epoch 334 Train loss : 0.00579 -rel_err:0.007110219346359372 -Epoch 335 Train loss : 0.00531 -rel_err:0.008290530387312174 -Epoch 336 Train loss : 0.00510 -rel_err:0.008017965108156205 -Epoch 337 Train loss : 0.00535 -rel_err:0.007776490822434426 -Epoch 338 Train loss : 0.00493 -rel_err:0.008316448256373406 -Epoch 339 Train loss : 0.00604 -rel_err:0.009402222130447627 -Epoch 340 Train loss : 0.00565 -rel_err:0.007647228110581637 -Epoch 341 Train loss : 0.00473 -rel_err:0.008389101717621089 -Epoch 342 Train loss : 0.00489 -rel_err:0.00886803364381194 -Epoch 343 Train loss : 0.00539 -rel_err:0.007808216549456119 -Epoch 344 Train loss : 0.00537 -rel_err:0.009059187062084674 -Epoch 345 Train loss : 0.00578 -rel_err:0.007657206151634455 -Epoch 346 Train loss : 0.00563 -rel_err:0.007711376361548901 -Epoch 347 Train loss : 0.00581 -rel_err:0.009319778960198165 -Epoch 348 Train loss : 0.00602 -rel_err:0.010562585964798928 -Epoch 349 Train loss : 0.00734 -rel_err:0.008006786610931158 -Epoch 350 Train loss : 0.00644 -rel_err:0.009783901795744896 -Epoch 351 Train loss : 0.00610 -rel_err:0.008199545498937368 -Epoch 352 Train loss : 0.00559 -rel_err:0.007636326029896736 -Epoch 353 Train loss : 0.00459 -rel_err:0.00834363019093871 -Epoch 354 Train loss : 0.00513 -rel_err:0.007406408991664648 -Epoch 355 Train loss : 0.00490 -rel_err:0.007473146850243211 -Epoch 356 Train loss : 0.00463 -rel_err:0.008638607263565063 -Epoch 357 Train loss : 0.00499 -rel_err:0.007091535339131951 -Epoch 358 Train loss : 0.00480 -rel_err:0.007697003837674857 -Epoch 359 Train loss : 0.00437 -rel_err:0.00735027895309031 -Epoch 360 Train loss : 0.00431 -rel_err:0.008951640576124192 -Epoch 361 Train loss : 0.00424 -rel_err:0.00885491270571947 -Epoch 362 Train loss : 0.00471 -rel_err:0.007646458139643073 -Epoch 363 Train loss : 0.00481 -rel_err:0.007659059558063746 -Epoch 364 Train loss : 0.00453 -rel_err:0.007865309752523898 -Epoch 365 Train loss : 0.00440 -rel_err:0.007241761535406113 -Epoch 366 Train loss : 0.00406 -rel_err:0.007323962626978755 -Epoch 367 Train loss : 0.00448 -rel_err:0.009344488829374314 -Epoch 368 Train loss : 0.00472 -rel_err:0.006895961603149771 -Epoch 369 Train loss : 0.00403 -rel_err:0.0068792770057916645 -Epoch 370 Train loss : 0.00376 -rel_err:0.007193952519446612 -Epoch 371 Train loss : 0.00432 -rel_err:0.008877871669828891 -Epoch 372 Train loss : 0.00447 -rel_err:0.007216790867969394 -Epoch 373 Train loss : 0.00408 -rel_err:0.007463194718584418 -Epoch 374 Train loss : 0.00444 -rel_err:0.00788143953308463 -Epoch 375 Train loss : 0.00381 -rel_err:0.006878320146352052 -Epoch 376 Train loss : 0.00405 -rel_err:0.007543631419539451 -Epoch 377 Train loss : 0.00412 -rel_err:0.007720254398882389 -Epoch 378 Train loss : 0.00376 -rel_err:0.0074590248055756096 -Epoch 379 Train loss : 0.00396 -rel_err:0.007036696644499898 -Epoch 380 Train loss : 0.00452 -rel_err:0.007725017685443163 -Epoch 381 Train loss : 0.00450 -rel_err:0.006323300981894136 -Epoch 382 Train loss : 0.00389 -rel_err:0.006674674013629556 -Epoch 383 Train loss : 0.00365 -rel_err:0.007329647764563561 -Epoch 384 Train loss : 0.00361 -rel_err:0.006401968570426107 -Epoch 385 Train loss : 0.00345 -rel_err:0.00608367582783103 -Epoch 386 Train loss : 0.00373 -rel_err:0.007752497717738152 -Epoch 387 Train loss : 0.00409 -rel_err:0.006512656342238188 -Epoch 388 Train loss : 0.00381 -rel_err:0.006781125776469708 -Epoch 389 Train loss : 0.00363 -rel_err:0.0064153100270777945 -Epoch 390 Train loss : 0.00348 -rel_err:0.007011253498494625 -Epoch 391 Train loss : 0.00360 -rel_err:0.006720367381349206 -Epoch 392 Train loss : 0.00341 -rel_err:0.005870419284328818 -Epoch 393 Train loss : 0.00339 -rel_err:0.006151102166622877 -Epoch 394 Train loss : 0.00306 -rel_err:0.0061034565698355435 -Epoch 395 Train loss : 0.00380 -rel_err:0.006660330323502422 -Epoch 396 Train loss : 0.00341 -rel_err:0.006310680769383907 -Epoch 397 Train loss : 0.00342 -rel_err:0.00649915243498981 -Epoch 398 Train loss : 0.00339 -rel_err:0.006139167360961437 -Epoch 399 Train loss : 0.00295 -rel_err:0.005947948284447193 -Epoch 400 Train loss : 0.00338 -rel_err:0.006402041129767895 -save model -Epoch 401 Train loss : 0.00309 -rel_err:0.006666027996689081 -Epoch 402 Train loss : 0.00328 -rel_err:0.006489826822653413 -Epoch 403 Train loss : 0.00329 -rel_err:0.006626882646232843 -Epoch 404 Train loss : 0.00350 -rel_err:0.006392730055376887 -Epoch 405 Train loss : 0.00300 -rel_err:0.0057069467753171925 -Epoch 406 Train loss : 0.00306 -rel_err:0.006077647972851992 -Epoch 407 Train loss : 0.00304 -rel_err:0.0060730238724499945 -Epoch 408 Train loss : 0.00375 -rel_err:0.006476097693666816 -Epoch 409 Train loss : 0.00321 -rel_err:0.006341437194496393 -Epoch 410 Train loss : 0.00286 -rel_err:0.005964025007560849 -Epoch 411 Train loss : 0.00301 -rel_err:0.005894318362697959 -Epoch 412 Train loss : 0.00297 -rel_err:0.006181667177006602 -Epoch 413 Train loss : 0.00284 -rel_err:0.0058780612330883745 -Epoch 414 Train loss : 0.00281 -rel_err:0.0058297161012887955 -Epoch 415 Train loss : 0.00275 -rel_err:0.005505964793264866 -Epoch 416 Train loss : 0.00255 -rel_err:0.006028508497402072 -Epoch 417 Train loss : 0.00290 -rel_err:0.005864037470892072 -Epoch 418 Train loss : 0.00286 -rel_err:0.005625026412308216 -Epoch 419 Train loss : 0.00269 -rel_err:0.005661225272342562 -Epoch 420 Train loss : 0.00270 -rel_err:0.006072239382192492 -Epoch 421 Train loss : 0.00267 -rel_err:0.005524497479200363 -Epoch 422 Train loss : 0.00262 -rel_err:0.005479542724788189 -Epoch 423 Train loss : 0.00293 -rel_err:0.006212244844064117 -Epoch 424 Train loss : 0.00279 -rel_err:0.006055048946291208 -Epoch 425 Train loss : 0.00271 -rel_err:0.0061812704615294934 -Epoch 426 Train loss : 0.00266 -rel_err:0.005484146177768707 -Epoch 427 Train loss : 0.00246 -rel_err:0.005468153282999992 -Epoch 428 Train loss : 0.00250 -rel_err:0.005619054548442364 -Epoch 429 Train loss : 0.00270 -rel_err:0.006066545331850648 -Epoch 430 Train loss : 0.00248 -rel_err:0.005305086532607675 -Epoch 431 Train loss : 0.00236 -rel_err:0.005389527818188071 -Epoch 432 Train loss : 0.00245 -rel_err:0.005436205295845866 -Epoch 433 Train loss : 0.00247 -rel_err:0.005433823009952903 -Epoch 434 Train loss : 0.00248 -rel_err:0.005384060200303793 -Epoch 435 Train loss : 0.00241 -rel_err:0.005455934843048453 -Epoch 436 Train loss : 0.00239 -rel_err:0.00521495292428881 -Epoch 437 Train loss : 0.00236 -rel_err:0.005392358070239424 -Epoch 438 Train loss : 0.00246 -rel_err:0.005226842942647636 -Epoch 439 Train loss : 0.00231 -rel_err:0.005517687909305096 -Epoch 440 Train loss : 0.00227 -rel_err:0.00529359195381403 -Epoch 441 Train loss : 0.00218 -rel_err:0.005106259565800428 -Epoch 442 Train loss : 0.00209 -rel_err:0.005083758062683046 -Epoch 443 Train loss : 0.00244 -rel_err:0.005212070108391345 -Epoch 444 Train loss : 0.00223 -rel_err:0.005388686507940292 -Epoch 445 Train loss : 0.00227 -rel_err:0.0051284046983346345 -Epoch 446 Train loss : 0.00245 -rel_err:0.005360859846696257 -Epoch 447 Train loss : 0.00229 -rel_err:0.005204636906273663 -Epoch 448 Train loss : 0.00219 -rel_err:0.005307660466060043 -Epoch 449 Train loss : 0.00218 -rel_err:0.005172923463396728 -Epoch 450 Train loss : 0.00231 -rel_err:0.00578804874792695 -Epoch 451 Train loss : 0.00226 -rel_err:0.005694629726931453 -Epoch 452 Train loss : 0.00213 -rel_err:0.0052262914879247545 -Epoch 453 Train loss : 0.00199 -rel_err:0.005152593930251897 -Epoch 454 Train loss : 0.00208 -rel_err:0.005112340389750898 -Epoch 455 Train loss : 0.00200 -rel_err:0.0050223959656432275 -Epoch 456 Train loss : 0.00205 -rel_err:0.0052068511256948115 -Epoch 457 Train loss : 0.00207 -rel_err:0.005027868063189089 -Epoch 458 Train loss : 0.00232 -rel_err:0.005302540273405611 -Epoch 459 Train loss : 0.00214 -rel_err:0.0050450374418869615 -Epoch 460 Train loss : 0.00219 -rel_err:0.005153682045638561 -Epoch 461 Train loss : 0.00219 -rel_err:0.005236619915813208 -Epoch 462 Train loss : 0.00208 -rel_err:0.005264929998666048 -Epoch 463 Train loss : 0.00203 -rel_err:0.005191015144810081 -Epoch 464 Train loss : 0.00203 -rel_err:0.005173616432584822 -Epoch 465 Train loss : 0.00202 -rel_err:0.004939155941829085 -Epoch 466 Train loss : 0.00187 -rel_err:0.004895942308939994 -Epoch 467 Train loss : 0.00195 -rel_err:0.0049514368921518325 -Epoch 468 Train loss : 0.00198 -rel_err:0.0049641082249581815 -Epoch 469 Train loss : 0.00192 -rel_err:0.004871544940397143 -Epoch 470 Train loss : 0.00197 -rel_err:0.0049809380481019615 -Epoch 471 Train loss : 0.00184 -rel_err:0.005053308173082769 -Epoch 472 Train loss : 0.00177 -rel_err:0.004788395208306611 -Epoch 473 Train loss : 0.00180 -rel_err:0.005064652119763195 -Epoch 474 Train loss : 0.00208 -rel_err:0.005023195915855467 -Epoch 475 Train loss : 0.00197 -rel_err:0.005055107525549829 -Epoch 476 Train loss : 0.00192 -rel_err:0.005174856362864375 -Epoch 477 Train loss : 0.00185 -rel_err:0.004896913142874837 -Epoch 478 Train loss : 0.00183 -rel_err:0.004979309802874923 -Epoch 479 Train loss : 0.00188 -rel_err:0.004879210339859128 -Epoch 480 Train loss : 0.00193 -rel_err:0.004923065430484712 -Epoch 481 Train loss : 0.00187 -rel_err:0.0049895605724304916 -Epoch 482 Train loss : 0.00187 -rel_err:0.004992410661652684 -Epoch 483 Train loss : 0.00187 -rel_err:0.005052052163518965 -Epoch 484 Train loss : 0.00181 -rel_err:0.005090708322823048 -Epoch 485 Train loss : 0.00195 -rel_err:0.00526416496373713 -Epoch 486 Train loss : 0.00192 -rel_err:0.004764691046439111 -Epoch 487 Train loss : 0.00178 -rel_err:0.004851700183935464 -Epoch 488 Train loss : 0.00178 -rel_err:0.004768592570908368 -Epoch 489 Train loss : 0.00168 -rel_err:0.004862469024956227 -Epoch 490 Train loss : 0.00180 -rel_err:0.0049011061387136574 -Epoch 491 Train loss : 0.00188 -rel_err:0.0048719474719837305 -Epoch 492 Train loss : 0.00180 -rel_err:0.004756837943568825 -Epoch 493 Train loss : 0.00185 -rel_err:0.004936657925136387 -Epoch 494 Train loss : 0.00192 -rel_err:0.005043829912319779 -Epoch 495 Train loss : 0.00174 -rel_err:0.0048012975044548515 -Epoch 496 Train loss : 0.00173 -rel_err:0.0048164895735681055 -Epoch 497 Train loss : 0.00183 -rel_err:0.004908115803264081 -Epoch 498 Train loss : 0.00185 -rel_err:0.00506226398050785 -Epoch 499 Train loss : 0.00182 -rel_err:0.0049029927887022495 -save model diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_E.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_E.log deleted file mode 100644 index 092456d2c3..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_E.log +++ /dev/null @@ -1,115 +0,0 @@ -W1030 13:26:01.756693 1222684 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1030 13:26:01.757216 1222684 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -(987, 101) (987, 101, 31, 4, 20) -(900, 3131, 1) (900, 3131, 4, 20) -Dataloading is over. -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=64, n_layers=3, n_heads=4, batch_size=8, gpu=0, max_grad_norm=None, downsamplex=1, downsampley=1, mlp_ratio=1, dropout=0.0, unified_pos=0, ref=8, slice_num=32, eval=1, save_name='plas_Transolver', data_path='data/fno/plas_N987_T20.mat') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=3, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=64, dtype=None) - (linears): LayerList() - ) - (time_fc): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): Silu() - (2): Linear(in_features=64, out_features=64, dtype=None) - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=64, out_features=64, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=64, out_features=64, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=64, out_features=64, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (mlp2): Linear(in_features=64, out_features=4, dtype=None) - ) - ) -) -Total Trainable Params: 281264 -1 -2 -3 -4 -5 -6 -7 -8 -9 -test_step_loss:0.00300 , test_full_loss:0.00332 diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_T.log b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_T.log deleted file mode 100644 index 331793f8dd..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/log/Transolver_Plas_T.log +++ /dev/null @@ -1,611 +0,0 @@ -W1029 22:19:06.222641 880216 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 12.0 -W1029 22:19:06.223155 880216 gpu_resources.cc:164] device: 0, cuDNN Version: 9.5. -(987, 101) (987, 101, 31, 4, 20) -(900, 3131, 1) (900, 3131, 4, 20) -Dataloading is over. -Dataloading is over. -Namespace(lr=0.001, epochs=500, weight_decay=1e-05, model='Transolver_Structured_Mesh_2D', n_hidden=64, n_layers=3, n_heads=4, batch_size=8, gpu=0, max_grad_norm=None, downsamplex=1, downsampley=1, mlp_ratio=1, dropout=0.0, unified_pos=0, ref=8, slice_num=32, eval=0, save_name='plas_Transolver', data_path='data/fno/plas_N987_T20.mat') -Model( - (preprocess): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=3, out_features=128, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=128, out_features=64, dtype=None) - (linears): LayerList() - ) - (time_fc): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): Silu() - (2): Linear(in_features=64, out_features=64, dtype=None) - ) - (blocks): LayerList( - (0): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=64, out_features=64, dtype=None) - (linears): LayerList() - ) - ) - (1): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=64, out_features=64, dtype=None) - (linears): LayerList() - ) - ) - (2): Transolver_block( - (ln_1): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (Attn): Physics_Attention_Structured_Mesh_2D( - (softmax): Softmax(axis=-1) - (dropout): Dropout(p=0.0, axis=None, mode=upscale_in_train) - (in_project_x): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_fx): Conv2D(64, 64, kernel_size=[3, 3], padding=1, data_format=NCHW) - (in_project_slice): Linear(in_features=16, out_features=32, dtype=None) - (to_q): Linear(in_features=16, out_features=16, dtype=None) - (to_k): Linear(in_features=16, out_features=16, dtype=None) - (to_v): Linear(in_features=16, out_features=16, dtype=None) - (to_out): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): Dropout(p=0.0, axis=None, mode=upscale_in_train) - ) - ) - (ln_2): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (mlp): MLP( - (linear_pre): Sequential( - (0): Linear(in_features=64, out_features=64, dtype=None) - (1): GELU(approximate=False) - ) - (linear_post): Linear(in_features=64, out_features=64, dtype=None) - (linears): LayerList() - ) - (ln_3): LayerNorm(normalized_shape=[64], epsilon=1e-05) - (mlp2): Linear(in_features=64, out_features=4, dtype=None) - ) - ) -) -Total Trainable Params: 281264 -Epoch 0 , train_step_loss:0.86000 , test_step_loss:0.74039 , test_full_loss:0.74049 -save model -Epoch 1 , train_step_loss:0.61999 , test_step_loss:0.49607 , test_full_loss:0.49624 -Epoch 2 , train_step_loss:0.37340 , test_step_loss:0.25669 , test_full_loss:0.25703 -Epoch 3 , train_step_loss:0.17432 , test_step_loss:0.11546 , test_full_loss:0.11605 -Epoch 4 , train_step_loss:0.09991 , test_step_loss:0.09237 , test_full_loss:0.09279 -Epoch 5 , train_step_loss:0.08498 , test_step_loss:0.08235 , test_full_loss:0.08307 -Epoch 6 , train_step_loss:0.07379 , test_step_loss:0.07000 , test_full_loss:0.07063 -Epoch 7 , train_step_loss:0.06059 , test_step_loss:0.05093 , test_full_loss:0.05221 -Epoch 8 , train_step_loss:0.04835 , test_step_loss:0.04631 , test_full_loss:0.04752 -Epoch 9 , train_step_loss:0.04467 , test_step_loss:0.04384 , test_full_loss:0.04490 -Epoch 10 , train_step_loss:0.04138 , test_step_loss:0.04339 , test_full_loss:0.04476 -Epoch 11 , train_step_loss:0.03892 , test_step_loss:0.03936 , test_full_loss:0.04077 -Epoch 12 , train_step_loss:0.03604 , test_step_loss:0.04010 , test_full_loss:0.04157 -Epoch 13 , train_step_loss:0.03342 , test_step_loss:0.03227 , test_full_loss:0.03402 -Epoch 14 , train_step_loss:0.03115 , test_step_loss:0.03179 , test_full_loss:0.03345 -Epoch 15 , train_step_loss:0.02888 , test_step_loss:0.02895 , test_full_loss:0.03104 -Epoch 16 , train_step_loss:0.02688 , test_step_loss:0.02758 , test_full_loss:0.02969 -Epoch 17 , train_step_loss:0.02578 , test_step_loss:0.02615 , test_full_loss:0.02819 -Epoch 18 , train_step_loss:0.02467 , test_step_loss:0.02460 , test_full_loss:0.02728 -Epoch 19 , train_step_loss:0.02342 , test_step_loss:0.02377 , test_full_loss:0.02616 -Epoch 20 , train_step_loss:0.02323 , test_step_loss:0.02354 , test_full_loss:0.02544 -Epoch 21 , train_step_loss:0.02238 , test_step_loss:0.02386 , test_full_loss:0.02589 -Epoch 22 , train_step_loss:0.02226 , test_step_loss:0.02158 , test_full_loss:0.02382 -Epoch 23 , train_step_loss:0.02167 , test_step_loss:0.02194 , test_full_loss:0.02440 -Epoch 24 , train_step_loss:0.02147 , test_step_loss:0.02360 , test_full_loss:0.02591 -Epoch 25 , train_step_loss:0.02062 , test_step_loss:0.02150 , test_full_loss:0.02376 -Epoch 26 , train_step_loss:0.02029 , test_step_loss:0.01964 , test_full_loss:0.02177 -Epoch 27 , train_step_loss:0.02027 , test_step_loss:0.01919 , test_full_loss:0.02122 -Epoch 28 , train_step_loss:0.01956 , test_step_loss:0.01932 , test_full_loss:0.02139 -Epoch 29 , train_step_loss:0.01895 , test_step_loss:0.01940 , test_full_loss:0.02109 -Epoch 30 , train_step_loss:0.01893 , test_step_loss:0.01800 , test_full_loss:0.01962 -Epoch 31 , train_step_loss:0.01859 , test_step_loss:0.01876 , test_full_loss:0.02047 -Epoch 32 , train_step_loss:0.01798 , test_step_loss:0.01738 , test_full_loss:0.01903 -Epoch 33 , train_step_loss:0.01730 , test_step_loss:0.01800 , test_full_loss:0.01928 -Epoch 34 , train_step_loss:0.01674 , test_step_loss:0.01693 , test_full_loss:0.01848 -Epoch 35 , train_step_loss:0.01627 , test_step_loss:0.01696 , test_full_loss:0.01789 -Epoch 36 , train_step_loss:0.01600 , test_step_loss:0.01655 , test_full_loss:0.01808 -Epoch 37 , train_step_loss:0.01542 , test_step_loss:0.01761 , test_full_loss:0.01846 -Epoch 38 , train_step_loss:0.01545 , test_step_loss:0.01405 , test_full_loss:0.01517 -Epoch 39 , train_step_loss:0.01526 , test_step_loss:0.01370 , test_full_loss:0.01492 -Epoch 40 , train_step_loss:0.01442 , test_step_loss:0.01507 , test_full_loss:0.01619 -Epoch 41 , train_step_loss:0.01413 , test_step_loss:0.01669 , test_full_loss:0.01859 -Epoch 42 , train_step_loss:0.01390 , test_step_loss:0.01544 , test_full_loss:0.01674 -Epoch 43 , train_step_loss:0.01396 , test_step_loss:0.01440 , test_full_loss:0.01550 -Epoch 44 , train_step_loss:0.01369 , test_step_loss:0.01410 , test_full_loss:0.01573 -Epoch 45 , train_step_loss:0.01281 , test_step_loss:0.01544 , test_full_loss:0.01663 -Epoch 46 , train_step_loss:0.01593 , test_step_loss:0.01724 , test_full_loss:0.01847 -Epoch 47 , train_step_loss:0.01366 , test_step_loss:0.01426 , test_full_loss:0.01555 -Epoch 48 , train_step_loss:0.01337 , test_step_loss:0.01780 , test_full_loss:0.01911 -Epoch 49 , train_step_loss:0.01239 , test_step_loss:0.01537 , test_full_loss:0.01661 -Epoch 50 , train_step_loss:0.01263 , test_step_loss:0.01415 , test_full_loss:0.01523 -Epoch 51 , train_step_loss:0.01247 , test_step_loss:0.01538 , test_full_loss:0.01636 -Epoch 52 , train_step_loss:0.01227 , test_step_loss:0.01289 , test_full_loss:0.01408 -Epoch 53 , train_step_loss:0.01227 , test_step_loss:0.01294 , test_full_loss:0.01453 -Epoch 54 , train_step_loss:0.01200 , test_step_loss:0.01223 , test_full_loss:0.01323 -Epoch 55 , train_step_loss:0.01253 , test_step_loss:0.01355 , test_full_loss:0.01445 -Epoch 56 , train_step_loss:0.01216 , test_step_loss:0.01139 , test_full_loss:0.01234 -Epoch 57 , train_step_loss:0.01116 , test_step_loss:0.01287 , test_full_loss:0.01441 -Epoch 58 , train_step_loss:0.01181 , test_step_loss:0.01201 , test_full_loss:0.01313 -Epoch 59 , train_step_loss:0.01130 , test_step_loss:0.01166 , test_full_loss:0.01259 -Epoch 60 , train_step_loss:0.01076 , test_step_loss:0.01395 , test_full_loss:0.01542 -Epoch 61 , train_step_loss:0.01217 , test_step_loss:0.01382 , test_full_loss:0.01546 -Epoch 62 , train_step_loss:0.01108 , test_step_loss:0.01106 , test_full_loss:0.01214 -Epoch 63 , train_step_loss:0.01264 , test_step_loss:0.01219 , test_full_loss:0.01330 -Epoch 64 , train_step_loss:0.01132 , test_step_loss:0.01202 , test_full_loss:0.01308 -Epoch 65 , train_step_loss:0.01188 , test_step_loss:0.01375 , test_full_loss:0.01521 -Epoch 66 , train_step_loss:0.01041 , test_step_loss:0.01159 , test_full_loss:0.01271 -Epoch 67 , train_step_loss:0.01113 , test_step_loss:0.01175 , test_full_loss:0.01284 -Epoch 68 , train_step_loss:0.01078 , test_step_loss:0.01187 , test_full_loss:0.01306 -Epoch 69 , train_step_loss:0.01172 , test_step_loss:0.01334 , test_full_loss:0.01488 -Epoch 70 , train_step_loss:0.01152 , test_step_loss:0.01299 , test_full_loss:0.01421 -Epoch 71 , train_step_loss:0.01053 , test_step_loss:0.01106 , test_full_loss:0.01210 -Epoch 72 , train_step_loss:0.01009 , test_step_loss:0.01365 , test_full_loss:0.01497 -Epoch 73 , train_step_loss:0.01305 , test_step_loss:0.01267 , test_full_loss:0.01421 -Epoch 74 , train_step_loss:0.01023 , test_step_loss:0.01320 , test_full_loss:0.01479 -Epoch 75 , train_step_loss:0.01112 , test_step_loss:0.01289 , test_full_loss:0.01436 -Epoch 76 , train_step_loss:0.00989 , test_step_loss:0.01167 , test_full_loss:0.01276 -Epoch 77 , train_step_loss:0.00973 , test_step_loss:0.01254 , test_full_loss:0.01355 -Epoch 78 , train_step_loss:0.01026 , test_step_loss:0.01127 , test_full_loss:0.01248 -Epoch 79 , train_step_loss:0.00942 , test_step_loss:0.01138 , test_full_loss:0.01238 -Epoch 80 , train_step_loss:0.00946 , test_step_loss:0.01104 , test_full_loss:0.01219 -Epoch 81 , train_step_loss:0.01002 , test_step_loss:0.01040 , test_full_loss:0.01140 -Epoch 82 , train_step_loss:0.00921 , test_step_loss:0.01101 , test_full_loss:0.01211 -Epoch 83 , train_step_loss:0.01160 , test_step_loss:0.00993 , test_full_loss:0.01093 -Epoch 84 , train_step_loss:0.01119 , test_step_loss:0.01110 , test_full_loss:0.01214 -Epoch 85 , train_step_loss:0.00939 , test_step_loss:0.01204 , test_full_loss:0.01376 -Epoch 86 , train_step_loss:0.01051 , test_step_loss:0.01030 , test_full_loss:0.01125 -Epoch 87 , train_step_loss:0.00908 , test_step_loss:0.01179 , test_full_loss:0.01313 -Epoch 88 , train_step_loss:0.00897 , test_step_loss:0.01205 , test_full_loss:0.01315 -Epoch 89 , train_step_loss:0.00998 , test_step_loss:0.01175 , test_full_loss:0.01319 -Epoch 90 , train_step_loss:0.00889 , test_step_loss:0.01096 , test_full_loss:0.01216 -Epoch 91 , train_step_loss:0.00881 , test_step_loss:0.01147 , test_full_loss:0.01284 -Epoch 92 , train_step_loss:0.00932 , test_step_loss:0.01149 , test_full_loss:0.01276 -Epoch 93 , train_step_loss:0.00840 , test_step_loss:0.01104 , test_full_loss:0.01220 -Epoch 94 , train_step_loss:0.00973 , test_step_loss:0.01030 , test_full_loss:0.01140 -Epoch 95 , train_step_loss:0.00854 , test_step_loss:0.01317 , test_full_loss:0.01424 -Epoch 96 , train_step_loss:0.00864 , test_step_loss:0.01198 , test_full_loss:0.01335 -Epoch 97 , train_step_loss:0.00926 , test_step_loss:0.01036 , test_full_loss:0.01133 -Epoch 98 , train_step_loss:0.00912 , test_step_loss:0.00901 , test_full_loss:0.01014 -Epoch 99 , train_step_loss:0.00822 , test_step_loss:0.01167 , test_full_loss:0.01306 -Epoch 100 , train_step_loss:0.00876 , test_step_loss:0.00972 , test_full_loss:0.01086 -save model -Epoch 101 , train_step_loss:0.00827 , test_step_loss:0.01012 , test_full_loss:0.01132 -Epoch 102 , train_step_loss:0.00817 , test_step_loss:0.00997 , test_full_loss:0.01100 -Epoch 103 , train_step_loss:0.00871 , test_step_loss:0.01152 , test_full_loss:0.01284 -Epoch 104 , train_step_loss:0.00803 , test_step_loss:0.01068 , test_full_loss:0.01186 -Epoch 105 , train_step_loss:0.00864 , test_step_loss:0.01008 , test_full_loss:0.01130 -Epoch 106 , train_step_loss:0.00799 , test_step_loss:0.01016 , test_full_loss:0.01155 -Epoch 107 , train_step_loss:0.00785 , test_step_loss:0.00947 , test_full_loss:0.01059 -Epoch 108 , train_step_loss:0.00802 , test_step_loss:0.01011 , test_full_loss:0.01147 -Epoch 109 , train_step_loss:0.00934 , test_step_loss:0.00955 , test_full_loss:0.01065 -Epoch 110 , train_step_loss:0.00779 , test_step_loss:0.01096 , test_full_loss:0.01239 -Epoch 111 , train_step_loss:0.00895 , test_step_loss:0.00884 , test_full_loss:0.00999 -Epoch 112 , train_step_loss:0.00775 , test_step_loss:0.01055 , test_full_loss:0.01157 -Epoch 113 , train_step_loss:0.00774 , test_step_loss:0.01075 , test_full_loss:0.01169 -Epoch 114 , train_step_loss:0.00834 , test_step_loss:0.00919 , test_full_loss:0.01013 -Epoch 115 , train_step_loss:0.00768 , test_step_loss:0.01027 , test_full_loss:0.01181 -Epoch 116 , train_step_loss:0.00795 , test_step_loss:0.01006 , test_full_loss:0.01129 -Epoch 117 , train_step_loss:0.00753 , test_step_loss:0.00939 , test_full_loss:0.01041 -Epoch 118 , train_step_loss:0.00850 , test_step_loss:0.00914 , test_full_loss:0.01022 -Epoch 119 , train_step_loss:0.00758 , test_step_loss:0.00917 , test_full_loss:0.01018 -Epoch 120 , train_step_loss:0.00835 , test_step_loss:0.00995 , test_full_loss:0.01093 -Epoch 121 , train_step_loss:0.00753 , test_step_loss:0.00962 , test_full_loss:0.01090 -Epoch 122 , train_step_loss:0.00757 , test_step_loss:0.01238 , test_full_loss:0.01352 -Epoch 123 , train_step_loss:0.00795 , test_step_loss:0.00967 , test_full_loss:0.01085 -Epoch 124 , train_step_loss:0.00744 , test_step_loss:0.01016 , test_full_loss:0.01143 -Epoch 125 , train_step_loss:0.00737 , test_step_loss:0.00895 , test_full_loss:0.01003 -Epoch 126 , train_step_loss:0.00776 , test_step_loss:0.00897 , test_full_loss:0.01011 -Epoch 127 , train_step_loss:0.00727 , test_step_loss:0.00983 , test_full_loss:0.01071 -Epoch 128 , train_step_loss:0.00723 , test_step_loss:0.00914 , test_full_loss:0.00992 -Epoch 129 , train_step_loss:0.00808 , test_step_loss:0.00943 , test_full_loss:0.01090 -Epoch 130 , train_step_loss:0.00712 , test_step_loss:0.00917 , test_full_loss:0.01030 -Epoch 131 , train_step_loss:0.00796 , test_step_loss:0.01065 , test_full_loss:0.01201 -Epoch 132 , train_step_loss:0.00719 , test_step_loss:0.01047 , test_full_loss:0.01154 -Epoch 133 , train_step_loss:0.00731 , test_step_loss:0.00880 , test_full_loss:0.00966 -Epoch 134 , train_step_loss:0.00777 , test_step_loss:0.00866 , test_full_loss:0.00970 -Epoch 135 , train_step_loss:0.00710 , test_step_loss:0.00958 , test_full_loss:0.01079 -Epoch 136 , train_step_loss:0.00779 , test_step_loss:0.00899 , test_full_loss:0.00997 -Epoch 137 , train_step_loss:0.00703 , test_step_loss:0.00931 , test_full_loss:0.01047 -Epoch 138 , train_step_loss:0.00706 , test_step_loss:0.00850 , test_full_loss:0.00956 -Epoch 139 , train_step_loss:0.00748 , test_step_loss:0.00832 , test_full_loss:0.00920 -Epoch 140 , train_step_loss:0.00683 , test_step_loss:0.00949 , test_full_loss:0.01068 -Epoch 141 , train_step_loss:0.00739 , test_step_loss:0.00961 , test_full_loss:0.01043 -Epoch 142 , train_step_loss:0.00701 , test_step_loss:0.00919 , test_full_loss:0.01043 -Epoch 143 , train_step_loss:0.00715 , test_step_loss:0.00839 , test_full_loss:0.00958 -Epoch 144 , train_step_loss:0.00743 , test_step_loss:0.00871 , test_full_loss:0.00975 -Epoch 145 , train_step_loss:0.00689 , test_step_loss:0.00929 , test_full_loss:0.01046 -Epoch 146 , train_step_loss:0.00688 , test_step_loss:0.00822 , test_full_loss:0.00923 -Epoch 147 , train_step_loss:0.00718 , test_step_loss:0.00920 , test_full_loss:0.01029 -Epoch 148 , train_step_loss:0.00671 , test_step_loss:0.01151 , test_full_loss:0.01283 -Epoch 149 , train_step_loss:0.00683 , test_step_loss:0.00854 , test_full_loss:0.00947 -Epoch 150 , train_step_loss:0.00780 , test_step_loss:0.00839 , test_full_loss:0.00940 -Epoch 151 , train_step_loss:0.00681 , test_step_loss:0.00844 , test_full_loss:0.00953 -Epoch 152 , train_step_loss:0.00678 , test_step_loss:0.00931 , test_full_loss:0.01051 -Epoch 153 , train_step_loss:0.00708 , test_step_loss:0.00861 , test_full_loss:0.00975 -Epoch 154 , train_step_loss:0.00674 , test_step_loss:0.00907 , test_full_loss:0.01013 -Epoch 155 , train_step_loss:0.00690 , test_step_loss:0.00879 , test_full_loss:0.00997 -Epoch 156 , train_step_loss:0.00678 , test_step_loss:0.00824 , test_full_loss:0.00919 -Epoch 157 , train_step_loss:0.00678 , test_step_loss:0.00936 , test_full_loss:0.01042 -Epoch 158 , train_step_loss:0.00673 , test_step_loss:0.00945 , test_full_loss:0.01074 -Epoch 159 , train_step_loss:0.00666 , test_step_loss:0.00911 , test_full_loss:0.01019 -Epoch 160 , train_step_loss:0.00714 , test_step_loss:0.00826 , test_full_loss:0.00912 -Epoch 161 , train_step_loss:0.00672 , test_step_loss:0.00827 , test_full_loss:0.00914 -Epoch 162 , train_step_loss:0.00669 , test_step_loss:0.00820 , test_full_loss:0.00915 -Epoch 163 , train_step_loss:0.00671 , test_step_loss:0.00841 , test_full_loss:0.00946 -Epoch 164 , train_step_loss:0.00667 , test_step_loss:0.00875 , test_full_loss:0.00965 -Epoch 165 , train_step_loss:0.00653 , test_step_loss:0.00759 , test_full_loss:0.00850 -Epoch 166 , train_step_loss:0.00669 , test_step_loss:0.00831 , test_full_loss:0.00934 -Epoch 167 , train_step_loss:0.00656 , test_step_loss:0.00853 , test_full_loss:0.00945 -Epoch 168 , train_step_loss:0.00647 , test_step_loss:0.00866 , test_full_loss:0.00962 -Epoch 169 , train_step_loss:0.00684 , test_step_loss:0.00751 , test_full_loss:0.00836 -Epoch 170 , train_step_loss:0.00644 , test_step_loss:0.00903 , test_full_loss:0.01002 -Epoch 171 , train_step_loss:0.00663 , test_step_loss:0.00789 , test_full_loss:0.00883 -Epoch 172 , train_step_loss:0.00633 , test_step_loss:0.00802 , test_full_loss:0.00904 -Epoch 173 , train_step_loss:0.00655 , test_step_loss:0.00841 , test_full_loss:0.00926 -Epoch 174 , train_step_loss:0.00640 , test_step_loss:0.00777 , test_full_loss:0.00877 -Epoch 175 , train_step_loss:0.00647 , test_step_loss:0.00903 , test_full_loss:0.01024 -Epoch 176 , train_step_loss:0.00668 , test_step_loss:0.00872 , test_full_loss:0.00979 -Epoch 177 , train_step_loss:0.00643 , test_step_loss:0.00893 , test_full_loss:0.01003 -Epoch 178 , train_step_loss:0.00640 , test_step_loss:0.00968 , test_full_loss:0.01113 -Epoch 179 , train_step_loss:0.00649 , test_step_loss:0.00829 , test_full_loss:0.00932 -Epoch 180 , train_step_loss:0.00625 , test_step_loss:0.00856 , test_full_loss:0.00969 -Epoch 181 , train_step_loss:0.00636 , test_step_loss:0.00760 , test_full_loss:0.00841 -Epoch 182 , train_step_loss:0.00661 , test_step_loss:0.00788 , test_full_loss:0.00874 -Epoch 183 , train_step_loss:0.00628 , test_step_loss:0.00817 , test_full_loss:0.00920 -Epoch 184 , train_step_loss:0.00621 , test_step_loss:0.00836 , test_full_loss:0.00942 -Epoch 185 , train_step_loss:0.00642 , test_step_loss:0.00872 , test_full_loss:0.00977 -Epoch 186 , train_step_loss:0.00627 , test_step_loss:0.00848 , test_full_loss:0.00951 -Epoch 187 , train_step_loss:0.00627 , test_step_loss:0.00768 , test_full_loss:0.00857 -Epoch 188 , train_step_loss:0.00611 , test_step_loss:0.00888 , test_full_loss:0.00994 -Epoch 189 , train_step_loss:0.00621 , test_step_loss:0.00792 , test_full_loss:0.00896 -Epoch 190 , train_step_loss:0.00610 , test_step_loss:0.00811 , test_full_loss:0.00906 -Epoch 191 , train_step_loss:0.00635 , test_step_loss:0.00809 , test_full_loss:0.00900 -Epoch 192 , train_step_loss:0.00597 , test_step_loss:0.00725 , test_full_loss:0.00821 -Epoch 193 , train_step_loss:0.00615 , test_step_loss:0.00772 , test_full_loss:0.00869 -Epoch 194 , train_step_loss:0.00612 , test_step_loss:0.00759 , test_full_loss:0.00846 -Epoch 195 , train_step_loss:0.00651 , test_step_loss:0.00846 , test_full_loss:0.00957 -Epoch 196 , train_step_loss:0.00610 , test_step_loss:0.00819 , test_full_loss:0.00922 -Epoch 197 , train_step_loss:0.00618 , test_step_loss:0.00824 , test_full_loss:0.00915 -Epoch 198 , train_step_loss:0.00610 , test_step_loss:0.00802 , test_full_loss:0.00898 -Epoch 199 , train_step_loss:0.00610 , test_step_loss:0.00792 , test_full_loss:0.00882 -Epoch 200 , train_step_loss:0.00639 , test_step_loss:0.00993 , test_full_loss:0.01110 -save model -Epoch 201 , train_step_loss:0.00605 , test_step_loss:0.00703 , test_full_loss:0.00778 -Epoch 202 , train_step_loss:0.00604 , test_step_loss:0.00745 , test_full_loss:0.00822 -Epoch 203 , train_step_loss:0.00602 , test_step_loss:0.00758 , test_full_loss:0.00859 -Epoch 204 , train_step_loss:0.00603 , test_step_loss:0.00778 , test_full_loss:0.00870 -Epoch 205 , train_step_loss:0.00620 , test_step_loss:0.00821 , test_full_loss:0.00937 -Epoch 206 , train_step_loss:0.00596 , test_step_loss:0.00752 , test_full_loss:0.00836 -Epoch 207 , train_step_loss:0.00595 , test_step_loss:0.00763 , test_full_loss:0.00862 -Epoch 208 , train_step_loss:0.00606 , test_step_loss:0.00754 , test_full_loss:0.00868 -Epoch 209 , train_step_loss:0.00594 , test_step_loss:0.00838 , test_full_loss:0.00954 -Epoch 210 , train_step_loss:0.00597 , test_step_loss:0.00789 , test_full_loss:0.00884 -Epoch 211 , train_step_loss:0.00590 , test_step_loss:0.00822 , test_full_loss:0.00921 -Epoch 212 , train_step_loss:0.00583 , test_step_loss:0.00847 , test_full_loss:0.00952 -Epoch 213 , train_step_loss:0.00582 , test_step_loss:0.00740 , test_full_loss:0.00838 -Epoch 214 , train_step_loss:0.00584 , test_step_loss:0.00729 , test_full_loss:0.00816 -Epoch 215 , train_step_loss:0.00584 , test_step_loss:0.00819 , test_full_loss:0.00924 -Epoch 216 , train_step_loss:0.00578 , test_step_loss:0.00732 , test_full_loss:0.00812 -Epoch 217 , train_step_loss:0.00631 , test_step_loss:0.00861 , test_full_loss:0.00933 -Epoch 218 , train_step_loss:0.00577 , test_step_loss:0.00804 , test_full_loss:0.00896 -Epoch 219 , train_step_loss:0.00577 , test_step_loss:0.00925 , test_full_loss:0.01023 -Epoch 220 , train_step_loss:0.00573 , test_step_loss:0.00939 , test_full_loss:0.01079 -Epoch 221 , train_step_loss:0.00579 , test_step_loss:0.00777 , test_full_loss:0.00862 -Epoch 222 , train_step_loss:0.00570 , test_step_loss:0.00705 , test_full_loss:0.00784 -Epoch 223 , train_step_loss:0.00578 , test_step_loss:0.00707 , test_full_loss:0.00796 -Epoch 224 , train_step_loss:0.00574 , test_step_loss:0.00752 , test_full_loss:0.00839 -Epoch 225 , train_step_loss:0.00571 , test_step_loss:0.00851 , test_full_loss:0.00962 -Epoch 226 , train_step_loss:0.00571 , test_step_loss:0.00719 , test_full_loss:0.00800 -Epoch 227 , train_step_loss:0.00569 , test_step_loss:0.00722 , test_full_loss:0.00812 -Epoch 228 , train_step_loss:0.00571 , test_step_loss:0.00874 , test_full_loss:0.00974 -Epoch 229 , train_step_loss:0.00573 , test_step_loss:0.00817 , test_full_loss:0.00923 -Epoch 230 , train_step_loss:0.00573 , test_step_loss:0.00724 , test_full_loss:0.00817 -Epoch 231 , train_step_loss:0.00582 , test_step_loss:0.00700 , test_full_loss:0.00801 -Epoch 232 , train_step_loss:0.00559 , test_step_loss:0.00668 , test_full_loss:0.00748 -Epoch 233 , train_step_loss:0.00566 , test_step_loss:0.00768 , test_full_loss:0.00848 -Epoch 234 , train_step_loss:0.00589 , test_step_loss:0.00751 , test_full_loss:0.00861 -Epoch 235 , train_step_loss:0.00559 , test_step_loss:0.00750 , test_full_loss:0.00838 -Epoch 236 , train_step_loss:0.00562 , test_step_loss:0.00772 , test_full_loss:0.00865 -Epoch 237 , train_step_loss:0.00564 , test_step_loss:0.00737 , test_full_loss:0.00817 -Epoch 238 , train_step_loss:0.00581 , test_step_loss:0.00716 , test_full_loss:0.00809 -Epoch 239 , train_step_loss:0.00558 , test_step_loss:0.00755 , test_full_loss:0.00852 -Epoch 240 , train_step_loss:0.00571 , test_step_loss:0.00684 , test_full_loss:0.00769 -Epoch 241 , train_step_loss:0.00558 , test_step_loss:0.00729 , test_full_loss:0.00824 -Epoch 242 , train_step_loss:0.00557 , test_step_loss:0.00891 , test_full_loss:0.00995 -Epoch 243 , train_step_loss:0.00551 , test_step_loss:0.00752 , test_full_loss:0.00859 -Epoch 244 , train_step_loss:0.00551 , test_step_loss:0.00724 , test_full_loss:0.00806 -Epoch 245 , train_step_loss:0.00553 , test_step_loss:0.00802 , test_full_loss:0.00879 -Epoch 246 , train_step_loss:0.00551 , test_step_loss:0.00698 , test_full_loss:0.00796 -Epoch 247 , train_step_loss:0.00551 , test_step_loss:0.00779 , test_full_loss:0.00887 -Epoch 248 , train_step_loss:0.00547 , test_step_loss:0.00685 , test_full_loss:0.00778 -Epoch 249 , train_step_loss:0.00552 , test_step_loss:0.00686 , test_full_loss:0.00770 -Epoch 250 , train_step_loss:0.00573 , test_step_loss:0.00778 , test_full_loss:0.00876 -Epoch 251 , train_step_loss:0.00539 , test_step_loss:0.00684 , test_full_loss:0.00765 -Epoch 252 , train_step_loss:0.00553 , test_step_loss:0.00972 , test_full_loss:0.01055 -Epoch 253 , train_step_loss:0.00545 , test_step_loss:0.00796 , test_full_loss:0.00893 -Epoch 254 , train_step_loss:0.00543 , test_step_loss:0.00741 , test_full_loss:0.00820 -Epoch 255 , train_step_loss:0.00533 , test_step_loss:0.00731 , test_full_loss:0.00810 -Epoch 256 , train_step_loss:0.00545 , test_step_loss:0.00780 , test_full_loss:0.00873 -Epoch 257 , train_step_loss:0.00542 , test_step_loss:0.00705 , test_full_loss:0.00794 -Epoch 258 , train_step_loss:0.00540 , test_step_loss:0.00644 , test_full_loss:0.00725 -Epoch 259 , train_step_loss:0.00532 , test_step_loss:0.00774 , test_full_loss:0.00890 -Epoch 260 , train_step_loss:0.00535 , test_step_loss:0.00733 , test_full_loss:0.00824 -Epoch 261 , train_step_loss:0.00529 , test_step_loss:0.00709 , test_full_loss:0.00792 -Epoch 262 , train_step_loss:0.00542 , test_step_loss:0.00772 , test_full_loss:0.00829 -Epoch 263 , train_step_loss:0.00533 , test_step_loss:0.00756 , test_full_loss:0.00855 -Epoch 264 , train_step_loss:0.00539 , test_step_loss:0.00727 , test_full_loss:0.00812 -Epoch 265 , train_step_loss:0.00546 , test_step_loss:0.00727 , test_full_loss:0.00822 -Epoch 266 , train_step_loss:0.00530 , test_step_loss:0.00782 , test_full_loss:0.00890 -Epoch 267 , train_step_loss:0.00536 , test_step_loss:0.00703 , test_full_loss:0.00785 -Epoch 268 , train_step_loss:0.00532 , test_step_loss:0.00607 , test_full_loss:0.00687 -Epoch 269 , train_step_loss:0.00526 , test_step_loss:0.00718 , test_full_loss:0.00795 -Epoch 270 , train_step_loss:0.00523 , test_step_loss:0.00681 , test_full_loss:0.00769 -Epoch 271 , train_step_loss:0.00528 , test_step_loss:0.00716 , test_full_loss:0.00800 -Epoch 272 , train_step_loss:0.00529 , test_step_loss:0.00635 , test_full_loss:0.00714 -Epoch 273 , train_step_loss:0.00521 , test_step_loss:0.00708 , test_full_loss:0.00818 -Epoch 274 , train_step_loss:0.00530 , test_step_loss:0.00752 , test_full_loss:0.00833 -Epoch 275 , train_step_loss:0.00520 , test_step_loss:0.00754 , test_full_loss:0.00822 -Epoch 276 , train_step_loss:0.00520 , test_step_loss:0.00798 , test_full_loss:0.00889 -Epoch 277 , train_step_loss:0.00526 , test_step_loss:0.00761 , test_full_loss:0.00861 -Epoch 278 , train_step_loss:0.00526 , test_step_loss:0.00670 , test_full_loss:0.00757 -Epoch 279 , train_step_loss:0.00519 , test_step_loss:0.00660 , test_full_loss:0.00729 -Epoch 280 , train_step_loss:0.00515 , test_step_loss:0.00706 , test_full_loss:0.00778 -Epoch 281 , train_step_loss:0.00516 , test_step_loss:0.00660 , test_full_loss:0.00740 -Epoch 282 , train_step_loss:0.00518 , test_step_loss:0.00715 , test_full_loss:0.00796 -Epoch 283 , train_step_loss:0.00517 , test_step_loss:0.00657 , test_full_loss:0.00737 -Epoch 284 , train_step_loss:0.00523 , test_step_loss:0.00640 , test_full_loss:0.00709 -Epoch 285 , train_step_loss:0.00499 , test_step_loss:0.00714 , test_full_loss:0.00806 -Epoch 286 , train_step_loss:0.00512 , test_step_loss:0.00840 , test_full_loss:0.00928 -Epoch 287 , train_step_loss:0.00510 , test_step_loss:0.00625 , test_full_loss:0.00695 -Epoch 288 , train_step_loss:0.00505 , test_step_loss:0.00714 , test_full_loss:0.00802 -Epoch 289 , train_step_loss:0.00506 , test_step_loss:0.00629 , test_full_loss:0.00707 -Epoch 290 , train_step_loss:0.00510 , test_step_loss:0.00752 , test_full_loss:0.00835 -Epoch 291 , train_step_loss:0.00499 , test_step_loss:0.00636 , test_full_loss:0.00704 -Epoch 292 , train_step_loss:0.00508 , test_step_loss:0.00708 , test_full_loss:0.00783 -Epoch 293 , train_step_loss:0.00507 , test_step_loss:0.00769 , test_full_loss:0.00867 -Epoch 294 , train_step_loss:0.00507 , test_step_loss:0.00650 , test_full_loss:0.00718 -Epoch 295 , train_step_loss:0.00510 , test_step_loss:0.00696 , test_full_loss:0.00794 -Epoch 296 , train_step_loss:0.00503 , test_step_loss:0.00676 , test_full_loss:0.00739 -Epoch 297 , train_step_loss:0.00498 , test_step_loss:0.00840 , test_full_loss:0.00967 -Epoch 298 , train_step_loss:0.00498 , test_step_loss:0.00722 , test_full_loss:0.00805 -Epoch 299 , train_step_loss:0.00499 , test_step_loss:0.00643 , test_full_loss:0.00710 -Epoch 300 , train_step_loss:0.00502 , test_step_loss:0.00596 , test_full_loss:0.00678 -save model -Epoch 301 , train_step_loss:0.00493 , test_step_loss:0.00764 , test_full_loss:0.00856 -Epoch 302 , train_step_loss:0.00485 , test_step_loss:0.00667 , test_full_loss:0.00743 -Epoch 303 , train_step_loss:0.00489 , test_step_loss:0.00710 , test_full_loss:0.00793 -Epoch 304 , train_step_loss:0.00495 , test_step_loss:0.00686 , test_full_loss:0.00775 -Epoch 305 , train_step_loss:0.00489 , test_step_loss:0.00587 , test_full_loss:0.00663 -Epoch 306 , train_step_loss:0.00490 , test_step_loss:0.00656 , test_full_loss:0.00707 -Epoch 307 , train_step_loss:0.00490 , test_step_loss:0.00621 , test_full_loss:0.00698 -Epoch 308 , train_step_loss:0.00481 , test_step_loss:0.00606 , test_full_loss:0.00684 -Epoch 309 , train_step_loss:0.00469 , test_step_loss:0.00594 , test_full_loss:0.00663 -Epoch 310 , train_step_loss:0.00480 , test_step_loss:0.00587 , test_full_loss:0.00652 -Epoch 311 , train_step_loss:0.00482 , test_step_loss:0.00619 , test_full_loss:0.00703 -Epoch 312 , train_step_loss:0.00470 , test_step_loss:0.00639 , test_full_loss:0.00697 -Epoch 313 , train_step_loss:0.00475 , test_step_loss:0.00583 , test_full_loss:0.00649 -Epoch 314 , train_step_loss:0.00473 , test_step_loss:0.00544 , test_full_loss:0.00611 -Epoch 315 , train_step_loss:0.00473 , test_step_loss:0.00690 , test_full_loss:0.00772 -Epoch 316 , train_step_loss:0.00473 , test_step_loss:0.00672 , test_full_loss:0.00768 -Epoch 317 , train_step_loss:0.00477 , test_step_loss:0.00629 , test_full_loss:0.00709 -Epoch 318 , train_step_loss:0.00483 , test_step_loss:0.00617 , test_full_loss:0.00689 -Epoch 319 , train_step_loss:0.00475 , test_step_loss:0.00607 , test_full_loss:0.00678 -Epoch 320 , train_step_loss:0.00475 , test_step_loss:0.00622 , test_full_loss:0.00691 -Epoch 321 , train_step_loss:0.00472 , test_step_loss:0.00686 , test_full_loss:0.00760 -Epoch 322 , train_step_loss:0.00472 , test_step_loss:0.00647 , test_full_loss:0.00716 -Epoch 323 , train_step_loss:0.00468 , test_step_loss:0.00690 , test_full_loss:0.00782 -Epoch 324 , train_step_loss:0.00467 , test_step_loss:0.00539 , test_full_loss:0.00597 -Epoch 325 , train_step_loss:0.00466 , test_step_loss:0.00570 , test_full_loss:0.00635 -Epoch 326 , train_step_loss:0.00469 , test_step_loss:0.00597 , test_full_loss:0.00667 -Epoch 327 , train_step_loss:0.00455 , test_step_loss:0.00564 , test_full_loss:0.00629 -Epoch 328 , train_step_loss:0.00461 , test_step_loss:0.00549 , test_full_loss:0.00613 -Epoch 329 , train_step_loss:0.00463 , test_step_loss:0.00594 , test_full_loss:0.00667 -Epoch 330 , train_step_loss:0.00461 , test_step_loss:0.00545 , test_full_loss:0.00612 -Epoch 331 , train_step_loss:0.00456 , test_step_loss:0.00673 , test_full_loss:0.00764 -Epoch 332 , train_step_loss:0.00453 , test_step_loss:0.00633 , test_full_loss:0.00702 -Epoch 333 , train_step_loss:0.00453 , test_step_loss:0.00647 , test_full_loss:0.00735 -Epoch 334 , train_step_loss:0.00458 , test_step_loss:0.00597 , test_full_loss:0.00666 -Epoch 335 , train_step_loss:0.00456 , test_step_loss:0.00591 , test_full_loss:0.00661 -Epoch 336 , train_step_loss:0.00442 , test_step_loss:0.00586 , test_full_loss:0.00667 -Epoch 337 , train_step_loss:0.00443 , test_step_loss:0.00590 , test_full_loss:0.00668 -Epoch 338 , train_step_loss:0.00441 , test_step_loss:0.00688 , test_full_loss:0.00753 -Epoch 339 , train_step_loss:0.00446 , test_step_loss:0.00636 , test_full_loss:0.00711 -Epoch 340 , train_step_loss:0.00444 , test_step_loss:0.00572 , test_full_loss:0.00638 -Epoch 341 , train_step_loss:0.00445 , test_step_loss:0.00536 , test_full_loss:0.00588 -Epoch 342 , train_step_loss:0.00436 , test_step_loss:0.00563 , test_full_loss:0.00625 -Epoch 343 , train_step_loss:0.00443 , test_step_loss:0.00545 , test_full_loss:0.00615 -Epoch 344 , train_step_loss:0.00434 , test_step_loss:0.00554 , test_full_loss:0.00606 -Epoch 345 , train_step_loss:0.00431 , test_step_loss:0.00629 , test_full_loss:0.00694 -Epoch 346 , train_step_loss:0.00437 , test_step_loss:0.00690 , test_full_loss:0.00753 -Epoch 347 , train_step_loss:0.00435 , test_step_loss:0.00538 , test_full_loss:0.00600 -Epoch 348 , train_step_loss:0.00437 , test_step_loss:0.00638 , test_full_loss:0.00712 -Epoch 349 , train_step_loss:0.00434 , test_step_loss:0.00631 , test_full_loss:0.00706 -Epoch 350 , train_step_loss:0.00434 , test_step_loss:0.00556 , test_full_loss:0.00623 -Epoch 351 , train_step_loss:0.00431 , test_step_loss:0.00533 , test_full_loss:0.00602 -Epoch 352 , train_step_loss:0.00427 , test_step_loss:0.00582 , test_full_loss:0.00653 -Epoch 353 , train_step_loss:0.00423 , test_step_loss:0.00588 , test_full_loss:0.00652 -Epoch 354 , train_step_loss:0.00426 , test_step_loss:0.00522 , test_full_loss:0.00586 -Epoch 355 , train_step_loss:0.00425 , test_step_loss:0.00561 , test_full_loss:0.00634 -Epoch 356 , train_step_loss:0.00420 , test_step_loss:0.00522 , test_full_loss:0.00584 -Epoch 357 , train_step_loss:0.00420 , test_step_loss:0.00534 , test_full_loss:0.00593 -Epoch 358 , train_step_loss:0.00416 , test_step_loss:0.00523 , test_full_loss:0.00590 -Epoch 359 , train_step_loss:0.00420 , test_step_loss:0.00594 , test_full_loss:0.00663 -Epoch 360 , train_step_loss:0.00414 , test_step_loss:0.00513 , test_full_loss:0.00576 -Epoch 361 , train_step_loss:0.00408 , test_step_loss:0.00738 , test_full_loss:0.00797 -Epoch 362 , train_step_loss:0.00411 , test_step_loss:0.00555 , test_full_loss:0.00616 -Epoch 363 , train_step_loss:0.00412 , test_step_loss:0.00563 , test_full_loss:0.00628 -Epoch 364 , train_step_loss:0.00408 , test_step_loss:0.00507 , test_full_loss:0.00572 -Epoch 365 , train_step_loss:0.00412 , test_step_loss:0.00562 , test_full_loss:0.00621 -Epoch 366 , train_step_loss:0.00404 , test_step_loss:0.00546 , test_full_loss:0.00605 -Epoch 367 , train_step_loss:0.00403 , test_step_loss:0.00553 , test_full_loss:0.00600 -Epoch 368 , train_step_loss:0.00401 , test_step_loss:0.00498 , test_full_loss:0.00562 -Epoch 369 , train_step_loss:0.00404 , test_step_loss:0.00459 , test_full_loss:0.00512 -Epoch 370 , train_step_loss:0.00400 , test_step_loss:0.00498 , test_full_loss:0.00556 -Epoch 371 , train_step_loss:0.00401 , test_step_loss:0.00505 , test_full_loss:0.00560 -Epoch 372 , train_step_loss:0.00397 , test_step_loss:0.00507 , test_full_loss:0.00568 -Epoch 373 , train_step_loss:0.00400 , test_step_loss:0.00517 , test_full_loss:0.00586 -Epoch 374 , train_step_loss:0.00394 , test_step_loss:0.00458 , test_full_loss:0.00508 -Epoch 375 , train_step_loss:0.00397 , test_step_loss:0.00575 , test_full_loss:0.00632 -Epoch 376 , train_step_loss:0.00395 , test_step_loss:0.00528 , test_full_loss:0.00587 -Epoch 377 , train_step_loss:0.00391 , test_step_loss:0.00493 , test_full_loss:0.00549 -Epoch 378 , train_step_loss:0.00387 , test_step_loss:0.00496 , test_full_loss:0.00560 -Epoch 379 , train_step_loss:0.00388 , test_step_loss:0.00487 , test_full_loss:0.00534 -Epoch 380 , train_step_loss:0.00386 , test_step_loss:0.00486 , test_full_loss:0.00541 -Epoch 381 , train_step_loss:0.00382 , test_step_loss:0.00454 , test_full_loss:0.00506 -Epoch 382 , train_step_loss:0.00384 , test_step_loss:0.00477 , test_full_loss:0.00533 -Epoch 383 , train_step_loss:0.00382 , test_step_loss:0.00436 , test_full_loss:0.00482 -Epoch 384 , train_step_loss:0.00384 , test_step_loss:0.00502 , test_full_loss:0.00548 -Epoch 385 , train_step_loss:0.00386 , test_step_loss:0.00515 , test_full_loss:0.00569 -Epoch 386 , train_step_loss:0.00379 , test_step_loss:0.00469 , test_full_loss:0.00521 -Epoch 387 , train_step_loss:0.00378 , test_step_loss:0.00455 , test_full_loss:0.00510 -Epoch 388 , train_step_loss:0.00375 , test_step_loss:0.00483 , test_full_loss:0.00537 -Epoch 389 , train_step_loss:0.00379 , test_step_loss:0.00497 , test_full_loss:0.00542 -Epoch 390 , train_step_loss:0.00372 , test_step_loss:0.00496 , test_full_loss:0.00554 -Epoch 391 , train_step_loss:0.00376 , test_step_loss:0.00464 , test_full_loss:0.00517 -Epoch 392 , train_step_loss:0.00372 , test_step_loss:0.00468 , test_full_loss:0.00520 -Epoch 393 , train_step_loss:0.00368 , test_step_loss:0.00514 , test_full_loss:0.00564 -Epoch 394 , train_step_loss:0.00371 , test_step_loss:0.00467 , test_full_loss:0.00515 -Epoch 395 , train_step_loss:0.00365 , test_step_loss:0.00431 , test_full_loss:0.00480 -Epoch 396 , train_step_loss:0.00368 , test_step_loss:0.00484 , test_full_loss:0.00531 -Epoch 397 , train_step_loss:0.00363 , test_step_loss:0.00491 , test_full_loss:0.00543 -Epoch 398 , train_step_loss:0.00361 , test_step_loss:0.00423 , test_full_loss:0.00467 -Epoch 399 , train_step_loss:0.00361 , test_step_loss:0.00435 , test_full_loss:0.00485 -Epoch 400 , train_step_loss:0.00359 , test_step_loss:0.00443 , test_full_loss:0.00489 -save model -Epoch 401 , train_step_loss:0.00360 , test_step_loss:0.00461 , test_full_loss:0.00516 -Epoch 402 , train_step_loss:0.00356 , test_step_loss:0.00460 , test_full_loss:0.00508 -Epoch 403 , train_step_loss:0.00353 , test_step_loss:0.00461 , test_full_loss:0.00511 -Epoch 404 , train_step_loss:0.00356 , test_step_loss:0.00442 , test_full_loss:0.00483 -Epoch 405 , train_step_loss:0.00352 , test_step_loss:0.00476 , test_full_loss:0.00531 -Epoch 406 , train_step_loss:0.00350 , test_step_loss:0.00468 , test_full_loss:0.00520 -Epoch 407 , train_step_loss:0.00348 , test_step_loss:0.00436 , test_full_loss:0.00477 -Epoch 408 , train_step_loss:0.00348 , test_step_loss:0.00417 , test_full_loss:0.00464 -Epoch 409 , train_step_loss:0.00351 , test_step_loss:0.00411 , test_full_loss:0.00458 -Epoch 410 , train_step_loss:0.00343 , test_step_loss:0.00422 , test_full_loss:0.00470 -Epoch 411 , train_step_loss:0.00342 , test_step_loss:0.00439 , test_full_loss:0.00487 -Epoch 412 , train_step_loss:0.00345 , test_step_loss:0.00400 , test_full_loss:0.00441 -Epoch 413 , train_step_loss:0.00342 , test_step_loss:0.00450 , test_full_loss:0.00495 -Epoch 414 , train_step_loss:0.00341 , test_step_loss:0.00458 , test_full_loss:0.00508 -Epoch 415 , train_step_loss:0.00341 , test_step_loss:0.00414 , test_full_loss:0.00454 -Epoch 416 , train_step_loss:0.00338 , test_step_loss:0.00392 , test_full_loss:0.00433 -Epoch 417 , train_step_loss:0.00337 , test_step_loss:0.00411 , test_full_loss:0.00457 -Epoch 418 , train_step_loss:0.00335 , test_step_loss:0.00439 , test_full_loss:0.00481 -Epoch 419 , train_step_loss:0.00333 , test_step_loss:0.00422 , test_full_loss:0.00473 -Epoch 420 , train_step_loss:0.00332 , test_step_loss:0.00377 , test_full_loss:0.00418 -Epoch 421 , train_step_loss:0.00332 , test_step_loss:0.00390 , test_full_loss:0.00440 -Epoch 422 , train_step_loss:0.00330 , test_step_loss:0.00407 , test_full_loss:0.00447 -Epoch 423 , train_step_loss:0.00330 , test_step_loss:0.00445 , test_full_loss:0.00490 -Epoch 424 , train_step_loss:0.00329 , test_step_loss:0.00411 , test_full_loss:0.00456 -Epoch 425 , train_step_loss:0.00326 , test_step_loss:0.00398 , test_full_loss:0.00439 -Epoch 426 , train_step_loss:0.00326 , test_step_loss:0.00400 , test_full_loss:0.00445 -Epoch 427 , train_step_loss:0.00324 , test_step_loss:0.00418 , test_full_loss:0.00470 -Epoch 428 , train_step_loss:0.00325 , test_step_loss:0.00400 , test_full_loss:0.00443 -Epoch 429 , train_step_loss:0.00320 , test_step_loss:0.00414 , test_full_loss:0.00458 -Epoch 430 , train_step_loss:0.00324 , test_step_loss:0.00420 , test_full_loss:0.00462 -Epoch 431 , train_step_loss:0.00323 , test_step_loss:0.00393 , test_full_loss:0.00438 -Epoch 432 , train_step_loss:0.00321 , test_step_loss:0.00401 , test_full_loss:0.00450 -Epoch 433 , train_step_loss:0.00319 , test_step_loss:0.00397 , test_full_loss:0.00444 -Epoch 434 , train_step_loss:0.00320 , test_step_loss:0.00370 , test_full_loss:0.00411 -Epoch 435 , train_step_loss:0.00315 , test_step_loss:0.00411 , test_full_loss:0.00453 -Epoch 436 , train_step_loss:0.00316 , test_step_loss:0.00478 , test_full_loss:0.00528 -Epoch 437 , train_step_loss:0.00317 , test_step_loss:0.00356 , test_full_loss:0.00396 -Epoch 438 , train_step_loss:0.00314 , test_step_loss:0.00377 , test_full_loss:0.00418 -Epoch 439 , train_step_loss:0.00315 , test_step_loss:0.00362 , test_full_loss:0.00400 -Epoch 440 , train_step_loss:0.00313 , test_step_loss:0.00422 , test_full_loss:0.00457 -Epoch 441 , train_step_loss:0.00314 , test_step_loss:0.00350 , test_full_loss:0.00388 -Epoch 442 , train_step_loss:0.00310 , test_step_loss:0.00394 , test_full_loss:0.00433 -Epoch 443 , train_step_loss:0.00307 , test_step_loss:0.00357 , test_full_loss:0.00398 -Epoch 444 , train_step_loss:0.00308 , test_step_loss:0.00364 , test_full_loss:0.00401 -Epoch 445 , train_step_loss:0.00309 , test_step_loss:0.00357 , test_full_loss:0.00395 -Epoch 446 , train_step_loss:0.00307 , test_step_loss:0.00369 , test_full_loss:0.00410 -Epoch 447 , train_step_loss:0.00306 , test_step_loss:0.00346 , test_full_loss:0.00382 -Epoch 448 , train_step_loss:0.00308 , test_step_loss:0.00365 , test_full_loss:0.00407 -Epoch 449 , train_step_loss:0.00305 , test_step_loss:0.00371 , test_full_loss:0.00413 -Epoch 450 , train_step_loss:0.00304 , test_step_loss:0.00342 , test_full_loss:0.00378 -Epoch 451 , train_step_loss:0.00301 , test_step_loss:0.00345 , test_full_loss:0.00379 -Epoch 452 , train_step_loss:0.00299 , test_step_loss:0.00325 , test_full_loss:0.00359 -Epoch 453 , train_step_loss:0.00301 , test_step_loss:0.00354 , test_full_loss:0.00394 -Epoch 454 , train_step_loss:0.00300 , test_step_loss:0.00350 , test_full_loss:0.00388 -Epoch 455 , train_step_loss:0.00299 , test_step_loss:0.00364 , test_full_loss:0.00402 -Epoch 456 , train_step_loss:0.00298 , test_step_loss:0.00376 , test_full_loss:0.00409 -Epoch 457 , train_step_loss:0.00298 , test_step_loss:0.00337 , test_full_loss:0.00369 -Epoch 458 , train_step_loss:0.00298 , test_step_loss:0.00350 , test_full_loss:0.00387 -Epoch 459 , train_step_loss:0.00296 , test_step_loss:0.00382 , test_full_loss:0.00414 -Epoch 460 , train_step_loss:0.00296 , test_step_loss:0.00340 , test_full_loss:0.00377 -Epoch 461 , train_step_loss:0.00295 , test_step_loss:0.00378 , test_full_loss:0.00412 -Epoch 462 , train_step_loss:0.00294 , test_step_loss:0.00344 , test_full_loss:0.00375 -Epoch 463 , train_step_loss:0.00294 , test_step_loss:0.00319 , test_full_loss:0.00353 -Epoch 464 , train_step_loss:0.00294 , test_step_loss:0.00332 , test_full_loss:0.00361 -Epoch 465 , train_step_loss:0.00292 , test_step_loss:0.00328 , test_full_loss:0.00364 -Epoch 466 , train_step_loss:0.00292 , test_step_loss:0.00321 , test_full_loss:0.00353 -Epoch 467 , train_step_loss:0.00291 , test_step_loss:0.00337 , test_full_loss:0.00373 -Epoch 468 , train_step_loss:0.00292 , test_step_loss:0.00337 , test_full_loss:0.00377 -Epoch 469 , train_step_loss:0.00289 , test_step_loss:0.00343 , test_full_loss:0.00381 -Epoch 470 , train_step_loss:0.00289 , test_step_loss:0.00348 , test_full_loss:0.00381 -Epoch 471 , train_step_loss:0.00289 , test_step_loss:0.00326 , test_full_loss:0.00361 -Epoch 472 , train_step_loss:0.00289 , test_step_loss:0.00335 , test_full_loss:0.00373 -Epoch 473 , train_step_loss:0.00289 , test_step_loss:0.00329 , test_full_loss:0.00365 -Epoch 474 , train_step_loss:0.00286 , test_step_loss:0.00330 , test_full_loss:0.00364 -Epoch 475 , train_step_loss:0.00286 , test_step_loss:0.00326 , test_full_loss:0.00361 -Epoch 476 , train_step_loss:0.00286 , test_step_loss:0.00349 , test_full_loss:0.00386 -Epoch 477 , train_step_loss:0.00286 , test_step_loss:0.00319 , test_full_loss:0.00354 -Epoch 478 , train_step_loss:0.00285 , test_step_loss:0.00316 , test_full_loss:0.00351 -Epoch 479 , train_step_loss:0.00285 , test_step_loss:0.00322 , test_full_loss:0.00356 -Epoch 480 , train_step_loss:0.00282 , test_step_loss:0.00339 , test_full_loss:0.00374 -Epoch 481 , train_step_loss:0.00284 , test_step_loss:0.00353 , test_full_loss:0.00386 -Epoch 482 , train_step_loss:0.00283 , test_step_loss:0.00317 , test_full_loss:0.00351 -Epoch 483 , train_step_loss:0.00284 , test_step_loss:0.00315 , test_full_loss:0.00347 -Epoch 484 , train_step_loss:0.00281 , test_step_loss:0.00322 , test_full_loss:0.00357 -Epoch 485 , train_step_loss:0.00283 , test_step_loss:0.00309 , test_full_loss:0.00342 -Epoch 486 , train_step_loss:0.00283 , test_step_loss:0.00309 , test_full_loss:0.00343 -Epoch 487 , train_step_loss:0.00281 , test_step_loss:0.00332 , test_full_loss:0.00367 -Epoch 488 , train_step_loss:0.00281 , test_step_loss:0.00321 , test_full_loss:0.00354 -Epoch 489 , train_step_loss:0.00281 , test_step_loss:0.00327 , test_full_loss:0.00358 -Epoch 490 , train_step_loss:0.00281 , test_step_loss:0.00304 , test_full_loss:0.00335 -Epoch 491 , train_step_loss:0.00279 , test_step_loss:0.00309 , test_full_loss:0.00343 -Epoch 492 , train_step_loss:0.00280 , test_step_loss:0.00319 , test_full_loss:0.00353 -Epoch 493 , train_step_loss:0.00281 , test_step_loss:0.00324 , test_full_loss:0.00351 -Epoch 494 , train_step_loss:0.00278 , test_step_loss:0.00309 , test_full_loss:0.00343 -Epoch 495 , train_step_loss:0.00277 , test_step_loss:0.00303 , test_full_loss:0.00334 -Epoch 496 , train_step_loss:0.00276 , test_step_loss:0.00314 , test_full_loss:0.00346 -Epoch 497 , train_step_loss:0.00276 , test_step_loss:0.00313 , test_full_loss:0.00346 -Epoch 498 , train_step_loss:0.00277 , test_step_loss:0.00295 , test_full_loss:0.00329 -Epoch 499 , train_step_loss:0.00276 , test_step_loss:0.00300 , test_full_loss:0.00332 -save model diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Embedding.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Embedding.py deleted file mode 100644 index 566f6305cd..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Embedding.py +++ /dev/null @@ -1,80 +0,0 @@ -import paddle -import math -from einops import rearrange - - -class RotaryEmbedding(paddle.nn.Layer): - - def __init__(self, dim, min_freq=1 / 2, scale=1.0): - super().__init__() - inv_freq = 1.0 / 10000 ** (paddle.arange(start=0, end=dim, step=2). - astype(dtype='float32') / dim) - self.min_freq = min_freq - self.scale = scale - self.register_buffer(name='inv_freq', tensor=inv_freq) - - def forward(self, coordinates, device): - t = coordinates.to(device).astype(dtype=self.inv_freq.dtype) - t = t * (self.scale / self.min_freq) - freqs = paddle.einsum('... i , j -> ... i j', t, self.inv_freq) - return paddle.concat(x=(freqs, freqs), axis=-1) - - -def rotate_half(x): - x = rearrange(x, '... (j d) -> ... j d', j=2) - x1, x2 = x.unbind(axis=-2) - return paddle.concat(x=(-x2, x1), axis=-1) - - -def apply_rotary_pos_emb(t, freqs): - return t * freqs.cos() + rotate_half(t) * freqs.sin() - - -def apply_2d_rotary_pos_emb(t, freqs_x, freqs_y): - d = tuple(t.shape)[-1] - t_x, t_y = t[..., :d // 2], t[..., d // 2:] - return paddle.concat(x=(apply_rotary_pos_emb(t_x, freqs_x), - apply_rotary_pos_emb(t_y, freqs_y)), axis=-1) - - -class PositionalEncoding(paddle.nn.Layer): - """Implement the PE function.""" - - def __init__(self, d_model, dropout, max_len=421 * 421): - super(PositionalEncoding, self).__init__() - self.dropout = paddle.nn.Dropout(p=dropout) - pe = paddle.zeros(shape=[max_len, d_model]) - position = paddle.arange(start=0, end=max_len).unsqueeze(axis=1) - div_term = paddle.exp(x=paddle.arange(start=0, end=d_model, step=2) * - -(math.log(10000.0) / d_model)) - pe[:, 0::2] = paddle.sin(x=position * div_term) - pe[:, 1::2] = paddle.cos(x=position * div_term) - pe = pe.unsqueeze(axis=0) - self.register_buffer(name='pe', tensor=pe) - - def forward(self, x): - out_0 = self.pe[:, :x.shape[1]] - out_0.stop_gradient = not False - x = x + out_0 - return self.dropout(x) - - -def timestep_embedding(timesteps, dim, max_period=10000, repeat_only=False): - """ - Create sinusoidal timestep embeddings. - :param timesteps: a 1-D Tensor of N indices, one per batch element. - These may be fractional. - :param dim: the dimension of the output. - :param max_period: controls the minimum frequency of the embeddings. - :return: an [N x dim] Tensor of positional embeddings. - """ - half = dim // 2 - freqs = paddle.exp(x=-math.log(max_period) * paddle.arange(start=0, end - =half, dtype='float32') / half) - args = timesteps[:, None].astype(dtype='float32') * freqs[None] - embedding = paddle.concat(x=[paddle.cos(x=args), paddle.sin(x=args)], - axis=-1) - if dim % 2: - embedding = paddle.concat(x=[embedding, paddle.zeros_like(x= - embedding[:, :1])], axis=-1) - return embedding diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Physics_Attention.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Physics_Attention.py deleted file mode 100644 index 79ab672970..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Physics_Attention.py +++ /dev/null @@ -1,191 +0,0 @@ -import sys -# sys.path.append('../../utils') -from utils import paddle_aux -import paddle -from einops import rearrange, repeat - - -class Physics_Attention_Irregular_Mesh(paddle.nn.Layer): - - def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64): - super().__init__() - inner_dim = dim_head * heads - self.dim_head = dim_head - self.heads = heads - self.scale = dim_head ** -0.5 - self.softmax = paddle.nn.Softmax(axis=-1) - self.dropout = paddle.nn.Dropout(p=dropout) - self.temperature = paddle.base.framework.EagerParamBase.from_tensor( - tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) - self.in_project_x = paddle.nn.Linear(in_features=dim, out_features= - inner_dim) - self.in_project_fx = paddle.nn.Linear(in_features=dim, out_features - =inner_dim) - self.in_project_slice = paddle.nn.Linear(in_features=dim_head, - out_features=slice_num) - for l in [self.in_project_slice]: - init_Orthogonal = paddle.nn.initializer.Orthogonal() - init_Orthogonal(l.weight) - self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= - inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) - - def forward(self, x): - B, N, C = tuple(x.shape) - fx_mid = self.in_project_fx(x).reshape(B, N, self.heads, self.dim_head - ).transpose(perm=[0, 2, 1, 3]).contiguous() - x_mid = self.in_project_x(x).reshape(B, N, self.heads, self.dim_head - ).transpose(perm=[0, 2, 1, 3]).contiguous() - slice_weights = self.softmax(self.in_project_slice(x_mid) / self. - temperature) - slice_norm = slice_weights.sum(axis=2) - slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) - slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( - repeat_times=[1, 1, 1, self.dim_head]) - q_slice_token = self.to_q(slice_token) - k_slice_token = self.to_k(slice_token) - v_slice_token = self.to_v(slice_token) - dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( - perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) - ) * self.scale - attn = self.softmax(dots) - attn = self.dropout(attn) - out_slice_token = paddle.matmul(x=attn, y=v_slice_token) - out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights - ) - out_x = rearrange(out_x, 'b h n d -> b n (h d)') - return self.to_out(out_x) - - -class Physics_Attention_Structured_Mesh_2D(paddle.nn.Layer): - - def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64, - H=101, W=31, kernel=3): - super().__init__() - inner_dim = dim_head * heads - self.dim_head = dim_head - self.heads = heads - self.scale = dim_head ** -0.5 - self.softmax = paddle.nn.Softmax(axis=-1) - self.dropout = paddle.nn.Dropout(p=dropout) - self.temperature = paddle.base.framework.EagerParamBase.from_tensor( - tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) - self.H = H - self.W = W - self.in_project_x = paddle.nn.Conv2D(in_channels=dim, out_channels= - inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) - self.in_project_fx = paddle.nn.Conv2D(in_channels=dim, out_channels - =inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) - self.in_project_slice = paddle.nn.Linear(in_features=dim_head, - out_features=slice_num) - for l in [self.in_project_slice]: - init_Orthogonal = paddle.nn.initializer.Orthogonal() - init_Orthogonal(l.weight) - self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= - inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) - - def forward(self, x): - B, N, C = tuple(x.shape) - x = x.reshape(B, self.H, self.W, C).contiguous().transpose(perm=[0, - 3, 1, 2]).contiguous() - fx_mid = self.in_project_fx(x).transpose(perm=[0, 2, 3, 1]).contiguous( - ).reshape(B, N, self.heads, self.dim_head).transpose(perm=[0, 2, - 1, 3]).contiguous() - x_mid = self.in_project_x(x).transpose(perm=[0, 2, 3, 1]).contiguous( - ).reshape(B, N, self.heads, self.dim_head).transpose(perm=[0, 2, - 1, 3]).contiguous() - slice_weights = self.softmax(self.in_project_slice(x_mid) / paddle. - clip(x=self.temperature, min=0.1, max=5)) - slice_norm = slice_weights.sum(axis=2) - slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) - slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( - repeat_times=[1, 1, 1, self.dim_head]) - q_slice_token = self.to_q(slice_token) - k_slice_token = self.to_k(slice_token) - v_slice_token = self.to_v(slice_token) - dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( - perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) - ) * self.scale - attn = self.softmax(dots) - attn = self.dropout(attn) - out_slice_token = paddle.matmul(x=attn, y=v_slice_token) - out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights - ) - out_x = rearrange(out_x, 'b h n d -> b n (h d)') - return self.to_out(out_x) - - -class Physics_Attention_Structured_Mesh_3D(paddle.nn.Layer): - - def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=32, - H=32, W=32, D=32, kernel=3): - super().__init__() - inner_dim = dim_head * heads - self.dim_head = dim_head - self.heads = heads - self.scale = dim_head ** -0.5 - self.softmax = paddle.nn.Softmax(axis=-1) - self.dropout = paddle.nn.Dropout(p=dropout) - self.temperature = paddle.base.framework.EagerParamBase.from_tensor( - tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) - self.H = H - self.W = W - self.D = D - self.in_project_x = paddle.nn.Conv3D(in_channels=dim, out_channels= - inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) - self.in_project_fx = paddle.nn.Conv3D(in_channels=dim, out_channels - =inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) - self.in_project_slice = paddle.nn.Linear(in_features=dim_head, - out_features=slice_num) - for l in [self.in_project_slice]: - init_Orthogonal = paddle.nn.initializer.Orthogonal() - init_Orthogonal(l.weight) - self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= - inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) - - def forward(self, x): - B, N, C = tuple(x.shape) - x = x.reshape(B, self.H, self.W, self.D, C).contiguous().transpose(perm - =[0, 4, 1, 2, 3]).contiguous() - fx_mid = self.in_project_fx(x).transpose(perm=[0, 2, 3, 4, 1] - ).contiguous().reshape(B, N, self.heads, self.dim_head).transpose( - perm=[0, 2, 1, 3]).contiguous() - x_mid = self.in_project_x(x).transpose(perm=[0, 2, 3, 4, 1] - ).contiguous().reshape(B, N, self.heads, self.dim_head).transpose( - perm=[0, 2, 1, 3]).contiguous() - slice_weights = self.softmax(self.in_project_slice(x_mid) / paddle. - clip(x=self.temperature, min=0.1, max=5)) - slice_norm = slice_weights.sum(axis=2) - slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) - slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( - repeat_times=[1, 1, 1, self.dim_head]) - q_slice_token = self.to_q(slice_token) - k_slice_token = self.to_k(slice_token) - v_slice_token = self.to_v(slice_token) - dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( - perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) - ) * self.scale - attn = self.softmax(dots) - attn = self.dropout(attn) - out_slice_token = paddle.matmul(x=attn, y=v_slice_token) - out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights - ) - out_x = rearrange(out_x, 'b h n d -> b n (h d)') - return self.to_out(out_x) diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Irregular_Mesh.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Irregular_Mesh.py deleted file mode 100644 index eb0badfe98..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Irregular_Mesh.py +++ /dev/null @@ -1,160 +0,0 @@ -import sys -# sys.path.append('../../utils') -from utils import paddle_aux -import paddle -from paddle.nn.initializer import TruncatedNormal, Constant -from model.Embedding import timestep_embedding -import numpy as np -from model.Physics_Attention import Physics_Attention_Irregular_Mesh -ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': - paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. - LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': - paddle.nn.ELU, 'silu': paddle.nn.Silu} - - -class MLP(paddle.nn.Layer): - - def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', - res=True): - super(MLP, self).__init__() - if act in ACTIVATION.keys(): - act = ACTIVATION[act] - else: - raise NotImplementedError - self.n_input = n_input - self.n_hidden = n_hidden - self.n_output = n_output - self.n_layers = n_layers - self.res = res - self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features - =n_input, out_features=n_hidden), act()) - self.linear_post = paddle.nn.Linear(in_features=n_hidden, - out_features=n_output) - self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), - act()) for _ in range(n_layers)]) - - def forward(self, x): - x = self.linear_pre(x) - for i in range(self.n_layers): - if self.res: - x = self.linears[i](x) + x - else: - x = self.linears[i](x) - x = self.linear_post(x) - return x - - -class Transolver_block(paddle.nn.Layer): - """Transformer encoder block.""" - - def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act - ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32): - super().__init__() - self.last_layer = last_layer - self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.Attn = Physics_Attention_Irregular_Mesh(hidden_dim, heads= - num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, - slice_num=slice_num) - self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, - n_layers=0, res=False, act=act) - if self.last_layer: - self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, - out_features=out_dim) - - def forward(self, fx): - fx = self.Attn(self.ln_1(fx)) + fx - fx = self.mlp(self.ln_2(fx)) + fx - if self.last_layer: - return self.mlp2(self.ln_3(fx)) - else: - return fx - - -class Model(paddle.nn.Layer): - - def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0.0, - n_head=8, Time_Input=False, act='gelu', mlp_ratio=1, fun_dim=1, - out_dim=1, slice_num=32, ref=8, unified_pos=False): - super(Model, self).__init__() - self.__name__ = 'Transolver_1D' - self.ref = ref - self.unified_pos = unified_pos - self.Time_Input = Time_Input - self.n_hidden = n_hidden - self.space_dim = space_dim - if self.unified_pos: - self.preprocess = MLP(fun_dim + self.ref * self.ref, n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) - else: - self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) - if Time_Input: - self.time_fc = paddle.nn.Sequential( - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), - paddle.nn.Silu(), - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden) - ) - self.blocks = paddle.nn.LayerList([ - Transolver_block( - num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, - mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, - last_layer=_ == n_layers - 1 - ) for _ in range(n_layers) - ]) - self.initialize_weights() - self.placeholder = paddle.create_parameter( - shape=[n_hidden], dtype='float32', - default_initializer=paddle.nn.initializer.Assign(1 / n_hidden * paddle.rand([n_hidden])) - ) - - def initialize_weights(self): - self.apply(self._init_weights) - - def _init_weights(self, m): - if isinstance(m, paddle.nn.Linear): - trunc_normal = TruncatedNormal(mean=0.0, std=0.02) - trunc_normal(m.weight) - if m.bias is not None: - constant = Constant(value=0.0) - constant(m.bias) - elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): - constant = Constant(value=0.0) - constant(m.bias) - constant = Constant(value=1.0) - constant(m.weight) - - - def get_grid(self, x, batchsize=1): - gridx = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= - 'float32') - gridx = gridx.reshape(1, self.ref, 1, 1).tile(repeat_times=[ - batchsize, 1, self.ref, 1]) - gridy = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= - 'float32') - gridy = gridy.reshape(1, 1, self.ref, 1).tile(repeat_times=[ - batchsize, self.ref, 1, 1]) - grid_ref = paddle.concat(x=(gridx, gridy), axis=-1).cuda(blocking=True - ).reshape(batchsize, self.ref * self.ref, 2) - pos = paddle.sqrt(x=paddle.sum(x=(x[:, :, None, :] - grid_ref[:, - None, :, :]) ** 2, axis=-1)).reshape(batchsize, tuple(x.shape)[ - 1], self.ref * self.ref).contiguous() - return pos - - def forward(self, x, fx, T=None): - if self.unified_pos: - x = self.get_grid(x, tuple(x.shape)[0]) - if fx is not None: - fx = paddle.concat(x=(x, fx), axis=-1) - fx = self.preprocess(fx) - else: - fx = self.preprocess(x) - fx = fx + self.placeholder[None, None, :] - if T is not None: - Time_emb = timestep_embedding(T, self.n_hidden).repeat(1, tuple - (x.shape)[1], 1) - Time_emb = self.time_fc(Time_emb) - fx = fx + Time_emb - for block in self.blocks: - fx = block(fx) - return fx diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_2D.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_2D.py deleted file mode 100644 index c294b4d142..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_2D.py +++ /dev/null @@ -1,184 +0,0 @@ -import sys - -from utils import paddle_aux -import paddle -from paddle.nn.initializer import TruncatedNormal, Constant -import numpy as np -from model.Embedding import timestep_embedding -from model.Physics_Attention import Physics_Attention_Structured_Mesh_2D - -ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': - paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. - LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': - paddle.nn.ELU, 'silu': paddle.nn.Silu} - - -class MLP(paddle.nn.Layer): - - def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', - res=True): - super(MLP, self).__init__() - if act in ACTIVATION.keys(): - act = ACTIVATION[act] - else: - raise NotImplementedError - self.n_input = n_input - self.n_hidden = n_hidden - self.n_output = n_output - self.n_layers = n_layers - self.res = res - self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features - =n_input, out_features=n_hidden), act()) - self.linear_post = paddle.nn.Linear(in_features=n_hidden, - out_features=n_output) - self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), - act()) for _ in range(n_layers)]) - - def forward(self, x): - x = self.linear_pre(x) - for i in range(self.n_layers): - if self.res: - x = self.linears[i](x) + x - else: - x = self.linears[i](x) - x = self.linear_post(x) - return x - - -class Transolver_block(paddle.nn.Layer): - """Transformer encoder block.""" - - def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act - ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32, H= - 85, W=85): - super().__init__() - self.last_layer = last_layer - self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.Attn = Physics_Attention_Structured_Mesh_2D(hidden_dim, heads= - num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, - slice_num=slice_num, H=H, W=W) - self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, - n_layers=0, res=False, act=act) - if self.last_layer: - self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, - out_features=out_dim) - - def forward(self, fx): - fx = self.Attn(self.ln_1(fx)) + fx - fx = self.mlp(self.ln_2(fx)) + fx - if self.last_layer: - return self.mlp2(self.ln_3(fx)) - else: - return fx - - -class Model(paddle.nn.Layer): - - def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0.0, - n_head=8, Time_Input=False, act='gelu', mlp_ratio=1, fun_dim=1, - out_dim=1, slice_num=32, ref=8, unified_pos=False, H=85, W=85): - super(Model, self).__init__() - self.__name__ = 'Transolver_2D' - self.H = H - self.W = W - self.ref = ref - self.unified_pos = unified_pos - if self.unified_pos: - self.pos = self.get_grid() - self.preprocess = MLP(fun_dim + self.ref * self.ref, n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) - else: - self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) - self.Time_Input = Time_Input - self.n_hidden = n_hidden - self.space_dim = space_dim - if Time_Input: - self.time_fc = paddle.nn.Sequential( - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), - paddle.nn.Silu(), - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden) - ) - self.blocks = paddle.nn.LayerList([ - Transolver_block( - num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, - mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, H=H, - W=W, last_layer=_ == n_layers - 1 - ) for _ in range(n_layers) - ]) - self.initialize_weights() - self.placeholder = paddle.create_parameter( - shape=[n_hidden], dtype='float32', - default_initializer=paddle.nn.initializer.Assign(1 / n_hidden * paddle.rand([n_hidden])) - ) - - def initialize_weights(self): - self.apply(self._init_weights) - - def _init_weights(self, m): - if isinstance(m, paddle.nn.Linear): - trunc_normal = TruncatedNormal(mean=0.0, std=0.02) - trunc_normal(m.weight) - if m.bias is not None: - constant = Constant(value=0.0) - constant(m.bias) - elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): - constant = Constant(value=0.0) - constant(m.bias) - constant = Constant(value=1.0) - constant(m.weight) - - def get_grid(self): - # 获取网格位置信息 - h = paddle.arange(0, self.H, dtype='float32') - w = paddle.arange(0, self.W, dtype='float32') - grid = paddle.meshgrid(h, w) - grid = paddle.stack(grid, axis=-1) - grid = grid.reshape([1, -1, 2]) - return grid - - def get_grid(self, batchsize=1): - size_x, size_y = self.H, self.W - gridx = paddle.to_tensor(data=np.linspace(0, 1, size_x), dtype= - 'float32') - gridx = gridx.reshape(1, size_x, 1, 1).tile(repeat_times=[batchsize, - 1, size_y, 1]) - gridy = paddle.to_tensor(data=np.linspace(0, 1, size_y), dtype= - 'float32') - gridy = gridy.reshape(1, 1, size_y, 1).tile(repeat_times=[batchsize, - size_x, 1, 1]) - grid = paddle.concat(x=(gridx, gridy), axis=-1).cuda(blocking=True) - gridx = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= - 'float32') - gridx = gridx.reshape(1, self.ref, 1, 1).tile(repeat_times=[ - batchsize, 1, self.ref, 1]) - gridy = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= - 'float32') - gridy = gridy.reshape(1, 1, self.ref, 1).tile(repeat_times=[ - batchsize, self.ref, 1, 1]) - grid_ref = paddle.concat(x=(gridx, gridy), axis=-1).cuda(blocking=True) - pos = paddle.sqrt(x=paddle.sum(x=(grid[:, :, :, None, None, :] - - grid_ref[:, None, None, :, :, :]) ** 2, axis=-1)).reshape(batchsize - , size_x, size_y, - self.ref * self.ref).contiguous() - return pos - - def forward(self, x, fx, T=None): - if self.unified_pos: - x = self.pos.tile(repeat_times=[tuple(x.shape)[0], 1, 1, 1] - ).reshape(tuple(x.shape)[0], self.H * self.W, self.ref * - self.ref) - if fx is not None: - fx = paddle.concat(x=(x, fx), axis=-1) - fx = self.preprocess(fx) - else: - fx = self.preprocess(x) - fx = fx + self.placeholder[None, None, :] - if T is not None: - Time_emb = paddle.tile(timestep_embedding(T, self.n_hidden), repeat_times=[1, x.shape[1], 1]) - Time_emb = self.time_fc(Time_emb) - fx = fx + Time_emb - for block in self.blocks: - fx = block(fx) - return fx diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_3D.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_3D.py deleted file mode 100644 index fcb68d76d0..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model/Transolver_Structured_Mesh_3D.py +++ /dev/null @@ -1,192 +0,0 @@ -import sys -# sys.path.append('../../utils') -from utils import paddle_aux -import paddle -import numpy as np -from paddle.nn.initializer import TruncatedNormal, Constant -from model.Embedding import timestep_embedding -from model.Physics_Attention import Physics_Attention_Structured_Mesh_3D -ACTIVATION = {'gelu': paddle.nn.GELU, 'tanh': paddle.nn.Tanh, 'sigmoid': - paddle.nn.Sigmoid, 'relu': paddle.nn.ReLU, 'leaky_relu': paddle.nn. - LeakyReLU(negative_slope=0.1), 'softplus': paddle.nn.Softplus, 'ELU': - paddle.nn.ELU, 'silu': paddle.nn.Silu} - - -class MLP(paddle.nn.Layer): - - def __init__(self, n_input, n_hidden, n_output, n_layers=1, act='gelu', - res=True): - super(MLP, self).__init__() - if act in ACTIVATION.keys(): - act = ACTIVATION[act] - else: - raise NotImplementedError - self.n_input = n_input - self.n_hidden = n_hidden - self.n_output = n_output - self.n_layers = n_layers - self.res = res - self.linear_pre = paddle.nn.Sequential(paddle.nn.Linear(in_features - =n_input, out_features=n_hidden), act()) - self.linear_post = paddle.nn.Linear(in_features=n_hidden, - out_features=n_output) - self.linears = paddle.nn.LayerList(sublayers=[paddle.nn.Sequential( - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), - act()) for _ in range(n_layers)]) - - def forward(self, x): - x = self.linear_pre(x) - for i in range(self.n_layers): - if self.res: - x = self.linears[i](x) + x - else: - x = self.linears[i](x) - x = self.linear_post(x) - return x - - -class Transolver_block(paddle.nn.Layer): - """Transformer encoder block.""" - - def __init__(self, num_heads: int, hidden_dim: int, dropout: float, act - ='gelu', mlp_ratio=4, last_layer=False, out_dim=1, slice_num=32, H= - 32, W=32, D=32): - super().__init__() - self.last_layer = last_layer - self.ln_1 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.Attn = Physics_Attention_Structured_Mesh_3D(hidden_dim, heads= - num_heads, dim_head=hidden_dim // num_heads, dropout=dropout, - slice_num=slice_num, H=H, W=W, D=D) - self.ln_2 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp = MLP(hidden_dim, hidden_dim * mlp_ratio, hidden_dim, - n_layers=0, res=False, act=act) - if self.last_layer: - self.ln_3 = paddle.nn.LayerNorm(normalized_shape=hidden_dim) - self.mlp2 = paddle.nn.Linear(in_features=hidden_dim, - out_features=out_dim) - - def forward(self, fx): - fx = self.Attn(self.ln_1(fx)) + fx - fx = self.mlp(self.ln_2(fx)) + fx - if self.last_layer: - return self.mlp2(self.ln_3(fx)) - else: - return fx - - -class Model(paddle.nn.Layer): - - def __init__(self, space_dim=1, n_layers=5, n_hidden=256, dropout=0.0, - n_head=8, Time_Input=False, act='gelu', mlp_ratio=1, fun_dim=1, - out_dim=1, slice_num=32, ref=8, unified_pos=False, H=32, W=32, D=32): - super(Model, self).__init__() - self.__name__ = 'Transolver_3D' - self.use_checkpoint = False - self.H = H - self.W = W - self.D = D - self.ref = ref - self.unified_pos = unified_pos - if self.unified_pos: - self.pos = self.get_grid() - self.preprocess = MLP(fun_dim + self.ref * self.ref * self.ref, - n_hidden * 2, n_hidden, n_layers=0, res=False, act=act) - else: - self.preprocess = MLP(fun_dim + space_dim, n_hidden * 2, - n_hidden, n_layers=0, res=False, act=act) - self.Time_Input = Time_Input - self.n_hidden = n_hidden - self.space_dim = space_dim - if Time_Input: - self.time_fc = paddle.nn.Sequential( - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden), - paddle.nn.Silu(), - paddle.nn.Linear(in_features=n_hidden, out_features=n_hidden) - ) - self.blocks = paddle.nn.LayerList([ - Transolver_block( - num_heads=n_head, hidden_dim=n_hidden, dropout=dropout, act=act, - mlp_ratio=mlp_ratio, out_dim=out_dim, slice_num=slice_num, H=H, - W=W, D=D, last_layer=_ == n_layers - 1 - ) for _ in range(n_layers) - ]) - self.initialize_weights() - self.placeholder = paddle.create_parameter( - shape=[n_hidden], dtype='float32', - default_initializer=paddle.nn.initializer.Assign(1 / n_hidden * paddle.rand([n_hidden])) - ) - - def initialize_weights(self): - self.apply(self._init_weights) - - def _init_weights(self, m): - if isinstance(m, paddle.nn.Linear): - trunc_normal = TruncatedNormal(mean=0.0, std=0.02) - trunc_normal(m.weight) - if m.bias is not None: - constant = Constant(value=0.0) - constant(m.bias) - elif isinstance(m, (paddle.nn.LayerNorm, paddle.nn.BatchNorm1D)): - constant = Constant(value=0.0) - constant(m.bias) - constant = Constant(value=1.0) - constant(m.weight) - - def get_grid(self, batchsize=1): - size_x, size_y, size_z = self.H, self.W, self.D - gridx = paddle.to_tensor(data=np.linspace(0, 1, size_x), dtype= - 'float32') - gridx = gridx.reshape(1, size_x, 1, 1, 1).tile(repeat_times=[ - batchsize, 1, size_y, size_z, 1]) - gridy = paddle.to_tensor(data=np.linspace(0, 1, size_y), dtype= - 'float32') - gridy = gridy.reshape(1, 1, size_y, 1, 1).tile(repeat_times=[ - batchsize, size_x, 1, size_z, 1]) - gridz = paddle.to_tensor(data=np.linspace(0, 1, size_z), dtype= - 'float32') - gridz = gridz.reshape(1, 1, 1, size_z, 1).tile(repeat_times=[ - batchsize, size_x, size_y, 1, 1]) - grid = paddle.concat(x=(gridx, gridy, gridz), axis=-1).cuda(blocking - =True) - gridx = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= - 'float32') - gridx = gridx.reshape(1, self.ref, 1, 1, 1).tile(repeat_times=[ - batchsize, 1, self.ref, self.ref, 1]) - gridy = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= - 'float32') - gridy = gridy.reshape(1, 1, self.ref, 1, 1).tile(repeat_times=[ - batchsize, self.ref, 1, self.ref, 1]) - gridz = paddle.to_tensor(data=np.linspace(0, 1, self.ref), dtype= - 'float32') - gridz = gridz.reshape(1, 1, 1, self.ref, 1).tile(repeat_times=[ - batchsize, self.ref, self.ref, 1, 1]) - grid_ref = paddle.concat(x=(gridx, gridy, gridz), axis=-1).cuda( - blocking=True) - pos = paddle.sqrt(x=paddle.sum(x=(grid[:, :, :, :, None, None, None, - :] - grid_ref[:, None, None, None, :, :, :, :]) ** 2, axis=-1) - ).reshape(batchsize, size_x, size_y, size_z, self.ref * self. - ref * self.ref).contiguous() - return pos - - def forward(self, x, fx, T=None): - if self.unified_pos: - x = self.pos.tile(repeat_times=[tuple(x.shape)[0], 1, 1, 1, 1] - ).reshape(tuple(x.shape)[0], self.H * self.W * self.D, self - .ref * self.ref * self.ref) - if fx is not None: - fx = paddle.concat(x=(x, fx), axis=-1) - fx = self.preprocess(fx) - else: - fx = self.preprocess(x) - fx = fx + self.placeholder[None, None, :] - if T is not None: - Time_emb = timestep_embedding(T, self.n_hidden).repeat(1, tuple - (x.shape)[1], 1) - Time_emb = self.time_fc(Time_emb) - fx = fx + Time_emb - for block in self.blocks: - if self.use_checkpoint: - fx = paddle.distributed.fleet.utils.recompute(block, fx) - else: - fx = block(fx) - return fx diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model_dict.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model_dict.py deleted file mode 100644 index cd3afbea0c..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/model_dict.py +++ /dev/null @@ -1,8 +0,0 @@ -from model import Transolver_Irregular_Mesh, Transolver_Structured_Mesh_2D, Transolver_Structured_Mesh_3D - - -def get_model(args): - model_dict = {'Transolver_Irregular_Mesh': Transolver_Irregular_Mesh, - 'Transolver_Structured_Mesh_2D': Transolver_Structured_Mesh_2D, - 'Transolver_Structured_Mesh_3D': Transolver_Structured_Mesh_3D} - return model_dict[args.model] diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Airfoil.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Airfoil.sh deleted file mode 100644 index c476e46ff4..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Airfoil.sh +++ /dev/null @@ -1,16 +0,0 @@ -export CUDA_VISIBLE_DEVICES=3 - -python exp_airfoil.py \ ---gpu 3 \ ---model Transolver_Structured_Mesh_2D \ ---n-hidden 128 \ ---n-heads 8 \ ---n-layers 8 \ ---lr 0.001 \ ---max_grad_norm 0.1 \ ---batch-size 4 \ ---slice_num 64 \ ---unified_pos 0 \ ---ref 8 \ ---eval 1 \ ---save_name airfoil_Transolver \ No newline at end of file diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Darcy.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Darcy.sh deleted file mode 100644 index 64ffe8636d..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Darcy.sh +++ /dev/null @@ -1,18 +0,0 @@ -export CUDA_VISIBLE_DEVICES=0 - -python exp_darcy.py \ ---gpu 0 \ ---model 1 \ ---n-hidden 128 \ ---n-heads 8 \ ---n-layers 8 \ ---lr 0.001 \ ---max_grad_norm 0.1 \ ---batch-size 4 \ ---slice_num 64 \ ---unified_pos 1 \ ---ref 8 \ ---eval 0 \ ---downsample 5 \ ---save_name darcy_UniPDE - diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Elas.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Elas.sh deleted file mode 100644 index a17255f110..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Elas.sh +++ /dev/null @@ -1,16 +0,0 @@ -export CUDA_VISIBLE_DEVICES=3 - -python exp_elas.py \ ---gpu 3 \ ---model Transolver_Irregular_Mesh \ ---n-hidden 128 \ ---n-heads 8 \ ---n-layers 8 \ ---lr 0.001 \ ---max_grad_norm 0.1 \ ---batch-size 1 \ ---slice_num 64 \ ---unified_pos 0 \ ---ref 8 \ ---eval 1 \ ---save_name elas_Transolver diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_NS.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_NS.sh deleted file mode 100644 index af649953e2..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_NS.sh +++ /dev/null @@ -1,16 +0,0 @@ -export CUDA_VISIBLE_DEVICES=3 - -python exp_ns.py \ ---gpu 3 \ ---model Transolver_Structured_Mesh_2D \ ---n-hidden 256 \ ---n-heads 8 \ ---n-layers 8 \ ---lr 0.001 \ ---batch-size 2 \ ---slice_num 32 \ ---unified_pos 1 \ ---ref 8 \ ---eval 0 \ ---save_name ns_Transolver - diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Pipe.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Pipe.sh deleted file mode 100644 index f5fe09a5c0..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Pipe.sh +++ /dev/null @@ -1,18 +0,0 @@ -export CUDA_VISIBLE_DEVICES=1 - -python exp_pipe.py \ ---gpu 1 \ ---model Transolver_Structured_Mesh_2D \ ---n-hidden 128 \ ---n-heads 8 \ ---n-layers 8 \ ---mlp_ratio 2 \ ---lr 0.001 \ ---max_grad_norm 0.1 \ ---batch-size 8 \ ---slice_num 64 \ ---unified_pos 0 \ ---ref 8 \ ---eval 1 \ ---save_name pipe_Transolver - diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Plas.sh b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Plas.sh deleted file mode 100644 index f89c76ee5c..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/scripts/Transolver_Plas.sh +++ /dev/null @@ -1,17 +0,0 @@ -export CUDA_VISIBLE_DEVICES=1 - -python exp_plas.py \ ---gpu 1 \ ---model Transolver_Structured_Mesh_2D \ ---n-hidden 128 \ ---n-heads 8 \ ---n-layers 8 \ ---lr 0.001 \ ---max_grad_norm 0.1 \ ---batch-size 8 \ ---slice_num 64 \ ---unified_pos 0 \ ---ref 8 \ ---eval 0 \ ---save_name plas_Transolver - diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/normalizer.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/normalizer.py deleted file mode 100644 index 637b2a001f..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/normalizer.py +++ /dev/null @@ -1,116 +0,0 @@ -import sys -from utils import paddle_aux -import paddle -from tqdm import * - - -class IdentityTransformer: - - def __init__(self, X): - self.mean = X.mean(axis=0, keepdim=True) - self.std = X.std(axis=0, keepdim=True) + 1e-08 - - def to(self, device): - self.mean = self.mean.to(device) - self.std = self.std.to(device) - return self - - def cuda(self): - self.mean = self.mean.cuda(blocking=True) - self.std = self.std.cuda(blocking=True) - - def cpu(self): - self.mean = self.mean.cpu() - self.std = self.std.cpu() - - def encode(self, x): - return x - - def decode(self, x): - return x - - -class UnitTransformer: - - def __init__(self, X): - self.mean = X.mean(axis=(0, 1), keepdim=True) - self.std = X.std(axis=(0, 1), keepdim=True) + 1e-08 - - def to(self, device): - self.mean = self.mean.to(device) - self.std = self.std.to(device) - return self - - def cuda(self): - self.mean = self.mean.cuda(blocking=True) - self.std = self.std.cuda(blocking=True) - - def cpu(self): - self.mean = self.mean.cpu() - self.std = self.std.cpu() - - def encode(self, x): - x = (x - self.mean) / self.std - return x - - def decode(self, x): - return x * self.std + self.mean - - def transform(self, X, inverse=True, component='all'): - if component == 'all' or 'all-reduce': - if inverse: - orig_shape = tuple(X.shape) - return (X * (self.std - 1e-08) + self.mean).view(orig_shape) - else: - return (X - self.mean) / self.std - elif inverse: - orig_shape = tuple(X.shape) - return (X * (self.std[:, component] - 1e-08) + self.mean[:, - component]).view(orig_shape) - else: - return (X - self.mean[:, component]) / self.std[:, component] - - -class UnitGaussianNormalizer(object): - - def __init__(self, x, eps=1e-05, time_last=True): - super(UnitGaussianNormalizer, self).__init__() - self.mean = paddle.mean(x=x, axis=0) - self.std = paddle.std(x=x, axis=0) - self.eps = eps - self.time_last = time_last - - def encode(self, x): - x = (x - self.mean) / (self.std + self.eps) - return x - - def decode(self, x, sample_idx=None): - if sample_idx is None: - std = self.std + self.eps - mean = self.mean - else: - if self.mean.ndim == sample_idx.ndim or self.time_last: - std = self.std[sample_idx] + self.eps - mean = self.mean[sample_idx] - if self.mean.ndim > sample_idx.ndim and not self.time_last: - std = self.std[..., sample_idx] + self.eps - mean = self.mean[..., sample_idx] - x = x * std + mean - return x - - def to(self, device): - if paddle.is_tensor(x=self.mean): - self.mean = self.mean.to(device) - self.std = self.std.to(device) - else: - self.mean = paddle.to_tensor(data=self.mean).to(device) - self.std = paddle.to_tensor(data=self.std).to(device) - return self - - def cuda(self): - self.mean = self.mean.cuda(blocking=True) - self.std = self.std.cuda(blocking=True) - - def cpu(self): - self.mean = self.mean.cpu() - self.std = self.std.cpu() diff --git a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/testloss.py b/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/testloss.py deleted file mode 100644 index fa28e35e18..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/PDE-Solving-StandardBenchmark/utils/testloss.py +++ /dev/null @@ -1,42 +0,0 @@ -import sys -# import paddle_aux -import paddle - - -class TestLoss(object): - - def __init__(self, d=2, p=2, size_average=True, reduction=True): - super(TestLoss, self).__init__() - assert d > 0 and p > 0 - self.d = d - self.p = p - self.reduction = reduction - self.size_average = size_average - - def abs(self, x, y): - num_examples = tuple(x.shape)[0] - h = 1.0 / (tuple(x.shape)[1] - 1.0) - all_norms = h ** (self.d / self.p) * paddle.linalg.norm(x=x.view( - num_examples, -1) - y.view(num_examples, -1), p=self.p, axis=1) - if self.reduction: - if self.size_average: - return paddle.mean(x=all_norms) - else: - return paddle.sum(x=all_norms) - return all_norms - - def rel(self, x, y): - num_examples = tuple(x.shape)[0] - diff_norms = paddle.linalg.norm(x=x.reshape(num_examples, -1) - y. - reshape(num_examples, -1), p=self.p, axis=1) - y_norms = paddle.linalg.norm(x=y.reshape(num_examples, -1), p=self. - p, axis=1) - if self.reduction: - if self.size_average: - return paddle.mean(x=diff_norms / y_norms) - else: - return paddle.sum(x=diff_norms / y_norms) - return diff_norms / y_norms - - def __call__(self, x, y): - return self.rel(x, y) diff --git a/examples/fsi/Transolver-paddle-convert-main/Physics_Attention.py b/examples/fsi/Transolver-paddle-convert-main/Physics_Attention.py deleted file mode 100644 index 79ab672970..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/Physics_Attention.py +++ /dev/null @@ -1,191 +0,0 @@ -import sys -# sys.path.append('../../utils') -from utils import paddle_aux -import paddle -from einops import rearrange, repeat - - -class Physics_Attention_Irregular_Mesh(paddle.nn.Layer): - - def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64): - super().__init__() - inner_dim = dim_head * heads - self.dim_head = dim_head - self.heads = heads - self.scale = dim_head ** -0.5 - self.softmax = paddle.nn.Softmax(axis=-1) - self.dropout = paddle.nn.Dropout(p=dropout) - self.temperature = paddle.base.framework.EagerParamBase.from_tensor( - tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) - self.in_project_x = paddle.nn.Linear(in_features=dim, out_features= - inner_dim) - self.in_project_fx = paddle.nn.Linear(in_features=dim, out_features - =inner_dim) - self.in_project_slice = paddle.nn.Linear(in_features=dim_head, - out_features=slice_num) - for l in [self.in_project_slice]: - init_Orthogonal = paddle.nn.initializer.Orthogonal() - init_Orthogonal(l.weight) - self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= - inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) - - def forward(self, x): - B, N, C = tuple(x.shape) - fx_mid = self.in_project_fx(x).reshape(B, N, self.heads, self.dim_head - ).transpose(perm=[0, 2, 1, 3]).contiguous() - x_mid = self.in_project_x(x).reshape(B, N, self.heads, self.dim_head - ).transpose(perm=[0, 2, 1, 3]).contiguous() - slice_weights = self.softmax(self.in_project_slice(x_mid) / self. - temperature) - slice_norm = slice_weights.sum(axis=2) - slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) - slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( - repeat_times=[1, 1, 1, self.dim_head]) - q_slice_token = self.to_q(slice_token) - k_slice_token = self.to_k(slice_token) - v_slice_token = self.to_v(slice_token) - dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( - perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) - ) * self.scale - attn = self.softmax(dots) - attn = self.dropout(attn) - out_slice_token = paddle.matmul(x=attn, y=v_slice_token) - out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights - ) - out_x = rearrange(out_x, 'b h n d -> b n (h d)') - return self.to_out(out_x) - - -class Physics_Attention_Structured_Mesh_2D(paddle.nn.Layer): - - def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=64, - H=101, W=31, kernel=3): - super().__init__() - inner_dim = dim_head * heads - self.dim_head = dim_head - self.heads = heads - self.scale = dim_head ** -0.5 - self.softmax = paddle.nn.Softmax(axis=-1) - self.dropout = paddle.nn.Dropout(p=dropout) - self.temperature = paddle.base.framework.EagerParamBase.from_tensor( - tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) - self.H = H - self.W = W - self.in_project_x = paddle.nn.Conv2D(in_channels=dim, out_channels= - inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) - self.in_project_fx = paddle.nn.Conv2D(in_channels=dim, out_channels - =inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) - self.in_project_slice = paddle.nn.Linear(in_features=dim_head, - out_features=slice_num) - for l in [self.in_project_slice]: - init_Orthogonal = paddle.nn.initializer.Orthogonal() - init_Orthogonal(l.weight) - self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= - inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) - - def forward(self, x): - B, N, C = tuple(x.shape) - x = x.reshape(B, self.H, self.W, C).contiguous().transpose(perm=[0, - 3, 1, 2]).contiguous() - fx_mid = self.in_project_fx(x).transpose(perm=[0, 2, 3, 1]).contiguous( - ).reshape(B, N, self.heads, self.dim_head).transpose(perm=[0, 2, - 1, 3]).contiguous() - x_mid = self.in_project_x(x).transpose(perm=[0, 2, 3, 1]).contiguous( - ).reshape(B, N, self.heads, self.dim_head).transpose(perm=[0, 2, - 1, 3]).contiguous() - slice_weights = self.softmax(self.in_project_slice(x_mid) / paddle. - clip(x=self.temperature, min=0.1, max=5)) - slice_norm = slice_weights.sum(axis=2) - slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) - slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( - repeat_times=[1, 1, 1, self.dim_head]) - q_slice_token = self.to_q(slice_token) - k_slice_token = self.to_k(slice_token) - v_slice_token = self.to_v(slice_token) - dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( - perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) - ) * self.scale - attn = self.softmax(dots) - attn = self.dropout(attn) - out_slice_token = paddle.matmul(x=attn, y=v_slice_token) - out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights - ) - out_x = rearrange(out_x, 'b h n d -> b n (h d)') - return self.to_out(out_x) - - -class Physics_Attention_Structured_Mesh_3D(paddle.nn.Layer): - - def __init__(self, dim, heads=8, dim_head=64, dropout=0.0, slice_num=32, - H=32, W=32, D=32, kernel=3): - super().__init__() - inner_dim = dim_head * heads - self.dim_head = dim_head - self.heads = heads - self.scale = dim_head ** -0.5 - self.softmax = paddle.nn.Softmax(axis=-1) - self.dropout = paddle.nn.Dropout(p=dropout) - self.temperature = paddle.base.framework.EagerParamBase.from_tensor( - tensor=paddle.ones(shape=[1, heads, 1, 1]) * 0.5) - self.H = H - self.W = W - self.D = D - self.in_project_x = paddle.nn.Conv3D(in_channels=dim, out_channels= - inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) - self.in_project_fx = paddle.nn.Conv3D(in_channels=dim, out_channels - =inner_dim, kernel_size=kernel, stride=1, padding=kernel // 2) - self.in_project_slice = paddle.nn.Linear(in_features=dim_head, - out_features=slice_num) - for l in [self.in_project_slice]: - init_Orthogonal = paddle.nn.initializer.Orthogonal() - init_Orthogonal(l.weight) - self.to_q = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_k = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_v = paddle.nn.Linear(in_features=dim_head, out_features= - dim_head, bias_attr=False) - self.to_out = paddle.nn.Sequential(paddle.nn.Linear(in_features= - inner_dim, out_features=dim), paddle.nn.Dropout(p=dropout)) - - def forward(self, x): - B, N, C = tuple(x.shape) - x = x.reshape(B, self.H, self.W, self.D, C).contiguous().transpose(perm - =[0, 4, 1, 2, 3]).contiguous() - fx_mid = self.in_project_fx(x).transpose(perm=[0, 2, 3, 4, 1] - ).contiguous().reshape(B, N, self.heads, self.dim_head).transpose( - perm=[0, 2, 1, 3]).contiguous() - x_mid = self.in_project_x(x).transpose(perm=[0, 2, 3, 4, 1] - ).contiguous().reshape(B, N, self.heads, self.dim_head).transpose( - perm=[0, 2, 1, 3]).contiguous() - slice_weights = self.softmax(self.in_project_slice(x_mid) / paddle. - clip(x=self.temperature, min=0.1, max=5)) - slice_norm = slice_weights.sum(axis=2) - slice_token = paddle.einsum('bhnc,bhng->bhgc', fx_mid, slice_weights) - slice_token = slice_token / (slice_norm + 1e-05)[:, :, :, None].tile( - repeat_times=[1, 1, 1, self.dim_head]) - q_slice_token = self.to_q(slice_token) - k_slice_token = self.to_k(slice_token) - v_slice_token = self.to_v(slice_token) - dots = paddle.matmul(x=q_slice_token, y=k_slice_token.transpose( - perm=paddle_aux.transpose_aux_func(k_slice_token.ndim, -1, -2)) - ) * self.scale - attn = self.softmax(dots) - attn = self.dropout(attn) - out_slice_token = paddle.matmul(x=attn, y=v_slice_token) - out_x = paddle.einsum('bhgc,bhng->bhnc', out_slice_token, slice_weights - ) - out_x = rearrange(out_x, 'b h n d -> b n (h d)') - return self.to_out(out_x) diff --git a/examples/fsi/Transolver-paddle-convert-main/ReadME.md b/examples/fsi/Transolver-paddle-convert-main/ReadME.md deleted file mode 100644 index 8b13789179..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/ReadME.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/examples/fsi/Transolver-paddle-convert-main/utils/__init__.py b/examples/fsi/Transolver-paddle-convert-main/utils/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/fsi/Transolver-paddle-convert-main/utils/paddle_aux.py b/examples/fsi/Transolver-paddle-convert-main/utils/paddle_aux.py deleted file mode 100644 index 1bc52d51c3..0000000000 --- a/examples/fsi/Transolver-paddle-convert-main/utils/paddle_aux.py +++ /dev/null @@ -1,91 +0,0 @@ - -# This file is generated by PaConvert ToolKit, please Don't edit it! -import paddle - -def reshape(self, *args, **kwargs): - if args: - if len(args)==1 and isinstance(args[0], (tuple, list)): - return paddle.reshape(self, args[0]) - else: - return paddle.reshape(self, list(args)) - elif kwargs: - assert 'shape' in kwargs - return paddle.reshape(self, shape=kwargs['shape']) - -setattr(paddle.Tensor, 'reshape', reshape) - -def min_class_func(self, *args, **kwargs): - if 'other' in kwargs: - kwargs['y'] = kwargs.pop('other') - ret = paddle.minimum(self, *args, **kwargs) - elif len(args)==1 and isinstance(args[0], paddle.Tensor): - ret = paddle.minimum(self, *args, **kwargs) - else: - if 'dim' in kwargs: - kwargs['axis'] = kwargs.pop('dim') - - if 'axis' in kwargs or len(args) >= 1: - ret = paddle.min(self, *args, **kwargs), paddle.argmin(self, *args, **kwargs) - else: - ret = paddle.min(self, *args, **kwargs) - - return ret - -def max_class_func(self, *args, **kwargs): - if 'other' in kwargs: - kwargs['y'] = kwargs.pop('other') - ret = paddle.maximum(self, *args, **kwargs) - elif len(args)==1 and isinstance(args[0], paddle.Tensor): - ret = paddle.maximum(self, *args, **kwargs) - else: - if 'dim' in kwargs: - kwargs['axis'] = kwargs.pop('dim') - - if 'axis' in kwargs or len(args) >= 1: - ret = paddle.max(self, *args, **kwargs), paddle.argmax(self, *args, **kwargs) - else: - ret = paddle.max(self, *args, **kwargs) - - return ret - -setattr(paddle.Tensor, "min", min_class_func) -setattr(paddle.Tensor, "max", max_class_func) - -def transpose_aux_func(dims,dim0, dim1): - perm = list(range(dims)) - perm[dim0], perm[dim1] = perm[dim1], perm[dim0] - return perm - -def add(self, *args, **kwargs): - if 'other' in kwargs: - y = kwargs['other'] - elif 'y' in kwargs: - y = kwargs['y'] - else: - y = args[0] - - if 'alpha' in kwargs: - alpha = kwargs['alpha'] - if alpha != 1: - if not isinstance(y, paddle.Tensor): - y = paddle.to_tensor(alpha * y) - else: - y = alpha * y - else: - if not isinstance(y, paddle.Tensor): - y = paddle.to_tensor(y) - - return paddle.add(self, y) - -setattr(paddle.Tensor, 'add', add) - -def view(self, *args, **kwargs): - if args: - if len(args)==1 and isinstance(args[0], (tuple, list, str)): - return paddle.view(self, args[0]) - else: - return paddle.view(self, list(args)) - elif kwargs: - return paddle.view(self, shape_or_dtype = list(kwargs.values())[0]) - -setattr(paddle.Tensor, 'view', view)

sN6+QEfVdSJ8Y%s3SBD_H_<} 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�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

sN6+QEfVdSJ8Y%s3SBD_H_<} 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