p = [randn(5), randn(5)]
p1 = p[1]
p2 = p[2]
function myloss()
norm(p1) + norm(p2)
end
grad = gradient(Flux.Zygote.Params(p)) do
myloss()
end
display(grad[p[1]])
displays
5-element Array{Float64,1}:
-0.16481553854066222
-0.2893911650465771
0.41283960683427506
0.8453105091581221
-0.06404837222204707
whereas
p = [randn(5), randn(5)]
function myloss()
norm(p[1]) + norm(p[2])
end
grad = gradient(Flux.Zygote.Params(p)) do
myloss()
end
display(grad[p[1]])
displays nothing