Optimisers.jl
Optimisers.jl copied to clipboard
friendly error when using rule instead of state
trafficstars
I like friendly errors, but I think this is going to produce ambiguities with Flux, method 7:
julia> using Flux, Optimisers
julia> methods(Optimisers.update!)
# 8 methods for generic function "update!" from Optimisers:
[1] update!(x::AbstractArray, x̄)
@ Flux ~/.julia/packages/Flux/HBF2N/src/deprecations.jl:21
[2] update!(opt::Flux.Optimise.AbstractOptimiser, ::Params, grads::Union{Tuple, NamedTuple})
@ Flux ~/.julia/packages/Flux/HBF2N/src/deprecations.jl:175
[3] update!(opt::Flux.Optimise.AbstractOptimiser, x::AbstractArray, x̄)
@ Flux.Optimise ~/.julia/packages/Flux/HBF2N/src/optimise/train.jl:22
[4] update!(opt::Flux.Optimise.AbstractOptimiser, xs::Params, gs)
@ Flux.Optimise ~/.julia/packages/Flux/HBF2N/src/optimise/train.jl:28
[5] update!(opt::Flux.Optimise.AbstractOptimiser, model::Chain, grads::Tuple)
@ Flux ~/.julia/packages/Flux/HBF2N/src/deprecations.jl:169
[6] update!(opt::Flux.Optimise.AbstractOptimiser, model, grad)
@ Flux ~/.julia/packages/Flux/HBF2N/src/deprecations.jl:149
[7] update!(opt, model::Chain, grads::Tuple)
@ Flux ~/.julia/packages/Flux/HBF2N/src/deprecations.jl:162
[8] update!(tree, model, grad, higher...)
@ ~/.julia/packages/Optimisers/yDIWk/src/interface.jl:70
I guess we can fix that in Flux, but should not forget.