Skip to content

Commit

Permalink
Merge branch 'master' into pino_ode
Browse files Browse the repository at this point in the history
  • Loading branch information
KirillZubov authored Apr 8, 2024
2 parents 1e38676 + 6a555d5 commit 8a98880
Show file tree
Hide file tree
Showing 67 changed files with 1,408 additions and 1,141 deletions.
26 changes: 0 additions & 26 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,6 @@ steps:
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

- label: "{{matrix.group}} v{{matrix.version}}"
matrix:
setup:
version:
- "1"
group:
- "NNODE"
- "NeuralAdapter"
- "IntegroDiff"
- "PINO_GPU"
env:
BUILDKITE_PLUGIN_JULIA_VERSION: "{{matrix.version}}"
GROUP: "{{matrix.group}}"
plugins:
- JuliaCI/julia#v1
- JuliaCI/julia-test#v1:
coverage: false
julia_args: "--threads=auto"
agents:
os: "linux"
queue: "juliaecosystem"
arch: "x86_64"
timeout_in_minutes: 680
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

- label: "Documentation"
plugins:
- JuliaCI/julia#v1:
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,14 @@ jobs:
- Forward
- DGM
- ODEPINO
- NNODE
- NeuralAdapter
- IntegroDiff
version:
- "1"
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
- uses: actions/cache@v4
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/Downgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,14 @@ jobs:
- Logging
- Forward
- DGM
- NNODE
- NeuralAdapter
- IntegroDiff
version:
- "1"
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
- uses: actions/cache@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Downstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- {user: SciML, repo: PDESystemLibrary.jl, group: NeuralPDE}
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.julia-version }}
arch: x64
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Invalidations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
if: github.base_ref == github.event.repository.default_branch
runs-on: ubuntu-latest
steps:
- uses: julia-actions/setup-julia@v1
- uses: julia-actions/setup-julia@v2
with:
version: "1"
- uses: actions/checkout@v4
Expand Down
32 changes: 15 additions & 17 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "NeuralPDE"
uuid = "315f7962-48a3-4962-8226-d0f33b1235f0"
authors = ["Chris Rackauckas <[email protected]>"]
version = "5.14.0"
version = "5.16.0"

[deps]
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
Expand All @@ -10,7 +10,6 @@ ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66"
Cubature = "667455a9-e2ce-5579-9412-b964f529a492"
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
DiffEqNoiseProcess = "77a26b50-5914-5dd7-bc55-306e6241c503"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
Expand Down Expand Up @@ -42,47 +41,46 @@ Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
Adapt = "4"
AdvancedHMC = "0.6.1"
Aqua = "0.8"
ArrayInterface = "7.7"
ArrayInterface = "7.9"
CUDA = "5.2"
ChainRulesCore = "1.18"
ChainRulesCore = "1.21"
ComponentArrays = "0.15.8"
Cubature = "1.5"
DiffEqBase = "6.144"
DiffEqNoiseProcess = "5.20"
Distributions = "0.25.107"
DocStringExtensions = "0.9"
DomainSets = "0.6, 0.7"
Flux = "0.14.11"
ForwardDiff = "0.10.36"
Functors = "0.4.4"
Integrals = "4"
Integrals = "4.4"
LineSearches = "7.2"
LinearAlgebra = "1"
LogDensityProblems = "2"
Lux = "0.5.14"
Lux = "0.5.22"
LuxCUDA = "0.3.2"
MCMCChains = "6"
MethodOfLines = "0.10.7"
ModelingToolkit = "8.75"
MethodOfLines = "0.11"
ModelingToolkit = "9.9"
MonteCarloMeasurements = "1.1"
Optim = "1.7.8"
Optimization = "3.22"
Optimization = "3.24"
OptimizationOptimJL = "0.2.1"
OptimizationOptimisers = "0.2.1"
OrdinaryDiffEq = "6.70"
OrdinaryDiffEq = "6.74"
Pkg = "1"
QuasiMonteCarlo = "0.3.2"
Random = "1"
Reexport = "1.2"
RuntimeGeneratedFunctions = "0.5.11"
RuntimeGeneratedFunctions = "0.5.12"
SafeTestsets = "0.1"
SciMLBase = "2.24"
SciMLBase = "2.28"
Statistics = "1.10"
SymbolicUtils = "1.4"
Symbolics = "5.17"
SymbolicUtils = "1.5"
Symbolics = "5.27.1"
Test = "1"
UnPack = "1"
Zygote = "0.6.68"
Zygote = "0.6.69"
julia = "1.10"

