-
Notifications
You must be signed in to change notification settings - Fork 6
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
feat(ops): add accessor APIs tree_flatten_with_accessor
and PyTreeSpec.accessors
#108
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #108 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 9 10 +1
Lines 787 986 +199
==========================================
+ Hits 787 986 +199
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
The API shape here looks pretty good to me, I think it meets the needs discussed in |
e56fc0a
to
56b575f
Compare
tree_flatten_with_typed_path
and PyTreeSpec.typed_paths
tree_flatten_with_typed_path
and PyTreeSpec.typed_paths
572388b
to
f814452
Compare
daeb018
to
c563d6a
Compare
e019c1e
to
9ec497c
Compare
d021c01
to
0dc9239
Compare
c8002e7
to
487c26c
Compare
e0b6478
to
2b3e9f6
Compare
e622045
to
11dd785
Compare
91edc06
to
1d03768
Compare
tree_flatten_with_typed_path
and PyTreeSpec.typed_paths
tree_flatten_with_accessor
and PyTreeSpec.accessors
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
cxx
Something related to the CXX source code
enhancement
New feature or request
py
Something related to the Python source code
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Describe your changes in detail.
This PR adds a new method
accessors
toPyTreeSpec
objects.The
path
to a leaf node is a tuple of entries, where an entry can be a raw index or dictionary key.The newly added
accessor
will associate the corresponding node type to the entry. Anaccessor
to a leaf node is a tuple of triples(entry, type, kind)
. For example:Motivation and Context
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.
You can use the syntax
close #15213
if this solves the issue #15213I have raised an issue to propose this change (required for new features and bug fixes)
[pytree] implement key path API pytorch/pytorch#113378
Types of changes
What types of changes does your code introduce? Put an
x
in all the boxes that apply:Checklist
Go over all the following points, and put an
x
in all the boxes that apply.If you are unsure about any of these, don't hesitate to ask. We are here to help!
make format
. (required)make lint
. (required)make test
pass. (required)