Skip to content

Commit 0f505ed

Browse files
AoifeHughesAoifeHughes
andauthored
Remove Zygote dependency and update documentation for ForwardDiff integration (#393)
* Remove Zygote dependency and update documentation for ForwardDiff integration * Remove Zygote from AD workflow jobs * fixed failing tests * bump to remove the expected broken things| * tests pls * Add ChainRules for utility functions in PlanarLayer and update tests for EnzymeForward * remove things to try and pass the thing --------- Co-authored-by: AoifeHughes <[email protected]>
1 parent b441777 commit 0f505ed

File tree

10 files changed

+6
-224
lines changed

10 files changed

+6
-224
lines changed

.github/workflows/AD.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ jobs:
3030
- Mooncake
3131
- Tracker
3232
- ReverseDiff
33-
- Zygote
3433
steps:
3534
- uses: actions/checkout@v4
3635

Project.toml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02"
2929
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
3030
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
3131
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
32-
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
3332

3433
[extensions]
3534
BijectorsDistributionsADExt = "DistributionsAD"
@@ -40,7 +39,6 @@ BijectorsMooncakeExt = "Mooncake"
4039
BijectorsReverseDiffExt = "ReverseDiff"
4140
BijectorsReverseDiffChainRulesExt = ["ChainRules", "ReverseDiff"]
4241
BijectorsTrackerExt = "Tracker"
43-
BijectorsZygoteExt = "Zygote"
4442

4543
[compat]
4644
ArgCheck = "1, 2"
@@ -64,7 +62,6 @@ ReverseDiff = "1"
6462
Roots = "1.3.15, 2"
6563
Statistics = "1"
6664
Tracker = "0.2"
67-
Zygote = "0.6.63, 0.7"
6865
julia = "1.10.8"
6966

7067
[extras]
@@ -75,4 +72,3 @@ LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02"
7572
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
7673
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
7774
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
78-
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

docs/Project.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
33
Functors = "d9f16b24-f501-4c13-a1f2-28368ffc5196"
44
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
5-
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
65

76
[compat]
87
Documenter = "0.27"
98
Functors = "0.3"
10-
StableRNGs = "1"
11-
Zygote = "0.6"
9+
StableRNGs = "1"

docs/src/examples.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ y = rand(rng, td)
112112
Want to fit the flow?
113113

114114
```@repl normalizing-flows
115-
using Zygote
115+
using ForwardDiff
116116
117117
# Construct the flow.
118118
b = PlanarLayer(2)
@@ -145,7 +145,7 @@ f = NLLObjective(reconstruct, MvNormal(2, 1), xs);
145145
# Train using gradient descent.
146146
ε = 1e-3;
147147
for i in 1:100
148-
(∇s,) = Zygote.gradient(f, θs)
148+
∇s = ForwardDiff.gradient(θ -> f(θ), θs)
149149
θs = fmap(θs, ∇s) do θ, ∇
150150
θ - ε .* ∇
151151
end

ext/BijectorsZygoteExt.jl

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

src/bijectors/pd.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
struct PDBijector <: Bijector end
22

3-
# This function has custom adjoints defined for Tracker, Zygote and ReverseDiff.
3+
# This function has custom adjoints defined for Tracker and ReverseDiff.
44
# I couldn't find a mutation-free implementation that maintains TrackedArrays in Tracker
55
# and ReverseDiff, hence the need for custom adjoints.
66
function replace_diag(f, X)

src/chainrules.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,5 +286,6 @@ function ChainRulesCore.rrule(::typeof(pd_from_upper), X::AbstractMatrix)
286286
end
287287
end
288288

289-
# Fixes Zygote's issues with `@debug`
289+
# Fixes AD issues with `@debug`
290290
ChainRulesCore.@non_differentiable _debug(::Any)
291+

test/Project.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
2525
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
2626
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
2727
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
28-
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
2928

3029
[compat]
3130
AbstractMCMC = "5"
@@ -50,5 +49,4 @@ Mooncake = "0.4"
5049
ReverseDiff = "1.4.2"
5150
StableRNGs = "1"
5251
Tracker = "0.2.11"
53-
Zygote = "0.6.63, 0.7"
5452
julia = "1.10"

test/ad/utils.jl

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ function test_ad(f, x, broken=(); rtol=1e-6, atol=1e-6)
66
if !(
77
b in (
88
:ForwardDiff,
9-
:Zygote,
109
:Mooncake,
1110
:ReverseDiff,
1211
:Enzyme,
@@ -32,16 +31,6 @@ function test_ad(f, x, broken=(); rtol=1e-6, atol=1e-6)
3231
end
3332
end
3433

35-
if AD == "All" || AD == "Zygote"
36-
if :Zygote in broken
37-
@test_broken Zygote.gradient(f, x)[1] finitediff rtol = rtol atol = atol
38-
else
39-
∇zygote = Zygote.gradient(f, x)[1]
40-
@test (all(iszero, finitediff) && ∇zygote === nothing) ||
41-
isapprox(∇zygote, finitediff; rtol=rtol, atol=atol)
42-
end
43-
end
44-
4534
if AD == "All" || AD == "ReverseDiff"
4635
if :ReverseDiff in broken
4736
@test_broken ReverseDiff.gradient(f, x) finitediff rtol = rtol atol = atol

test/runtests.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ using LogExpFunctions
1313
using Mooncake
1414
using ReverseDiff
1515
using Tracker
16-
using Zygote
1716

1817
using Random, LinearAlgebra, Test
1918

0 commit comments

Comments
 (0)