-
-
Notifications
You must be signed in to change notification settings - Fork 36
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
Back Propagation for SVD #97
Comments
Seems good to me, perhaps good to turn it into a PR? The |
Sure, I will submit a PR soon. |
forgot to label this with "move to tracker". I labeled a few Tracker related issues, I'm not authorized to move them to Tracker.jl so I just closed them. Ideally, they should all be moved there and reopened (if we still care about tracker, I honestly don't) |
Here I present the correct (but poor) implementation of BP for SVD, this implementation changes the original
svd
interfaces a bit, hoping someone can help improve it.Why we use
Matrix(V)
here?We see this line in file
src/tracker/scalar.jl
is calledOne should notice function
zero
can changetype
sometimes!Here, SVD returns V as Adjoint,
zero(Adjoint)
will getArray
!Gocha!
Some aspects can be improved
_forward
is nessesary, so that readable error message can be throwed.@grad
is an arguably useful interfacesvd
, I didn't see many benefits of such design.zero
andone
should never change type, here, it should be considered as a bug.The text was updated successfully, but these errors were encountered: