Zygote.jl icon indicating copy to clipboard operation
Zygote.jl copied to clipboard

Error when moving from v0.6.43 to v0.6.44

Open vikram-s-narayan opened this issue 2 years ago • 0 comments

If the following code is run with Zygote v0.6.43 it works fine.

using Surrogates
using Zygote

n = 10
d = 2
lb = [0.0, 0.0]
ub = [5.0, 5.0]
x = sample(n, lb, ub, SobolSample())
f = x -> x[1]^2 + x[2]^2
y = f.(x)
my_gek_ND = GEK(x, y, lb, ub)
g = x -> Zygote.gradient(my_gek_ND, x)
g((2.0, 5.0)) 

However, if we move to Zygote v0.6.44, it generates the following error message:


ERROR: MethodError: no method matching +(::NamedTuple{(:x, :y, :lb, :ub, :p, :theta, :mu, :b, :sigma, :inverse_of_R), Tuple{Vector{Tuple{Float64, Float64}}, Nothing, Nothing, Nothing, Vector{Float64}, Vector{Float64}, Nothing, Matrix{Float64}, Nothing, Nothing}}, ::Base.RefValue{Any})
Closest candidates are:
  +(::Any, ::Any, ::Any, ::Any...) at /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/base/operators.jl:655
  +(::ChainRulesCore.AbstractThunk, ::Any) at ~/.julia/packages/ChainRulesCore/ctmSK/src/tangent_arithmetic.jl:122
  +(::ChainRulesCore.Tangent{P}, ::P) where P at ~/.julia/packages/ChainRulesCore/ctmSK/src/tangent_arithmetic.jl:146
  ...
Stacktrace:
  [1] accum(x::NamedTuple{(:x, :y, :lb, :ub, :p, :theta, :mu, :b, :sigma, :inverse_of_R), Tuple{Vector{Tuple{Float64, Float64}}, Nothing, Nothing, Nothing, Vector{Float64}, Vector{Float64}, Nothing, Matrix{Float64}, Nothing, Nothing}}, y::Base.RefValue{Any})
    @ Zygote ~/.julia/packages/Zygote/xGkZ5/src/lib/lib.jl:17
  [2] accum(::NamedTuple{(:x, :y, :lb, :ub, :p, :theta, :mu, :b, :sigma, :inverse_of_R), Tuple{Vector{Tuple{Float64, Float64}}, Nothing, Nothing, Nothing, Vector{Float64}, Vector{Float64}, Nothing, Matrix{Float64}, Nothing, Nothing}}, ::Base.RefValue{Any}, ::Nothing, ::Vararg{Nothing})
    @ Zygote ~/.julia/packages/Zygote/xGkZ5/src/lib/lib.jl:22
  [3] getindex
    @ ./tuple.jl:29 [inlined]
  [4] gradindex
    @ ~/.julia/packages/Zygote/xGkZ5/src/compiler/reverse.jl:12 [inlined]
  [5] Pullback
    @ ~/Documents/julia-projects/Surrogates.jl/src/GEK.jl:198 [inlined]
  [6] (::typeof(∂(λ)))(Δ::Float64)
    @ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface2.jl:0
  [7] (::Zygote.var"#60#61"{typeof(∂(λ))})(Δ::Float64)
    @ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface.jl:45
  [8] gradient(f::Function, args::Tuple{Float64, Float64})
    @ Zygote ~/.julia/packages/Zygote/xGkZ5/src/compiler/interface.jl:97
  [9] (::var"#7#8")(x::Tuple{Float64, Float64})
    @ Main ~/Documents/julia-projects/Surrogates.jl/test/playground.jl:12
 [10] top-level scope
    @ ~/Documents/julia-projects/Surrogates.jl/test/playground.jl:13

vikram-s-narayan avatar Sep 08 '22 21:09 vikram-s-narayan