The default configuration is inside the add_arguments
function inside ``config.py`
- if you are using windows,
install
visual studio
to default location - download the
ninja
and add it to path
the command below will generate the evolution video from all equations under different parameters
python gen_video.py
the result is inside videos/
folder
by running the command below, it will generate folders of toml file based on the marco in config.py
and the availability of GPU and the memory you passed.
python gen_config.py
the training script is automatically restore from the last interrupt state, just run
python run_train.py
every time you are available. And there will be total of
Moreover, we provide our training weight here in the release. You could download it and unzip to the weights
folder.
after you have the weights folder. You run the plotting script to plot the images to the images
folder just run
python run_plot.py
by running this command, it will run recursively all the configuration file under the config folder
python run_folder.py config
the file and be toml/json/yaml
file
you simply give it after the argument of run_file.py
for example, if you want to train the deeponet on heat equation
python run_file.py config/train/heat_d=1/deeponet.toml
for example, if you want to train the deeponet on heat equation
python main.py --task train --model deeponet --equation heat
- a standard feed forward neural network to approximate the function
$g$
- an operator network (DeepONet) or Neural Operator to approximate the operator
$\mathcal G$
We have the theoretical congruity and practical approximation
and for each component
where
with respect to source function
-
equations
this is the directory to put all the equation conditions if you want to add new equation, you should do- add a equation
.py
file here, and implement your equation as others - import it from
equations\__init__.py
, and add the entrance to the lookup table - change the equation choices in the
config.py
- add a equation
-
models
this is the directory to put all the deep neural networks if you want to add new model, first you need to think about which type of trainer it should use. If none of the trainer satisfy your needs, you need to implement your own trainer and do the routing inmain.py
andrun_file.py
. If you want to add the a model using mesh neural operator trainer, here are some steps.- add a model
.py
file here, and implement your model as other - import it from
models\__init__.py
, and add the entrance to the lookup table - change the model choices in the
config.py
- add a model
-
trainer
this is the directory to put three kinds of trainer, they are-
ffn trainer, which takes the form as
$g(x,y,\mu ) = u(T, x, y, \mu )$ . -
DeepONet trainer, which takes the form as
$G(u0)(x1,x2)$ . -
mesh neural operator trainer, which takes the form as
$G(u0,x1,x2)$ . They can only tackle the mesh sampling input
-
-
videos
this is a folder automatically generated bygen_video.py
-
images
this is a folder automatically generated by the code. It's used to save the image result. -
weights
this is a folder automatically generated by the code or download from our release weights. It's used to save the weight of the model, normalizer and dataset generator. -
config
this is folder to put all the configuration files (toml/json/yaml). It's generated bygen_config.py
. -
config.py
this is the python script to process the configuration from command line, file and key-word arguments. -
main.py
this is the command line configuration running entrance. -
gen_config.py
this will generate configuration files to theconfig
folder -
gen_video.py
this will generate equation evolution video to thevideos
folder -
run_file.py
this is the file configuration running entrace. -
run_folder.py
this is the folder configuration running entrace. -
run_train.py
this will run all the training configuration underconfig
folder -
run_plot.py
this will run all the predict and varying configuration underconfig
folder
- CNO paper and code difference
- more equations similar to CNO paper, make it similar to the task assignment considering
$d$ - Wave Equation
- Poisson Equation
- Navier Stokes?
- Transport Equation?
- NN implementation correction
- make everyone knows how it works
- new neural operator?
- formula expression
- arguments control
- result display
- what content we should display
-
$d$ - error for different model distribution - parameter sensitivity, parameter(sample density/sample engine) - error (customize)
- NN architecture
- NN prediction - error
-
- seperate them into groups
- what content we should display
- possible our new operator?
- CNO smaller
- every body run folder
- run folder
- share weight and run train
- discuss about the paper
- result part
- abstract, introduction and conclusion
- put some part to appendix (4 page at most)
- CNO bad result
- potential bug
- different setup from the paper
- two versions of overleaf project
- first version finished
- second version for varying spatial