Skip to content

Commit c93bf03

Browse files
committed
Clean up the codebase and use the latest versions of NonlinearSolve and SteadyStateDiffEq
1 parent fd1a8ba commit c93bf03

36 files changed

+712
-1549
lines changed

.JuliaFormatter.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
style = "sciml"
22
whitespace_in_kwargs = false
3-
always_use_return = true
43
format_docstrings = true
54
separate_kwargs_with_semicolon = true
65
format_markdown = true

.github/workflows/CI.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ jobs:
2121
strategy:
2222
fail-fast: false
2323
matrix:
24-
group:
25-
- CORE
26-
- LAYERS
27-
- ADJOINT
2824
version:
2925
- '1'
3026
steps:
@@ -44,9 +40,9 @@ jobs:
4440
${{ runner.os }}-
4541
- uses: julia-actions/julia-buildpkg@v1
4642
- uses: julia-actions/julia-runtest@v1
47-
env:
48-
GROUP: ${{ matrix.group }}
4943
- uses: julia-actions/julia-processcoverage@v1
44+
with:
45+
directories: src,ext
5046
- uses: codecov/codecov-action@v3
5147
with:
5248
files: lcov.info

Project.toml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
11
name = "DeepEquilibriumNetworks"
22
uuid = "6748aba7-0e9b-415e-a410-ae3cc0ecb334"
33
authors = ["Avik Pal <avikpal@mit.edu>"]
4-
version = "1.4.0"
4+
version = "2.0.0"
55

66
[deps]
7+
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
78
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
89
ConcreteStructs = "2569d6c7-a4a2-43d3-a901-331e8e4be471"
10+
ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
911
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
1012
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
11-
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
1213
Lux = "b2108857-7c20-44ae-9111-449ecde12c47"
13-
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
14-
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
1514
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
16-
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
1715
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
18-
SciMLSensitivity = "1ed8b502-d754-442c-8d5d-10ac956f44a1"
19-
Setfield = "efcf1570-3423-57d1-acb7-fd33fddbac46"
2016
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
2117
SteadyStateDiffEq = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f"
2218
TruncatedStacktraces = "781d530d-4396-4725-bb49-402e4bee1e77"
19+
20+
[weakdeps]
21+
SciMLSensitivity = "1ed8b502-d754-442c-8d5d-10ac956f44a1"
2322
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
2423

24+
[extensions]
25+
DeepEquilibriumNetworksSciMLSensitivityExt = "SciMLSensitivity"
26+
DeepEquilibriumNetworksZygoteExt = "Zygote"
27+
2528
[compat]
29+
ADTypes = "0.2.5"
2630
ChainRulesCore = "1"
2731
ConcreteStructs = "0.2"
32+
ConstructionBase = "1"
2833
DiffEqBase = "6.119"
2934
LinearAlgebra = "1"
30-
LinearSolve = "1, 2"
3135
Lux = "0.5.7"
32-
NonlinearSolve = "2"
33-
OrdinaryDiffEq = "6"
3436
Random = "1"
35-
Reexport = "1"
3637
SciMLBase = "2"
3738
SciMLSensitivity = "7.43"
38-
Setfield = "1"
3939
Statistics = "1"
40-
SteadyStateDiffEq = "1.16"
40+
SteadyStateDiffEq = "2"
4141
TruncatedStacktraces = "1.1"
42-
Zygote = "0.6.34"
42+
Zygote = "0.6.67"
4343
julia = "1.9"

README.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,11 @@ If you are using this project for research or other academic purposes consider c
5757
paper:
5858

5959
```bibtex
60-
@misc{pal2022mixing,
61-
title={Mixing Implicit and Explicit Deep Learning with Skip DEQs and Infinite Time Neural
62-
ODEs (Continuous DEQs)},
63-
author={Avik Pal and Alan Edelman and Christopher Rackauckas},
64-
year={2022},
65-
eprint={2201.12240},
66-
archivePrefix={arXiv},
67-
primaryClass={cs.LG}
60+
@article{pal2022continuous,
61+
title={Continuous Deep Equilibrium Models: Training Neural ODEs Faster by Integrating Them to Infinity},
62+
author={Pal, Avik and Edelman, Alan and Rackauckas, Christopher},
63+
booktitle={2023 IEEE High Performance Extreme Computing Conference (HPEC)},
64+
year={2023}
6865
}
6966
```
7067

docs/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
44
DocumenterCitations = "daee34ce-89f3-4625-b898-19384cb65244"
55

66
[compat]
7-
DeepEquilibriumNetworks = "1"
7+
DeepEquilibriumNetworks = "2"
88
Documenter = "1"
99
DocumenterCitations = "0.2, 1"

docs/make.jl

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,10 @@ bib = CitationBibliography(joinpath(@__DIR__, "ref.bib"); style=:authoryear)
77

88
include("pages.jl")
99

10-
makedocs(;
11-
sitename="Fast Deep Equilibrium Networks",
12-
authors="Avik Pal et al.",
13-
modules=[DeepEquilibriumNetworks],
14-
clean=true,
15-
doctest=false,
16-
linkcheck=true,
17-
format=Documenter.HTML(;
18-
assets=["assets/favicon.ico"],
10+
makedocs(; sitename="Deep Equilibrium Networks", authors="Avik Pal et al.",
11+
modules=[DeepEquilibriumNetworks], clean=true, doctest=true,
12+
linkcheck=true, format=Documenter.HTML(; assets=["assets/favicon.ico"],
1913
canonical="https://docs.sciml.ai/DeepEquilibriumNetworks/stable/"),
20-
plugins=[bib],
21-
pages)
14+
plugins=[bib], pages)
2215

2316
deploydocs(; repo="github.com/SciML/DeepEquilibriumNetworks.jl.git", push_preview=true)

docs/pages.jl

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
pages = [
22
"Home" => "index.md",
3-
"Manual" => [
4-
"Dynamical Systems" => "manual/solvers.md",
5-
"DEQ Layers" => "manual/deqs.md",
6-
"Miscellaneous" => "manual/misc.md",
7-
],
3+
"Tutorial" => "tutorial.md",
4+
"API References" => "api.md",
85
"References" => "references.md",
96
]

docs/src/api.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Deep Equilibrium Models
2+
3+
[baideep2019](@cite) introduced Discrete Deep Equilibrium Models which drives a Discrete
4+
Dynamical System to its steady-state. [pal2022mixing](@cite) extends this framework to
5+
Continuous Dynamical Systems which converge to the steady-stable in a more stable fashion.
6+
For a detailed discussion refer to [pal2022mixing](@cite).
7+
8+
To construct a continuous DEQ, any ODE solver compatible with `DifferentialEquations.jl` API
9+
can be passed as the solver. To construct a discrete DEQ, any root finding algorithm
10+
compatible with `NonlinearSolve.jl` API can be passed as the solver.
11+
12+
## Standard Models
13+
14+
```@docs
15+
DeepEquilibriumNetwork
16+
SkipDeepEquilibriumNetwork
17+
```
18+
19+
## MultiScale Models
20+
21+
```@docs
22+
MultiScaleDeepEquilibriumNetwork
23+
MultiScaleSkipDeepEquilibriumNetwork
24+
MultiScaleNeuralODE
25+
```
26+
27+
## Solution
28+
29+
```@docs
30+
DeepEquilibriumSolution
31+
```

docs/src/manual/deqs.md

Lines changed: 0 additions & 16 deletions
This file was deleted.

docs/src/manual/misc.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)