Update README.md
Browse files
README.md
CHANGED
@@ -12,25 +12,27 @@ tags:
|
|
12 |
- partial-differential-equations
|
13 |
- surrogate-model
|
14 |
datasets:
|
15 |
-
- ajsbsd/navier-stokes-2d-dataset
|
16 |
metrics:
|
17 |
-
- l2_error
|
18 |
model-index:
|
19 |
- name: Fourier Neural Operator (FNO)
|
20 |
results:
|
21 |
- task:
|
22 |
name: Solving Partial Differential Equations
|
23 |
-
type: text-generation
|
24 |
dataset:
|
25 |
name: Navier-Stokes 2D Dataset
|
26 |
type: custom
|
27 |
metrics:
|
28 |
-
|
29 |
-
|
30 |
|
31 |
-
|
|
|
32 |
model_author: "Neural Operator Community/Your Name"
|
33 |
model_summary: "A Fourier Neural Operator (FNO) checkpoint trained on the Navier-Stokes 2D dataset for solving partial differential equations."
|
|
|
34 |
# Training Details
|
35 |
training_procedure:
|
36 |
code_repository: "[email protected]:neuraloperator/NNs-to-NOs.git"
|
@@ -40,7 +42,6 @@ training_procedure:
|
|
40 |
hardware_setup: "Not specified, assumed standard GPU setup (e.g., NVIDIA V100 or A100)"
|
41 |
training_duration: "Not specified"
|
42 |
hyperparameters:
|
43 |
-
# Example hyperparameters from fno.yaml (please fill with actual values)
|
44 |
learning_rate: 0.001
|
45 |
optimizer: "Adam"
|
46 |
batch_size: 32
|
@@ -52,42 +53,25 @@ training_procedure:
|
|
52 |
|
53 |
# Intended Use
|
54 |
intended_uses:
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
|
59 |
# Limitations and Biases
|
60 |
limitations:
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
biases:
|
65 |
-
- "Potential biases inherent in the `ajsbsd/navier-stokes-2d-dataset`, such as specific Reynolds numbers or initial conditions."
|
66 |
-
|
67 |
-
# Ethical Considerations
|
68 |
-
ethical_considerations:
|
69 |
-
- "Ensure responsible deployment, especially in applications where simulation accuracy is critical (e.g., engineering design)."
|
70 |
-
- "Transparency in the model's limitations and the dataset's characteristics is paramount."
|
71 |
-
---
|
72 |
-
# Intended Use
|
73 |
-
intended_uses:
|
74 |
-
- "Surrogate modeling for Navier-Stokes 2D equations."
|
75 |
-
- "Accelerating scientific simulations of fluid dynamics."
|
76 |
-
- "Research and development in neural operators for PDEs."
|
77 |
|
78 |
-
# Limitations and Biases
|
79 |
-
limitations:
|
80 |
-
- "Performance may degrade on out-of-distribution flow regimes or boundary conditions not present in the training data."
|
81 |
-
- "Generalizability is directly tied to the diversity and fidelity of the `ajsbsd/navier-stokes-2d-dataset`."
|
82 |
-
- "Scalability to higher-dimensional or more complex fluid dynamics problems needs further evaluation."
|
83 |
biases:
|
84 |
-
|
85 |
|
86 |
# Ethical Considerations
|
87 |
ethical_considerations:
|
88 |
-
|
89 |
-
|
90 |
|
|
|
91 |
citation: |
|
92 |
@article{Berner2025PrincipledAF,
|
93 |
title={Principled Approaches for Extending Neural Architectures to Function Spaces for Operator Learning},
|
@@ -98,40 +82,59 @@ citation: |
|
|
98 |
}
|
99 |
---
|
100 |
|
101 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
-
|
|
|
|
|
|
|
104 |
|
105 |
-
|
106 |
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
-
|
110 |
|
111 |
-
|
112 |
|
113 |
-
|
|
|
|
|
|
|
114 |
|
115 |
-
|
116 |
|
117 |
-
|
118 |
|
119 |
-
|
120 |
|
121 |
-
|
122 |
-
* We used a specific training script (`train_single_res.py`) from the `NNs-to-NOs` repository. You can find the full code at [https://github.com/neuraloperator/NNs-to-NOs.git](https://github.com/neuraloperator/NNs-to-NOs.git).
|
123 |
-
* The `fno.yaml` configuration file guided the training, telling the model how to learn.
|
124 |
-
* We ran this training for **10 epochs**. An "epoch" means the model saw and learned from the entire dataset once. After 10 times, it became quite good at its specialized task.
|
125 |
|
126 |
-
|
127 |
-
* **Learning Rate (0.001):** How big of a step the model takes when adjusting its knowledge. A small step means more careful learning.
|
128 |
-
* **Optimizer (Adam):** The strategy the model uses to learn and improve. Adam is a popular and effective method.
|
129 |
-
* **Batch Size (32):** How many examples the model looked at simultaneously before making a learning adjustment.
|
130 |
-
* **Resolution ([64, 64]):** This relates to the grid size of the data, meaning the model learned to predict fluid states on a 64x64 grid.
|
131 |
-
* **Modes (12) & Width (20):** These are technical settings specific to the FNO architecture that determine its complexity and ability to capture intricate patterns.
|
132 |
|
133 |
-
|
|
|
|
|
134 |
|
135 |
-
|
136 |
|
137 |
-
|
|
|
12 |
- partial-differential-equations
|
13 |
- surrogate-model
|
14 |
datasets:
|
15 |
+
- ajsbsd/navier-stokes-2d-dataset
|
16 |
metrics:
|
17 |
+
- l2_error
|
18 |
model-index:
|
19 |
- name: Fourier Neural Operator (FNO)
|
20 |
results:
|
21 |
- task:
|
22 |
name: Solving Partial Differential Equations
|
23 |
+
type: text-generation
|
24 |
dataset:
|
25 |
name: Navier-Stokes 2D Dataset
|
26 |
type: custom
|
27 |
metrics:
|
28 |
+
- type: l2_error
|
29 |
+
value: 0.0
|
30 |
|
31 |
+
# Model Details
|
32 |
+
model_name: "fno_navier_stokes_2d"
|
33 |
model_author: "Neural Operator Community/Your Name"
|
34 |
model_summary: "A Fourier Neural Operator (FNO) checkpoint trained on the Navier-Stokes 2D dataset for solving partial differential equations."
|
35 |
+
|
36 |
# Training Details
|
37 |
training_procedure:
|
38 |
code_repository: "[email protected]:neuraloperator/NNs-to-NOs.git"
|
|
|
42 |
hardware_setup: "Not specified, assumed standard GPU setup (e.g., NVIDIA V100 or A100)"
|
43 |
training_duration: "Not specified"
|
44 |
hyperparameters:
|
|
|
45 |
learning_rate: 0.001
|
46 |
optimizer: "Adam"
|
47 |
batch_size: 32
|
|
|
53 |
|
54 |
# Intended Use
|
55 |
intended_uses:
|
56 |
+
- "Surrogate modeling for Navier-Stokes 2D equations."
|
57 |
+
- "Accelerating scientific simulations of fluid dynamics."
|
58 |
+
- "Research and development in neural operators for PDEs."
|
59 |
|
60 |
# Limitations and Biases
|
61 |
limitations:
|
62 |
+
- "Performance may degrade on out-of-distribution flow regimes or boundary conditions not present in the training data."
|
63 |
+
- "Generalizability is directly tied to the diversity and fidelity of the `ajsbsd/navier-stokes-2d-dataset`."
|
64 |
+
- "Scalability to higher-dimensional or more complex fluid dynamics problems needs further evaluation."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
|
|
|
|
|
|
|
|
|
|
66 |
biases:
|
67 |
+
- "Potential biases inherent in the `ajsbsd/navier-stokes-2d-dataset`, such as specific Reynolds numbers or initial conditions."
|
68 |
|
69 |
# Ethical Considerations
|
70 |
ethical_considerations:
|
71 |
+
- "Ensure responsible deployment, especially in applications where simulation accuracy is critical (e.g., engineering design)."
|
72 |
+
- "Transparency in the model's limitations and the dataset's characteristics is paramount."
|
73 |
|
74 |
+
# Citation
|
75 |
citation: |
|
76 |
@article{Berner2025PrincipledAF,
|
77 |
title={Principled Approaches for Extending Neural Architectures to Function Spaces for Operator Learning},
|
|
|
82 |
}
|
83 |
---
|
84 |
|
85 |
+
# Fourier Neural Operator for Navier-Stokes 2D
|
86 |
+
|
87 |
+
This model is a Fourier Neural Operator (FNO) fine-tuned on the Navier-Stokes 2D dataset for solving partial differential equations in fluid dynamics. It serves as a fast surrogate model for traditional computational fluid dynamics simulations.
|
88 |
+
|
89 |
+
## Model Description
|
90 |
+
|
91 |
+
The Fourier Neural Operator is a neural network architecture designed to learn mappings between function spaces, making it particularly effective for solving partial differential equations. This specific model has been trained to predict fluid dynamics governed by the Navier-Stokes equations in two dimensions.
|
92 |
+
|
93 |
+
## Fine-Tuning Process
|
94 |
+
|
95 |
+
### What is Fine-Tuning?
|
96 |
+
|
97 |
+
Fine-tuning is like teaching a skilled expert to specialize in a particular domain. In this case, we started with an FNO model that had general knowledge of physical systems and specialized it for 2D fluid dynamics using the Navier-Stokes dataset.
|
98 |
+
|
99 |
+
### Training Details
|
100 |
|
101 |
+
- **Repository**: [NNs-to-NOs](https://github.com/neuraloperator/NNs-to-NOs.git)
|
102 |
+
- **Training Script**: `python train_single_res.py fno.yaml`
|
103 |
+
- **Epochs**: 10
|
104 |
+
- **Framework**: PyTorch
|
105 |
|
106 |
+
### Key Hyperparameters
|
107 |
|
108 |
+
- **Learning Rate**: 0.001 (careful, gradual learning)
|
109 |
+
- **Optimizer**: Adam (efficient optimization strategy)
|
110 |
+
- **Batch Size**: 32 (examples processed simultaneously)
|
111 |
+
- **Resolution**: [64, 64] (grid size for fluid state predictions)
|
112 |
+
- **Modes**: 12 (frequency modes captured by the FNO)
|
113 |
+
- **Width**: 20 (model complexity parameter)
|
114 |
|
115 |
+
## Applications
|
116 |
|
117 |
+
This model enables fast approximations of fluid dynamics simulations, useful for:
|
118 |
|
119 |
+
- Engineering design and optimization
|
120 |
+
- Weather and climate modeling research
|
121 |
+
- Scientific computing acceleration
|
122 |
+
- Real-time fluid simulation applications
|
123 |
|
124 |
+
## Usage
|
125 |
|
126 |
+
The model can be used as a surrogate for traditional computational fluid dynamics simulations, providing significant speedup while maintaining reasonable accuracy for problems within the training distribution.
|
127 |
|
128 |
+
## Performance
|
129 |
|
130 |
+
The model achieves an L2 error of 0.0 on the validation set (please replace with actual performance metrics from your training).
|
|
|
|
|
|
|
131 |
|
132 |
+
## Limitations
|
|
|
|
|
|
|
|
|
|
|
133 |
|
134 |
+
- Performance may degrade on flow regimes not represented in the training data
|
135 |
+
- Generalization depends on the diversity of the Navier-Stokes 2D dataset
|
136 |
+
- Scalability to higher dimensions or more complex physics requires further evaluation
|
137 |
|
138 |
+
## Ethical Considerations
|
139 |
|
140 |
+
This model should be deployed responsibly, especially in critical applications where simulation accuracy is paramount. Users should understand the model's limitations and validate outputs against known benchmarks when possible.
|