From 1c110c5f8a0386fc6a0e66002fcd19a397b9ef4a Mon Sep 17 00:00:00 2001 From: Sathvik Bhagavan Date: Thu, 4 Apr 2024 04:16:02 +0000 Subject: [PATCH 1/3] ci: add NNODE, NeuralAdapter, IntegroDiff in GHA from buildkite to have them in Downgrade CI --- .buildkite/pipeline.yml | 25 ------------------------- .github/workflows/CI.yml | 3 +++ .github/workflows/Downgrade.yml | 3 +++ 3 files changed, 6 insertions(+), 25 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 7a4e4387a..a83997c38 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -16,31 +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" - 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: diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 97b6f7f8f..c11720597 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -26,6 +26,9 @@ jobs: - Logging - Forward - DGM + - NNODE + - NeuralAdapter + - IntegroDiff version: - "1" steps: diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index 190d11e1f..631e42015 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -26,6 +26,9 @@ jobs: - Logging - Forward - DGM + - NNODE + - NeuralAdapter + - IntegroDiff version: - "1" steps: From 4fe0529576d4c2df5eda9900a8a1ea0345965f5c Mon Sep 17 00:00:00 2001 From: Sathvik Bhagavan Date: Thu, 4 Apr 2024 04:17:04 +0000 Subject: [PATCH 2/3] build: bump versions to get QA passing in Downgrade --- Project.toml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Project.toml b/Project.toml index d1508cbd1..3541fae00 100644 --- a/Project.toml +++ b/Project.toml @@ -42,7 +42,7 @@ Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" Adapt = "4" AdvancedHMC = "0.6.1" Aqua = "0.8" -ArrayInterface = "7.8" +ArrayInterface = "7.9" CUDA = "5.2" ChainRulesCore = "1.21" ComponentArrays = "0.15.8" @@ -55,7 +55,7 @@ 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" @@ -63,7 +63,7 @@ Lux = "0.5.22" LuxCUDA = "0.3.2" MCMCChains = "6" MethodOfLines = "0.11" -ModelingToolkit = "9.7" +ModelingToolkit = "9.9" MonteCarloMeasurements = "1.1" Optim = "1.7.8" Optimization = "3.24" @@ -78,8 +78,8 @@ RuntimeGeneratedFunctions = "0.5.12" SafeTestsets = "0.1" SciMLBase = "2.28" Statistics = "1.10" -SymbolicUtils = "1.4" -Symbolics = "5.24" +SymbolicUtils = "1.5" +Symbolics = "5.27.1" Test = "1" UnPack = "1" Zygote = "0.6.69" From 41fa43401c9dcc77b2c41450d2be118ea6fa7fe2 Mon Sep 17 00:00:00 2001 From: Sathvik Bhagavan Date: Thu, 4 Apr 2024 04:17:51 +0000 Subject: [PATCH 3/3] docs: add reference for the bloch equations in the complex example --- docs/src/examples/complex.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/src/examples/complex.md b/docs/src/examples/complex.md index a44e31e79..a11a4d4d0 100644 --- a/docs/src/examples/complex.md +++ b/docs/src/examples/complex.md @@ -1,6 +1,6 @@ # Complex Equations with PINNs -NeuralPDE supports training PINNs with complex differential equations. This example will demonstrate how to use it for [`NNODE`](@ref). Let us consider a system of [bloch equations](https://en.wikipedia.org/wiki/Bloch_equations). Note [`QuadratureTraining`](@ref) cannot be used with complex equations due to current limitations of computing quadratures. +NeuralPDE supports training PINNs with complex differential equations. This example will demonstrate how to use it for [`NNODE`](@ref). Let us consider a system of [bloch equations](https://en.wikipedia.org/wiki/Bloch_equations) [^1]. Note [`QuadratureTraining`](@ref) cannot be used with complex equations due to current limitations of computing quadratures. As the input to this neural network is time which is real, we need to initialize the parameters of the neural network with complex values for it to output and train with complex values. @@ -95,3 +95,5 @@ plot!(ground_truth.t, imag.(reduce(hcat, ground_truth.u)[4, :])) ``` We can see it is able to learn the real parts of `u1`, `u2` and imaginary parts of `u3`, `u4`. + +[^1]: https://steck.us/alkalidata/