Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/adding examples of DeepONets #149

Closed
wants to merge 506 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
506 commits
Select commit Hold shift + click to select a range
e718c22
Added new documentation
Oct 10, 2023
3c06e23
adding nojekyll
Oct 10, 2023
43d4e6d
Merge branch 'birmiwal.rahul_development' of https://github.com/pnnl/…
Oct 10, 2023
94d9d94
trying alternative solution GHA
Oct 11, 2023
035291c
bug fix
Oct 11, 2023
e1894e1
bug fix
Oct 11, 2023
3d0b13b
added random walk signals to signals dictionary, modified signals tes…
Seth1Briney Oct 12, 2023
928b406
Merge pull request #102 from pnnl/rd-walk-signals
drgona Oct 13, 2023
7f885af
adding test readme to test changes to docs workflow
Oct 13, 2023
6cb8eba
re-adding original readme
Oct 13, 2023
5f3b7cd
testing modification to docs -- activations
Oct 13, 2023
2e79c6b
re-adding original activatoins.rst
Oct 13, 2023
f2587af
update readmes + new cvxpy example
drgona Oct 13, 2023
93958aa
fix readmes
drgona Oct 13, 2023
4484064
updated cvxpy layer example
drgona Oct 14, 2023
c7f25b0
updated cvxpylayer example
drgona Oct 15, 2023
c2b3fda
cvxpy layer notebook
drgona Oct 16, 2023
a73712d
Merge pull request #104 from pnnl/develop
drgona Oct 16, 2023
2eba6ef
change umax back to (0.5, 0.5) in TwoTank due to numerical instabilit…
Seth1Briney Oct 16, 2023
2c7bab5
Merge pull request #105 from pnnl/lower-umax-twotank
drgona Oct 16, 2023
0f9d442
add missing deppendency for the cvxpylayer example
drgona Oct 16, 2023
b8938fc
adding progress to test_system
Oct 17, 2023
6a4cc6b
updates to test problem and system
Oct 18, 2023
6c36f84
testing activatiosn docss
Oct 18, 2023
aa70273
latest updates to test system and problem
Oct 18, 2023
5b29162
update readme param programming
drgona Oct 19, 2023
e90c9a2
Revisions to github action script to push to gh-pages
Oct 19, 2023
2032b76
fix issue
Oct 19, 2023
913c1bf
adding original activations docs
Oct 19, 2023
e4181f6
fix to run on personal branch push to test
Oct 19, 2023
ea61e0b
bug fix
Oct 19, 2023
0442a64
updates to test system and problem
Oct 20, 2023
74779ba
updating update_docs so it runs only on master
Oct 20, 2023
e2d5da7
fixing docstring for MovingHorizon
Oct 20, 2023
f66db6f
updating readme to reflect new docs process
Oct 20, 2023
d2ea589
experiments koopman control
drgona Oct 23, 2023
e27f75e
update system.show() method
drgona Oct 23, 2023
ab3bece
remove file
drgona Oct 23, 2023
6491f01
New feat: update energy
LucasBoTang Oct 25, 2023
32a9bad
Merge pull request #110 from LucasBoTang/gradproj
drgona Oct 25, 2023
9d0bfd3
updating readme in docs to include info about GHA
Oct 28, 2023
5fc6e87
revision to include line-by-line comments
Oct 28, 2023
5b5b998
update README to include pip install and example usage instructions
Oct 28, 2023
7acd0a0
refactored some code and improved readability and removed test case f…
Oct 29, 2023
a15aa89
made changes to test for movinghorizon, checking correctness of output
Oct 30, 2023
5bbf055
updated docstring of MovingHorizon forward. The output should indeed …
Oct 30, 2023
3de1e5b
removing nojekyll file -- not needed for docs push
Oct 30, 2023
e91f928
Merge pull request #107 from pnnl/birmiwal.rahul_development
RBirmiwal Oct 30, 2023
d5809ce
update pyproject.toml with latest version number
Nov 1, 2023
3347ff3
remove helper.py from tests
Nov 1, 2023
7076608
added version 1.4.2 placeholders in readme files
Nov 1, 2023
4c4d3a0
potential fix to bias logic issue
Nov 3, 2023
4017575
potential fix to bias logic issue. Removed a typo
Nov 3, 2023
c7d2762
modifying notebooks to a different install line and adding note refle…
Nov 3, 2023
2c18bd3
adding notebook that showscases Pytorch Lightning integration for pro…
Nov 3, 2023
d410c7b
Fixed positional argument error and added support for Time data
Nov 7, 2023
9ce54eb
Merge pull request #119 from pnnl/file_emulator_fix
drgona Nov 7, 2023
a60dac7
update release notes and readme
madelynshapiro Nov 7, 2023
1992204
Merge pull request #120 from pnnl/develop
madelynshapiro Nov 7, 2023
216cabc
Update README.md
madelynshapiro Nov 7, 2023
d76d17d
Update README.md
drgona Nov 7, 2023
e1fdc85
Update README.md
drgona Nov 7, 2023
a193a57
Update RELEASE_NOTES.md
drgona Nov 7, 2023
e8fdf4f
fix for issue 111
Nov 8, 2023
1ef8412
Merge pull request #121 from pnnl/master
drgona Nov 8, 2023
7acb6f5
hotfix cvxpylayer notebook + readme update
drgona Nov 10, 2023
fb8a44d
Fix to linear.py
Nov 10, 2023
58ff74d
testing lightning integration for NODE problems
Nov 13, 2023
b8fefc4
modifying notebooks to a different install line and adding note refle…
Nov 3, 2023
35358a1
adding cvxpy, etc to pyproject
Nov 13, 2023
83ca632
adding casadi to pyproject
Nov 13, 2023
a099376
added numpy import that was missing
Nov 13, 2023
1f27ee7
potential fix to bias logic issue
Nov 3, 2023
290a275
potential fix to bias logic issue. Removed a typo
Nov 3, 2023
5286729
Fix to linear.py
Nov 10, 2023
141b711
Merge branch 'bug/108-linear-base' of https://github.com/pnnl/neuroma…
Nov 13, 2023
0ed9798
Merge pull request #123 from pnnl/bug/116-koopman-operators-imports
drgona Nov 13, 2023
c28ae4e
Merge pull request #124 from pnnl/bug/108-linear-base
drgona Nov 13, 2023
4dc0359
New feat: freeze parameters
LucasBoTang Nov 14, 2023
7751c82
Merge pull request #125 from LucasBoTang/param_freeze
drgona Nov 14, 2023
6155f77
adding files protoyping lightning integration for generalized problem…
Nov 15, 2023
446a7b0
protoyping source code for lightning integration and GPU support
Dec 12, 2023
1c0fcee
beginning folder containing lightning and gpu support examples
Dec 12, 2023
a5f97f3
adding initial draft of version showcasing distributed training suppo…
Dec 12, 2023
9f405e8
updates to source code for lightning
Dec 13, 2023
39a8ff9
updating lightning examples, including one that solves issue 129 (luc…
Dec 13, 2023
d4341ef
adding notebook that showscases Pytorch Lightning integration for pro…
Nov 3, 2023
b6a424d
fix for issue 111
Nov 8, 2023
5cdb824
testing lightning integration for NODE problems
Nov 13, 2023
a602bb6
adding files protoyping lightning integration for generalized problem…
Nov 15, 2023
a1412df
protoyping source code for lightning integration and GPU support
Dec 12, 2023
e337961
beginning folder containing lightning and gpu support examples
Dec 12, 2023
eed9fdb
adding initial draft of version showcasing distributed training suppo…
Dec 12, 2023
8d81520
updates to source code for lightning
Dec 13, 2023
1ec3082
updating lightning examples, including one that solves issue 129 (luc…
Dec 13, 2023
1e272e1
eerge branch 'feature/lightning-integration' of https://github.com/pn…
Dec 13, 2023
2c8da60
updates for lightning integration
Jan 8, 2024
0863561
revising source code files for lightning
Jan 16, 2024
0a7f3eb
fixing issues for loading weights back into problem
Jan 17, 2024
27c5415
adding revised lightning examples folder
Jan 17, 2024
62f9afd
changed Eq to nn.Module
Jan 17, 2024
ab7796e
updating tests
Jan 17, 2024
57151b1
modified custom training step slightly
Jan 17, 2024
f74c81e
revising README
Jan 17, 2024
2ea48fc
added wrong version earlier
Jan 17, 2024
f53c385
fixed typo
Jan 17, 2024
613db27
refactored littrainer and removed monitor_metric (redundant)
Jan 17, 2024
6a7fe97
more revisions
Jan 18, 2024
59d45f4
updates to include wandb, logging integration and warmup fix
Jan 26, 2024
ea50322
adding README
Jan 26, 2024
699e3d1
adding lightning and wandb to pyproject.toml
Jan 26, 2024
f269e5e
adding tensorboard example
Jan 26, 2024
8025c9e
removing PINN example
Jan 26, 2024
acb8378
removing complex...example. Now in Part 3 of main examples folder
Jan 26, 2024
9bac06f
removing old notebook
Jan 26, 2024
ee7477b
adding snippet for wanbd logger
Jan 26, 2024
47b0520
rremoving old noteboook
Jan 26, 2024
cccc372
added cvxpy, etc to resolve conflict
Apr 5, 2024
be85d72
updated version number and updated email
Apr 5, 2024
4cfa599
Merge pull request #133 from pnnl/feature/lightning-integration
RBirmiwal Apr 5, 2024
ecb2a0c
fixed indent
Apr 5, 2024
9eb2485
Merge branch 'develop' into feature/lightning-integration
RBirmiwal Apr 5, 2024
79fa5b4
removed straggler files
Apr 9, 2024
efb63ec
adding README and release_notes
Apr 9, 2024
7e41dbb
fixed wording
Apr 9, 2024
63dbc8b
fixed wording
Apr 9, 2024
a4fd2fa
fixed wording
Apr 9, 2024
c4e5811
typo
RBirmiwal Apr 9, 2024
ba42bc9
update README
Apr 9, 2024
f62656d
update README
Apr 9, 2024
7ab9794
fix typos
Apr 9, 2024
1ce640e
Merge pull request #142 from pnnl/develop
RBirmiwal Apr 9, 2024
3089cca
Update pyproject.toml
RBirmiwal Apr 10, 2024
b372a5a
update lightning notebook language to inform user if running on colab…
Apr 10, 2024
99e3de1
Merge pull request #143 from pnnl/develop
RBirmiwal Apr 10, 2024
3f08590
Fix typos in intro tutorial docs
Apr 19, 2024
14225e6
Make tests run on linux
l2late Apr 23, 2024
8ccf311
Merge pull request #147 from DonnaVakalis/fix-typos
drgona Apr 23, 2024
16d0a5e
Merge pull request #148 from l2late/master
drgona Apr 23, 2024
45bd9d1
Adding example 1 (antiderivative) of DeepOnets
brunopjacob Apr 23, 2024
c204676
Commit test
colbyham Apr 24, 2024
83e368d
Remove test commit file
colbyham Apr 25, 2024
17cf7ec
removing duplicate example
Apr 25, 2024
bec96b9
Add current progress w/ loss history plotting
colbyham Apr 27, 2024
633e7a8
Fixed typos in parametric programming tutorials
May 1, 2024
fccf661
Merge branch 'master' into new-typos
May 1, 2024
8d2746c
Merge pull request #150 from DonnaVakalis/new-typos
drgona May 1, 2024
08cbb4d
Add curent progress for deeponet example
colbyham May 1, 2024
c991128
Add current changes to trainer
colbyham May 1, 2024
b3b07c5
add reqs file
colbyham May 1, 2024
f46b9ec
commit w/ less log prints
colbyham May 1, 2024
53e4db2
basic KAN integration and 2d steady Navier-Stokes companion example
brunopjacob May 6, 2024
b8217e6
TLC of example
brunopjacob May 7, 2024
c9f3210
TLC
brunopjacob May 7, 2024
c41b13d
adding kan to dict of blocks
brunopjacob May 7, 2024
128798a
Add latest progress
colbyham May 9, 2024
8ec6ce7
add deepxde to requirements for operator example
colbyham May 9, 2024
efdfda6
Move basic time comparison to completed
colbyham May 9, 2024
5074c92
Merge pull request #151 from pnnl/feature/kan_integration
drgona May 10, 2024
8358741
Add current progress trying to get a class implemented
colbyham May 16, 2024
a97fa70
Update README.md
drgona May 16, 2024
62a2f83
Add DeepONet class working definitino and usage in notebook
colbyham May 16, 2024
f602f77
Move multi-node example to separate notebook
colbyham May 20, 2024
81d5602
Move dataset prep to function to reduce amount of code
colbyham May 23, 2024
0ac0b42
Added custom legends to plots
caryfaulknerPNNL May 29, 2024
9ca2d38
Changed pltCL function to return figure objects to allow for custom p…
caryfaulknerPNNL May 29, 2024
3a47e6c
Added custom legends to plots
caryfaulknerPNNL May 29, 2024
0702f47
Changed pltOL function to return figure objects for custom plotting
caryfaulknerPNNL May 29, 2024
976b804
Modified custom legends
caryfaulknerPNNL May 29, 2024
d1a8071
Fixed pydot error
caryfaulknerPNNL May 29, 2024
cad5af5
Fixed pydot error
caryfaulknerPNNL May 29, 2024
e4c5bef
Added custom legends to plots
caryfaulknerPNNL May 29, 2024
8dee461
Added custom legends
caryfaulknerPNNL May 29, 2024
a3c6321
Updated names in legends
caryfaulknerPNNL May 29, 2024
4eeb56d
Merge pull request #157 from pnnl/issue_improve_building_examples
drgona May 29, 2024
0daec7e
fixed predator-prey equation in PSL.autonomous
MatisPatel May 30, 2024
48f6fc0
fixing the terms in the LV equation for dynamics.ode
MatisPatel May 30, 2024
4cf55aa
Update ode.py
drgona May 30, 2024
a7043d5
Merge pull request #158 from MatisPatel/fixing--LV
drgona May 30, 2024
605b6c9
Add latest progress, cleanup and added markdown for problem setup
colbyham May 30, 2024
fa134b5
Update README.md
drgona May 30, 2024
72f4e7b
Confirm cpu and mps(gpu like) devices both work with example
colbyham Jun 1, 2024
e82cd4c
Commit datasets to repo
colbyham Jun 1, 2024
6af30ff
Remove some extra comments for cleanup
colbyham Jun 1, 2024
be3cd59
Remove deepxde example after comparing
colbyham Jun 1, 2024
fe18975
Merge pull request #161 from pnnl/master
drgona Jun 5, 2024
2d279fb
Get train and dev loss plotting in one plot
colbyham Jun 7, 2024
26629b0
Convert original test split to dev/test split
colbyham Jun 7, 2024
0b310d0
Add another example of a more understandable integral
colbyham Jun 7, 2024
07321b6
Switch patience from 5->0, once loss starts increasing seems clear th…
colbyham Jun 7, 2024
fdf3542
Add problem predict method to example to replace step
colbyham Jun 7, 2024
caef33d
Add current progress to note with dynamic loss printing from callback
colbyham Jun 7, 2024
48a5350
Update static plot title
colbyham Jun 7, 2024
ebd42bc
Move import to top
colbyham Jun 7, 2024
66c8580
add note about problem predict
colbyham Jun 10, 2024
88b3989
add note about adding symbolic example
colbyham Jun 10, 2024
884a0c8
add latest
colbyham Jun 10, 2024
891239a
Remove requirements file
colbyham Jun 14, 2024
acf4d63
Rename notebook
colbyham Jun 14, 2024
aa50124
remove multinode example
colbyham Jun 14, 2024
ef7e2e2
Add deeponets to readmes and clean up notebook, remove completed tasks
colbyham Jun 14, 2024
d8571eb
Add latest for testing on colab
colbyham Jun 14, 2024
045894a
remove debug comment in trainer
colbyham Jun 14, 2024
a1c8c29
Fix comment for final link
colbyham Jun 14, 2024
622e7ad
Add final changes
colbyham Jun 14, 2024
4956a77
Remove comment about single node
colbyham Jun 14, 2024
def02ca
Remove DeepONet class from blocks, move DeepONet class to dynamics.op…
colbyham Jun 27, 2024
35fa55a
Adding example 1 (antiderivative) of DeepOnets
brunopjacob Apr 23, 2024
e15ce47
Commit test
colbyham Apr 24, 2024
66ea7a7
Remove test commit file
colbyham Apr 25, 2024
cafbade
Add current progress w/ loss history plotting
colbyham Apr 27, 2024
d239c87
Add curent progress for deeponet example
colbyham May 1, 2024
6744981
Add current changes to trainer
colbyham May 1, 2024
bb6d465
add reqs file
colbyham May 1, 2024
4ed2311
commit w/ less log prints
colbyham May 1, 2024
900c106
Add latest progress
colbyham May 9, 2024
57eefa6
add deepxde to requirements for operator example
colbyham May 9, 2024
0e64074
Move basic time comparison to completed
colbyham May 9, 2024
4d57eda
Add current progress trying to get a class implemented
colbyham May 16, 2024
a37127f
Add DeepONet class working definitino and usage in notebook
colbyham May 16, 2024
2283496
Move multi-node example to separate notebook
colbyham May 20, 2024
fa08640
Move dataset prep to function to reduce amount of code
colbyham May 23, 2024
8209a1b
Add latest progress, cleanup and added markdown for problem setup
colbyham May 30, 2024
d2fab27
Confirm cpu and mps(gpu like) devices both work with example
colbyham Jun 1, 2024
de691e4
Commit datasets to repo
colbyham Jun 1, 2024
2f357ac
Remove some extra comments for cleanup
colbyham Jun 1, 2024
79290b9
Remove deepxde example after comparing
colbyham Jun 1, 2024
4acae2d
Get train and dev loss plotting in one plot
colbyham Jun 7, 2024
7222af5
Convert original test split to dev/test split
colbyham Jun 7, 2024
b7765c8
Add another example of a more understandable integral
colbyham Jun 7, 2024
21f08f9
Switch patience from 5->0, once loss starts increasing seems clear th…
colbyham Jun 7, 2024
ba5ff1b
Add problem predict method to example to replace step
colbyham Jun 7, 2024
82b8564
Add current progress to note with dynamic loss printing from callback
colbyham Jun 7, 2024
689460b
Update static plot title
colbyham Jun 7, 2024
344eeee
Move import to top
colbyham Jun 7, 2024
2858c53
add note about problem predict
colbyham Jun 10, 2024
95620fe
add note about adding symbolic example
colbyham Jun 10, 2024
ce0410c
add latest
colbyham Jun 10, 2024
73e6e85
Remove requirements file
colbyham Jun 14, 2024
857f5b0
Rename notebook
colbyham Jun 14, 2024
d0aa224
remove multinode example
colbyham Jun 14, 2024
352d766
Rebase onto develop
colbyham Jun 27, 2024
b63fd13
Add latest for testing on colab
colbyham Jun 14, 2024
c931056
remove debug comment in trainer
colbyham Jun 14, 2024
7981caf
Fix comment for final link
colbyham Jun 14, 2024
fe1d7eb
Add final changes
colbyham Jun 14, 2024
d23a4e4
Remove comment about single node
colbyham Jun 14, 2024
0cc06b6
Remove DeepONet class from blocks, move DeepONet class to dynamics.op…
colbyham Jun 27, 2024
647505d
Merge remote-tracking branch 'origin/feature/deeponet_examples' into …
colbyham Jun 27, 2024
1aef4ba
rename directory DeepONets -> neural_operators
colbyham Jun 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/update_docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Automate Documentation Build #name of action

on: #trigger event
push:
branches:
- master #execute on a push to master branch

permissions:
contents: write #grant access to write to master branch

jobs: #define set of jobs. Here there is only one job, each job is instantiated on a Github-hosted runner
docs: #name of the job
runs-on: ubuntu-latest #runner runs on latest version of Ubuntu
steps: #this job is associated with a series of steps

# step 1: syntax for telling GHA to use this repository's code as "root" directory. Rest of GHA is able to have access
- uses: actions/checkout@v3
# step 2: #syntax for telling GHA to set-up Python on this runner associated for this whole job
- uses: actions/setup-python@v3

# Step 3: define a step that install dependencies (Sphinx etc) for this runner
- name: Install dependencies #name of this step
run: | #indicate that following script is meant to be multi-line
pip install sphinx sphinx_rtd_theme myst_parser

# Step 4: Build docs using sphinx. TZ=UTC needed to circumvent a nuance of running Sphinx on GHA runner
- name: Sphinx build
run: |
TZ=UTC sphinx-build docs html

# Step 5: Deploy the newly built docs to gh-pages branch
- name: Deploy to GitHub Pages
#uses a github action "extension" called actions-gh-pages
uses: peaceiris/actions-gh-pages@v3
if: github.ref == 'refs/heads/master' #ensure that we are on the master branch

#following is syntax for using actions-gh-pages action
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: html/ #docs to publish to html directory
force_orphan: true #common command associated with deploying a GitHub Page
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,6 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
#.idea/

building_parameters/
55 changes: 55 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@

## Community Development Guidelines

We welcome contributions and feedback from the open-source community!

### Discussions

[Discussions](https://github.com/pnnl/neuromancer/discussions) should be the first line of contact for new users to provide direct feedback on the library.
Post your [Ideas](https://github.com/pnnl/neuromancer/discussions/categories/ideas) for new features or examples,
showcase your work using neuromancer in [Show and tell](https://github.com/pnnl/neuromancer/discussions/categories/show-and-tell),
or get support for usage in [Q&As](https://github.com/pnnl/neuromancer/discussions/categories/q-a),
please post them in one of our categories.


### Contributing examples
If you have an example of using NeuroMANCER to solve an interesting problem, or of using
NeuroMANCER in a unique way please share them in [Show and tell](https://github.com/pnnl/neuromancer/discussions/categories/show-and-tell)
discussions.
The best examples might be incorporated into our current library of examples.
To submit an example, create a folder for your example/s in the example folder if there isn't
currently an applicable folder and place either your executable python file or notebook file there.
Push your code back to Github and then submit a pull request. Please make sure to note in a comment at
the top of your code if there are additional dependencies to run your example and how to install
those dependencies.

### Contributing code

We welcome contributions to NeuroMANCER. Please accompany contributions with some lightweight unit tests
via pytest (see test/ folder for some examples of easy to compose unit tests using pytest).
In addition to unit tests
a script utilizing introduced new classes or modules should be placed in the examples folder.
To contribute a new well-developed feature please submit a pull request (PR).
Before creating a PR, we encourage developers to discuss and document the intended feature
in [Ideas](https://github.com/pnnl/neuromancer/discussions/categories/ideas) discussion category.

### Reporting issues or bugs
If you find a bug in the code or want to request a new well-developed feature, please open an [issue](https://github.com/pnnl/neuromancer/issues).


## NeuroMANCER development plan
Here are some upcoming features we plan to develop. Please let us know if you would like to get involved and
contribute so we may be able to coordinate on development. If there is a feature that you think would
be highly valuable but not included below, please open an issue and let us know your thoughts.

+ Control and modelling for networked systems
+ Support for stochastic differential equations (SDEs)
+ Easy to implement modeling and control with uncertainty quantification
+ Proximal operators for dealing with equality and inequality constraints
+ Interface with CVXPYlayers
+ Online learning examples
+ Benchmark examples of DPC compared to deep RL
+ Conda and pip package distribution
+ More versatile and simplified time series dataloading
+ Discovery of governing equations from learned RHS via NODEs and SINDy
+ More domain science examples
Binary file removed Documentation.pdf
Binary file not shown.
Loading