Closed
Description
Cannot differentiate L2 regularized loss.
using Flux, Zygote
s = Chain(Dense(2 => 100, softsign), Dense(100 => 2))
sqnorm(x) = sum(abs2, x)
gradient(s_ -> sum(sqnorm, Flux.params(s_)), s) # Can't differentiate foreigncall expression $(Expr(:foreigncall, :(:jl_idset_put_idx), Any, svec(Any, Any, Int64), 0, :(:ccall), %77, %78, %79, %76)).
Package versions:
(@v1.11) pkg> st Flux
Status `~/.julia/environments/v1.11/Project.toml`
[587475ba] Flux v0.14.15
(@v1.11) pkg> st Zygote
Status `~/.julia/environments/v1.11/Project.toml`
[e88e6eb3] Zygote v0.6.69
julia> versioninfo()
Julia Version 1.11.0-beta1
Commit 08e1fc0abb9 (2024-04-10 08:40 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 80 × Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20GHz
WORD_SIZE: 64
LLVM: libLLVM-16.0.6 (ORCJIT, broadwell)
Threads: 10 default, 0 interactive, 5 GC (on 80 virtual cores)
Environment:
JULIA_EDITOR = code
JULIA_NUM_THREADS = 10