Skip to content

Commit ad95cd0

Browse files
authored
Bump ChainRulesCore (#293)
* Fix deprecations * Bump patch
1 parent 4569859 commit ad95cd0

File tree

3 files changed

+16
-16
lines changed

3 files changed

+16
-16
lines changed

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "KernelFunctions"
22
uuid = "ec8451be-7e33-11e9-00cf-bbf324bd1392"
3-
version = "0.10.2"
3+
version = "0.10.3"
44

55
[deps]
66
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
@@ -20,7 +20,7 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
2020
ZygoteRules = "700de1a5-db45-46bc-99cf-38207098b444"
2121

2222
[compat]
23-
ChainRulesCore = "0.9"
23+
ChainRulesCore = "0.9.44, 0.10"
2424
Compat = "3.7"
2525
CompositionsBase = "0.1"
2626
Distances = "0.10"

src/KernelFunctions.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export IndependentMOKernel, LatentFactorMOKernel, IntrinsicCoregionMOKernel
4242
export tensor, , compose
4343

4444
using Compat
45-
using ChainRulesCore: ChainRulesCore, Composite, Zero, One, DoesNotExist, NO_FIELDS
45+
using ChainRulesCore: ChainRulesCore, Tangent, ZeroTangent, One, DoesNotExist, NoTangent
4646
using ChainRulesCore: @thunk, InplaceableThunk
4747
using CompositionsBase
4848
using Distances

src/chainrules.jl

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ end
1717
function ChainRulesCore.rrule(dist::Delta, x::AbstractVector, y::AbstractVector)
1818
d = dist(x, y)
1919
function evaluate_pullback(::Any)
20-
return NO_FIELDS, Zero(), Zero()
20+
return NoTangent(), ZeroTangent(), ZeroTangent()
2121
end
2222
return d, evaluate_pullback
2323
end
@@ -27,7 +27,7 @@ function ChainRulesCore.rrule(
2727
)
2828
P = Distances.pairwise(d, X, Y; dims=dims)
2929
function pairwise_pullback(::AbstractMatrix)
30-
return NO_FIELDS, NO_FIELDS, Zero(), Zero()
30+
return NoTangent(), NoTangent(), ZeroTangent(), ZeroTangent()
3131
end
3232
return P, pairwise_pullback
3333
end
@@ -37,7 +37,7 @@ function ChainRulesCore.rrule(
3737
)
3838
P = Distances.pairwise(d, X; dims=dims)
3939
function pairwise_pullback(::AbstractMatrix)
40-
return NO_FIELDS, NO_FIELDS, Zero()
40+
return NoTangent(), NoTangent(), ZeroTangent()
4141
end
4242
return P, pairwise_pullback
4343
end
@@ -47,7 +47,7 @@ function ChainRulesCore.rrule(
4747
)
4848
C = Distances.colwise(d, X, Y)
4949
function colwise_pullback(::AbstractVector)
50-
return NO_FIELDS, NO_FIELDS, Zero(), Zero()
50+
return NoTangent(), NoTangent(), ZeroTangent(), ZeroTangent()
5151
end
5252
return C, colwise_pullback
5353
end
@@ -57,7 +57,7 @@ end
5757
function ChainRulesCore.rrule(dist::DotProduct, x::AbstractVector, y::AbstractVector)
5858
d = dist(x, y)
5959
function evaluate_pullback::Any)
60-
return NO_FIELDS, Δ .* y, Δ .* x
60+
return NoTangent(), Δ .* y, Δ .* x
6161
end
6262
return d, evaluate_pullback
6363
end
@@ -72,9 +72,9 @@ function ChainRulesCore.rrule(
7272
P = Distances.pairwise(d, X, Y; dims=dims)
7373
function pairwise_pullback_cols::AbstractMatrix)
7474
if dims == 1
75-
return NO_FIELDS, NO_FIELDS, Δ * Y, Δ' * X
75+
return NoTangent(), NoTangent(), Δ * Y, Δ' * X
7676
else
77-
return NO_FIELDS, NO_FIELDS, Y * Δ', X * Δ
77+
return NoTangent(), NoTangent(), Y * Δ', X * Δ
7878
end
7979
end
8080
return P, pairwise_pullback_cols
@@ -86,9 +86,9 @@ function ChainRulesCore.rrule(
8686
P = Distances.pairwise(d, X; dims=dims)
8787
function pairwise_pullback_cols::AbstractMatrix)
8888
if dims == 1
89-
return NO_FIELDS, NO_FIELDS, 2 * Δ * X
89+
return NoTangent(), NoTangent(), 2 * Δ * X
9090
else
91-
return NO_FIELDS, NO_FIELDS, 2 * X * Δ
91+
return NoTangent(), NoTangent(), 2 * X * Δ
9292
end
9393
end
9494
return P, pairwise_pullback_cols
@@ -99,7 +99,7 @@ function ChainRulesCore.rrule(
9999
)
100100
C = Distances.colwise(d, X, Y)
101101
function colwise_pullback::AbstractVector)
102-
return NO_FIELDS, NO_FIELDS, Δ' .* Y, Δ' .* X
102+
return NoTangent(), NoTangent(), Δ' .* Y, Δ' .* X
103103
end
104104
return C, colwise_pullback
105105
end
@@ -135,15 +135,15 @@ function ChainRulesCore.rrule(
135135
∂b = InplaceableThunk(
136136
@thunk((-2 * Δ) * dist.qmat * a_b), X̄ -> mul!(X̄, dist.qmat, a_b, true, -2 * Δ)
137137
)
138-
return Composite{typeof(dist)}(; qmat=∂qmat), ∂a, ∂b
138+
return Tangent{typeof(dist)}(; qmat=∂qmat), ∂a, ∂b
139139
end
140140
return d, SqMahalanobis_pullback
141141
end
142142

143143
## Reverse Rules for matrix wrappers
144144

145145
function ChainRulesCore.rrule(::Type{<:ColVecs}, X::AbstractMatrix)
146-
ColVecs_pullback::Composite) = (NO_FIELDS, Δ.X)
146+
ColVecs_pullback::Tangent) = (NoTangent(), Δ.X)
147147
function ColVecs_pullback(::AbstractVector{<:AbstractVector{<:Real}})
148148
return error(
149149
"Pullback on AbstractVector{<:AbstractVector}.\n" *
@@ -155,7 +155,7 @@ function ChainRulesCore.rrule(::Type{<:ColVecs}, X::AbstractMatrix)
155155
end
156156

157157
function ChainRulesCore.rrule(::Type{<:RowVecs}, X::AbstractMatrix)
158-
RowVecs_pullback::Composite) = (NO_FIELDS, Δ.X)
158+
RowVecs_pullback::Tangent) = (NoTangent(), Δ.X)
159159
function RowVecs_pullback(::AbstractVector{<:AbstractVector{<:Real}})
160160
return error(
161161
"Pullback on AbstractVector{<:AbstractVector}.\n" *

0 commit comments

Comments
 (0)