-
Notifications
You must be signed in to change notification settings - Fork 7
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
Conversation
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
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)