[extras]
Expand All @@ -91,12 +89,12 @@ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"
LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255"
LuxCUDA = "d0bbae9a-e099-4d5b-a835-1c6931763bda"
MethodOfLines = "94925ecb-adb7-4558-8ed8-f975c56a0bf4"
OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
MethodOfLines = "94925ecb-adb7-4558-8ed8-f975c56a0bf4"

[targets]
test = ["Aqua", "Test", "CUDA", "SafeTestsets", "OptimizationOptimJL", "Pkg", "OrdinaryDiffEq", "LineSearches", "LuxCUDA", "Flux", "MethodOfLines"]
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ xs, ys = [infimum(d.domain):(dx / 10):supremum(d.domain) for d in domains]
analytic_sol_func(x, y) = (sin(pi * x) * sin(pi * y)) / (2pi^2)

u_predict = reshape([first(phi([x, y], res.minimizer)) for x in xs for y in ys],
(length(xs), length(ys)))
(length(xs), length(ys)))
u_real = reshape([analytic_sol_func(x, y) for x in xs for y in ys],
(length(xs), length(ys)))
(length(xs), length(ys)))
diff_u = abs.(u_predict .- u_real)

using Plots
Expand Down
30 changes: 15 additions & 15 deletions docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,29 +28,29 @@ Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665"
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"

[compat]
AdvancedHMC = "0.6"
ComponentArrays = "0.15"
AdvancedHMC = "0.6.1"
ComponentArrays = "0.15.8"
Cubature = "1.5"
DiffEqBase = "6.106"
Distributions = "0.25"
DiffEqBase = "6.148"
Distributions = "0.25.107"
Documenter = "1"
DomainSets = "0.6, 0.7"
Flux = "0.14"
Flux = "0.14.11"
Integrals = "4"
LineSearches = "7.2"
Lux = "0.5"
LuxCUDA = "0.3"
MethodOfLines = "0.10"
ModelingToolkit = "8.33"
Lux = "0.5.22"
LuxCUDA = "0.3.2"
MethodOfLines = "0.11"
ModelingToolkit = "9.7"
MonteCarloMeasurements = "1"
NeuralPDE = "5.3"
Optimization = "3.9"
OptimizationOptimJL = "0.2"
OptimizationOptimisers = "0.2"
NeuralPDE = "5.14"
Optimization = "3.24"
OptimizationOptimJL = "0.2.1"
OptimizationOptimisers = "0.2.1"
OptimizationPolyalgorithms = "0.2"
OrdinaryDiffEq = "6.31"
OrdinaryDiffEq = "6.74"
Plots = "1.36"
QuasiMonteCarlo = "0.3"
QuasiMonteCarlo = "0.3.2"
Random = "1"
Roots = "2.0"
SpecialFunctions = "2.1"
16 changes: 8 additions & 8 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ using Plots
include("pages.jl")

makedocs(sitename = "NeuralPDE.jl",
authors = "#",
modules = [NeuralPDE],
clean = true, doctest = false, linkcheck = true,
warnonly = [:missing_docs, :example_block],
format = Documenter.HTML(assets = ["assets/favicon.ico"],
canonical = "https://docs.sciml.ai/NeuralPDE/stable/"),
pages = pages)
authors = "#",
modules = [NeuralPDE],
clean = true, doctest = false, linkcheck = true,
warnonly = [:missing_docs],
format = Documenter.HTML(assets = ["assets/favicon.ico"],
canonical = "https://docs.sciml.ai/NeuralPDE/stable/"),
pages = pages)

