Skip to content

Commit

Permalink
pushing before nature publication
Browse files Browse the repository at this point in the history
  • Loading branch information
Ethan Pickering authored and Ethan Pickering committed Nov 10, 2022
1 parent b8e954b commit 30b0a86
Show file tree
Hide file tree
Showing 126 changed files with 9,262 additions and 2,947 deletions.
Binary file modified .DS_Store
Binary file not shown.
462 changes: 441 additions & 21 deletions LICENSE

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,29 @@ Source code for Deep Neural Operator (DeepONet) Bayesian experimental design (i.

Execute `pip install .` from the master directory (directory where setup.py is located).

This package requires the use of DeepONet from the DeepXDE library. While installing these requirements, it may be useful to comment the deepxde package and install separately. If using a verion of DeepXDE above v0.11.2, then DeepONet calls must be changed approprately, as stated by DeepXDEs instructions.done separately.
This package requires the use of DeepONet from the DeepXDE library. While installing these requirements, it may be useful to comment the deepxde package and install separately. If using a verion of DeepXDE above v0.11.2, then DeepONet calls must be changed approprately, as stated by DeepXDEs instructions done separately.

## Demo

Two folders in the examples directory: SIR and NLS, provide the basis for computing any of the results from the paper. The SIR folder provides the simplest, yet complete demonstration of the algorithm.
Three folders in the examples directory: SIR, NLS, LAMP provide the basis for computing any of the results from the paper. The SIR folder provides the simplest, yet complete demonstration of the algorithm. We recommend learning from the SIR implementation for applying to novel problems, as the other problems are computationally much more demanding.

SIR.py is setup to run in an IDE (e.g. Spyder) and dynamically plots various results. SIR_bash.py is set up to be called by the shell script, SIR_shell.sh, and will plot to the SIR directory. The advantage of the shell script is that Tensorflow slows in time, while the shell script reopens Python at each iteration ensuring that Tensorflow runs quickly.
SIR.py is setup to run in an IDE (e.g. Spyder) and dynamically plots various results. This is recommended for best understanding of the code and process. SIR_bash.py is set up to be called by the shell script, SIR_shell.sh, and will plot to the SIR directory. The advantage of the shell script is that Tensorflow slows in time, while the shell script reopens Python at each iteration ensuring that Tensorflow runs quickly.

The MMT(NLS) code requires matlab be called to solve the MMT equations. For smoother passing of the code, the shell scripts perform this, by individually calling matlab at each iteration. This also allows Tensforflow to restart. To recreate the various plots in the study, the shell script must be changed to reflect the parameters of each study. Considering the number of independent experiments and conditions, calculating all will take substantial computational time.

The NLS code requires matlab be called to solve the NLS equations. For smoother passing of the code, the shell script performs this, by individually calling matlab at each iteration. This also allows Tensforflow to restart. To recreate the various plots in the study, the shell script must be changed to reflect the parameters of each study. Considering the number of independent experiments and conditions, calculating all will take substantial computational time.
For MMT, several shell scripts are created and labelled for the various figures. Running these scripts will provide data in the results folder for which the plotting file, and associated blocks of the file will create a light version of the figure. For each of these, there is currently data provided for one experiment (1 seed) per case in the data folder of the paper link.


The LAMP code (located in the lamp folder) is divided into the DNO and GP components. DNO is performed by running the bash script LAMP_10D_run.sh. This script can take substantial time to run. The GP code is run by entering the Matlab_GP_Implementation subfolder and running the code: RUN_ME.m

## Data

For some of the code, certain data sets or folders are needed and are rather large and provided at the following links.

The truth data file for the SIR model is located at: https://www.dropbox.com/s/defzt6usnn7m3ij/truth_data.mat?dl=0
IC folder for the MMT solution is located at: https://www.dropbox.com/sh/izrs1n261heivr7/AAD4OBDm-QEnYGVbR4u25o_8a?dl=0
The folder for the LAMP problem is located at: https://www.dropbox.com/sh/93u5ypxzhnxxql8/AADWY-CLBF-aK1hpEUjuR01Ba?dl=0

## References
* [Discovering and forecasting extreme events via active learning in
neural operators](https://arxiv.org/pdf/2204.02488.pdf)
Expand Down
Binary file modified dnosearch/.DS_Store
Binary file not shown.
Binary file modified dnosearch/examples/.DS_Store
Binary file not shown.
Binary file removed dnosearch/examples/intracycle/IntracycleData.mat
Binary file not shown.
Binary file not shown.
327 changes: 0 additions & 327 deletions dnosearch/examples/intracycle/intracycle.py

This file was deleted.

Loading

0 comments on commit 30b0a86

Please sign in to comment.