-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
workaround for more complicated gradient #1
Comments
There should be a much simpler way of doing this. |
Sorry if I wasn't clear, I'm trying to avoid using Zygote.hessian because it uses functions from ForwardDiff and is not purely Zygote, thus giving me lots of difficult bugs that would not happen if I use a purely Zygote hessian function. |
Hmmm... you are right. I did not know that.
|
That makes sense. I've already opened an issue here FluxML/Zygote.jl#865 but I will give Discourse a try too. Thank you for your help! |
I already started a discussion on discourse here. I did not think through some obvious things before posting there. It let to long discussions there which are very insightful. 🙂 |
I really appreciate your help! Yes I actually saw this earlier and was fascinated by the technical details. In short ForwardDiff is the right tool for Zygote.hessian, I just need to figure out a way to make it compatible with my function. Definitely worth the time to dig into more. Cheers! |
Hello,
Thank you for this workaround it was very helpful for my understanding of the same bug. However, I'm trying to write AD Hessian function using only Zygote to avoid bugs I got in ForwardDiff. The function unfortunately is a bit more complicated than matrix multiplication, and I'm not sure if finding the gradient ourselves is feasible.
I got the following bug:
Because I don't know what the gradient of
back
function fromZygote.pullback
is, I cannot think of a way to not use mutating array to accomplish creating the Jacobian. I was wondering if you might have any insights on this. Thank you so much, and happy new year!The text was updated successfully, but these errors were encountered: