-
-
Notifications
You must be signed in to change notification settings - Fork 22
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
some minor style changes #135
base: master
Are you sure you want to change the base?
Conversation
I don't think that's right. At present, Now that we allow shared parameters, the word "tree" is slightly misleading. But I don't think that erasing the distinction and calling two different things "state" is better. IMO even an imperfect name is helpful to understand what the code is doing.
The docs also say "tree" here, and this PR does not touch that. In Flux they say |
The Flux usage example in this package's documentation shows state = Optimisers.setup(rule, model); # initialise this optimiser's momentum etc. Can't we consider a leaf also a tree/state ? (a graph with a single node is a tree) My main issue is that each time I look at this repo I wonder for a while what is this argument tree, it's not immediate to link it to the optimizer's state. Also |
Maybe |
Optax uses |
This may well pre-date the re-write -- at some point everything was called |
We discussed this on call. There was agreement that the structure is no longer a tree, so calling it a tree is confusing. But after comparing to other libraries like Optax, we think that users/rule writers should have a rule-specific view of the package. Meaning that they see Internally, we think that non-leaf state should be |
The most relevant is using
state
in place oftree
in the interface.jl file, consistently with rules.jl and the docs.