Skip to content
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

[gsoc] Remove the scan method. #164

Open
MariusDrulea opened this issue Mar 24, 2024 · 2 comments
Open

[gsoc] Remove the scan method. #164

MariusDrulea opened this issue Mar 24, 2024 · 2 comments

Comments

@MariusDrulea
Copy link

MariusDrulea commented Mar 24, 2024

Motivation and description

Currently the scan method is used to mark the nodes before applying the actual backpropagation in the graph.
https://github.com/FluxML/Tracker.jl/blob/master/src/back.jl#L19
We can achieve the same results without employing the this pre-marking of nodes. In this proposal the back function shall not use the scan method, but rather take care of the nodes itself, without a pre-marking.
https://github.com/FluxML/Tracker.jl/blob/master/src/back.jl#L74

The functions and files involved are only where the ref field is used: https://github.com/FluxML/Tracker.jl/blob/master/src/Tracker.jl#L41.

The following structures/functions/algos have to be understood in order to remove scan:

  1. struct Tracked{T} and it's members
  2. the scan, back and back methods in the file back.jl.

Note the function back(g::Grads, x::Tracked, Δ) is used for higher-gradients and we should not focus on this use-case in this proposal.

@MariusDrulea MariusDrulea changed the title Remove the scan method. [gsoc PR] Remove the scan method. Mar 24, 2024
@MariusDrulea MariusDrulea changed the title [gsoc PR] Remove the scan method. [gsoc] Remove the scan method. Mar 24, 2024
@chiragtyagi2003
Copy link

@MariusDrulea Hey, the link for struct Tracked{T} is redirecting to this issue page only. Where is it supposed to link to? Please clarify, in case I am missing something.

@MariusDrulea
Copy link
Author

@chiragtyagi2003 fixed now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants