|
| 1 | +# SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES. |
| 2 | +# SPDX-FileCopyrightText: All rights reserved. |
| 3 | +# SPDX-License-Identifier: Apache-2.0 |
| 4 | +# |
| 5 | +# Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | +# you may not use this file except in compliance with the License. |
| 7 | +# You may obtain a copy of the License at |
| 8 | +# |
| 9 | +# http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | +# |
| 11 | +# Unless required by applicable law or agreed to in writing, software |
| 12 | +# distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | +# See the License for the specific language governing permissions and |
| 15 | +# limitations under the License. |
| 16 | + |
| 17 | +project: # Project name |
| 18 | + name: AWS_Dataset |
| 19 | + |
| 20 | +exp_tag: 1 # Experiment tag |
| 21 | +# Main output directory. |
| 22 | +output: outputs/${project.name}/${exp_tag} |
| 23 | + |
| 24 | +hydra: # Hydra config |
| 25 | + run: |
| 26 | + dir: ${output} |
| 27 | + output_subdir: hydra # Default is .hydra which causes files not being uploaded in W&B. |
| 28 | + |
| 29 | +data: # Input directory for training and validation data |
| 30 | + input_dir: /lustre/rranade/modulus_dev/data/volume_data/ |
| 31 | + input_dir_val: /lustre/rranade/modulus_dev/data/volume_data_val/ |
| 32 | + bounding_box: # Bounding box dimensions for computational domain |
| 33 | + min: [-3.5, -2.25 , -0.32] |
| 34 | + max: [8.5 , 2.25 , 3.00] |
| 35 | + bounding_box_surface: # Bounding box dimensions for car surface |
| 36 | + min: [-1.1, -1.2 , -0.32] |
| 37 | + max: [4.5 , 1.2 , 1.2] |
| 38 | + |
| 39 | +# The directory to search for checkpoints to continue training. |
| 40 | +resume_dir: ${output}/models |
| 41 | + |
| 42 | +variables: |
| 43 | + surface: |
| 44 | + solution: |
| 45 | + # The following is for AWS DrivAer dataset. |
| 46 | + pMeanTrim: scalar |
| 47 | + wallShearStressMeanTrim: vector |
| 48 | + volume: |
| 49 | + solution: |
| 50 | + # The following is for AWS DrivAer dataset. |
| 51 | + UMeanTrim: vector |
| 52 | + pMeanTrim: scalar |
| 53 | + nutMeanTrim: scalar |
| 54 | + |
| 55 | +model: |
| 56 | + model_type: combined # train which model? surface, volume, combined |
| 57 | + loss_function: "mse" # mse or rmse |
| 58 | + interp_res: [128, 64, 48] # resolution of latent space |
| 59 | + use_sdf_in_basis_func: true # SDF in basis function network |
| 60 | + positional_encoding: false # calculate positional encoding? |
| 61 | + volume_points_sample: 8192 # Number of points to sample in volume per epoch |
| 62 | + surface_points_sample: 8192 # Number of points to sample on surface per epoch |
| 63 | + geom_points_sample: 200_000 # Number of points to sample on STL per epoch |
| 64 | + surface_neighbors: true # Pre-compute surface neighborhood from input data |
| 65 | + num_surface_neighbors: 7 # How many neighbors? |
| 66 | + use_surface_normals: true # Use surface normals and surface areas for surface computation? |
| 67 | + use_only_normals: true # Use only surface normals and not surface area |
| 68 | + integral_loss_scaling_factor: 0 # Scale integral loss by this factor |
| 69 | + normalization: min_max_scaling # or mean_std_scaling |
| 70 | + encode_parameters: true # encode inlet velocity and air density in the model |
| 71 | + geometry_rep: # Hyperparameters for geometry representation network |
| 72 | + base_filters: 16 |
| 73 | + geo_conv: |
| 74 | + base_neurons: 32 # 256 or 64 |
| 75 | + base_neurons_out: 1 |
| 76 | + radius_short: 0.1 |
| 77 | + radius_long: 0.5 # 1.0, 1.5 |
| 78 | + hops: 1 |
| 79 | + geo_processor: |
| 80 | + base_filters: 8 |
| 81 | + geo_processor_sdf: |
| 82 | + base_filters: 8 |
| 83 | + nn_basis_functions: # Hyperparameters for basis function network |
| 84 | + base_layer: 512 |
| 85 | + aggregation_model: # Hyperparameters for aggregation network |
| 86 | + base_layer: 512 |
| 87 | + position_encoder: # Hyperparameters for position encoding network |
| 88 | + base_neurons: 512 |
| 89 | + geometry_local: # Hyperparameters for local geometry extraction |
| 90 | + neighbors_in_radius: 64 |
| 91 | + radius: 0.05 # 0.2 in expt 7 |
| 92 | + base_layer: 512 |
| 93 | + parameter_model: |
| 94 | + base_layer: 512 |
| 95 | + scaling_params: [30.0, 1.226] # [inlet_velocity, air_density] |
| 96 | + |
| 97 | +train: # Training configurable parameters |
| 98 | + epochs: 500 |
| 99 | + checkpoint_interval: 1 |
| 100 | + dataloader: |
| 101 | + batch_size: 1 |
| 102 | + pin_memory: true |
| 103 | + sampler: |
| 104 | + shuffle: true |
| 105 | + drop_last: false |
| 106 | + checkpoint_dir: /lustre/rranade/modulus_dev/modulus_forked/modulus/examples/cfd/external_aerodynamics/domino/outputs/AWS_Dataset/3/models/ |
| 107 | + |
| 108 | +val: # Validation configurable parameters |
| 109 | + dataloader: |
| 110 | + batch_size: 1 |
| 111 | + pin_memory: true |
| 112 | + sampler: |
| 113 | + shuffle: true |
| 114 | + drop_last: false |
| 115 | + |
| 116 | +eval: # Testing configurable parameters |
| 117 | + test_path: /lustre/rranade/benchmarking/drivaer_aws_surface_test_new/ |
| 118 | + save_path: /lustre/rranade/domino/mesh_predictions_surf_final1/ |
| 119 | + checkpoint_name: DoMINO.0.50.pt |
| 120 | + |
| 121 | +data_processor: # Data processor configurable parameters |
| 122 | + kind: drivaer_aws # must be either drivesim or drivaer_aws |
| 123 | + output_dir: /lustre/rranade/modulus_dev/data/volume_data/ |
| 124 | + input_dir: /lustre/datasets/drivaer_aws/drivaer_data_full/ |
| 125 | + num_processors: 12 |
0 commit comments