Skip to content

Commit 3fb5410

Browse files
committed
Add AD.value_and_gradient too
1 parent 8b8eebc commit 3fb5410

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/optimise/gradients.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ AD.@primitive pullback_function(ad::ZygoteImplicitBackend, f, x::Zygote.Params)
99
# this is a hack to get around
1010
# https://github.com/JuliaDiff/AbstractDifferentiation.jl/issues/63#issuecomment-1225959150
1111
AD.gradient(::ZygoteImplicitBackend, f, x::Zygote.Params) = Zygote.gradient(f, x)
12+
AD.value_and_gradient(::ZygoteImplicitBackend, f, x::Zygote.Params) =
13+
Zygote.withgradient(f, x)
1214

1315
struct ZygoteExplicitBackend{T} <: AD.AbstractReverseMode
1416
core_backend::T
@@ -21,3 +23,5 @@ AD.@primitive pullback_function(ad::ZygoteExplicitBackend, f, xs...) =
2123
# this is a hack to get around
2224
# https://github.com/JuliaDiff/AbstractDifferentiation.jl/issues/63#issuecomment-1225959150
2325
AD.gradient(::ZygoteExplicitBackend, f, xs...) = Zygote.gradient(f, xs...)
26+
AD.value_and_gradient(::ZygoteExplicitBackend, f, xs...) =
27+
Zygote.withgradient(f, xs...)

src/optimise/train.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ _gradient_only(x) = error("Expected gradient w.r.t. single argument (or Zygote.G
9494

9595
"""
9696
train!(loss, pars::Params, data, opt::AbstractOptimiser; [cb])
97-
97+
9898
Uses a `loss` function and training `data` to improve the
9999
model's parameters according to a particular optimisation rule `opt`.
100100

0 commit comments

Comments
 (0)