deploydocs(repo = "github.com/SciML/NeuralPDE.jl.git";
push_preview = true)
push_preview = true)
63 changes: 32 additions & 31 deletions docs/pages.jl
Original file line number Diff line number Diff line change
@@ -1,36 +1,37 @@
pages = ["index.md",
"ODE PINN Tutorials" => Any["Introduction to NeuralPDE for ODEs" => "tutorials/ode.md",
"Bayesian PINNs for Coupled ODEs" => "tutorials/Lotka_Volterra_BPINNs.md",
"PINNs DAEs" => "tutorials/dae.md",
"Parameter Estimation with PINNs for ODEs" => "tutorials/ode_parameter_estimation.md",
"Physics informed Neural Operator ODEs" => "tutorials/pino_ode.md",
"Deep Galerkin Method" => "tutorials/dgm.md"
#"examples/nnrode_example.md", # currently incorrect
],
"PDE PINN Tutorials" => Any["Introduction to NeuralPDE for PDEs" => "tutorials/pdesystem.md",
"Bayesian PINNs for PDEs" => "tutorials/low_level_2.md",
"Using GPUs" => "tutorials/gpu.md",
"Defining Systems of PDEs" => "tutorials/systems.md",
"Imposing Constraints" => "tutorials/constraints.md",
"The symbolic_discretize Interface" => "tutorials/low_level.md",
"Optimising Parameters (Solving Inverse Problems)" => "tutorials/param_estim.md",
"Solving Integro Differential Equations" => "tutorials/integro_diff.md",
"Transfer Learning with Neural Adapter" => "tutorials/neural_adapter.md",
"The Derivative Neural Network Approximation" => "tutorials/derivative_neural_network.md"],
"Bayesian PINNs for Coupled ODEs" => "tutorials/Lotka_Volterra_BPINNs.md",
"PINNs DAEs" => "tutorials/dae.md",
"Parameter Estimation with PINNs for ODEs" => "tutorials/ode_parameter_estimation.md",
"Physics informed Neural Operator ODEs" => "tutorials/pino_ode.md",
"Deep Galerkin Method" => "tutorials/dgm.md" #"examples/nnrode_example.md", # currently incorrect
],
"PDE PINN Tutorials" => Any[
"Introduction to NeuralPDE for PDEs" => "tutorials/pdesystem.md",
"Bayesian PINNs for PDEs" => "tutorials/low_level_2.md",
"Using GPUs" => "tutorials/gpu.md",
"Defining Systems of PDEs" => "tutorials/systems.md",
"Imposing Constraints" => "tutorials/constraints.md",
"The symbolic_discretize Interface" => "tutorials/low_level.md",
"Optimising Parameters (Solving Inverse Problems)" => "tutorials/param_estim.md",
"Solving Integro Differential Equations" => "tutorials/integro_diff.md",
"Transfer Learning with Neural Adapter" => "tutorials/neural_adapter.md",
"The Derivative Neural Network Approximation" => "tutorials/derivative_neural_network.md"],
"Extended Examples" => Any["examples/wave.md",
"examples/3rd.md",
"examples/ks.md",
"examples/heterogeneous.md",
"examples/linear_parabolic.md",
"examples/nonlinear_elliptic.md",
"examples/nonlinear_hyperbolic.md"],
"examples/3rd.md",
"examples/ks.md",
"examples/heterogeneous.md",
"examples/linear_parabolic.md",
"examples/nonlinear_elliptic.md",
"examples/nonlinear_hyperbolic.md",
"examples/complex.md"],
"Manual" => Any["manual/ode.md",
"manual/dae.md",
"manual/pinns.md",
"manual/bpinns.md",
"manual/training_strategies.md",
"manual/adaptive_losses.md",
"manual/logging.md",
"manual/neural_adapters.md"],
"Developer Documentation" => Any["developer/debugging.md"],
"manual/dae.md",
"manual/pinns.md",
"manual/bpinns.md",
"manual/training_strategies.md",
"manual/adaptive_losses.md",
"manual/logging.md",
"manual/neural_adapters.md"],
"Developer Documentation" => Any["developer/debugging.md"]
]
17 changes: 9 additions & 8 deletions docs/src/developer/debugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ strategy = NeuralPDE.GridTraining(dx)
integral = NeuralPDE.get_numeric_integral(strategy, indvars, multioutput, chain, derivative)

_pde_loss_function = NeuralPDE.build_loss_function(eq, indvars, depvars, phi, derivative,
integral, multioutput, init_params,
strategy)
integral, multioutput, init_params,
strategy)
```

```
Expand All @@ -83,9 +83,9 @@ julia> bc_indvars = NeuralPDE.get_variables(bcs,indvars,depvars)

```julia
_bc_loss_functions = [NeuralPDE.build_loss_function(bc, indvars, depvars,
phi, derivative, integral, multioutput,
init_params, strategy,
bc_indvars = bc_indvar)
phi, derivative, integral, multioutput,
init_params, strategy,
bc_indvars = bc_indvar)
for (bc, bc_indvar) in zip(bcs, bc_indvars)]
```

Expand Down Expand Up @@ -126,7 +126,7 @@ julia> expr_bc_loss_functions = [NeuralPDE.build_symbolic_loss_function(bc,indva

```julia
train_sets = NeuralPDE.generate_training_sets(domains, dx, [eq], bcs, eltypeθ, indvars,
depvars)
depvars)
pde_train_set, bcs_train_set = train_sets
```

Expand All @@ -145,8 +145,9 @@ julia> bcs_train_set
```

```julia
pde_bounds, bcs_bounds = NeuralPDE.get_bounds(domains, [eq], bcs, eltypeθ, indvars, depvars,
NeuralPDE.StochasticTraining(100))
pde_bounds, bcs_bounds = NeuralPDE.get_bounds(
domains, [eq], bcs, eltypeθ, indvars, depvars,
NeuralPDE.StochasticTraining(100))
```

```
Expand Down
Loading

0 comments on commit 8a98880

Please sign in to comment.