metaopt / optree

OpTree: Optimized PyTree Utilities
https://optree.readthedocs.io
Apache License 2.0
146 stars 7 forks source link

fix(ops): fix empty paths when flatten with custom `is_leaf` function #76

Closed XuehaiPan closed 1 year ago

XuehaiPan commented 1 year ago

Description

Describe your changes in detail.

This PR adds the missing procedure to add the current path into the paths result. The process is the same as the switch case for PyTreeKind::Leaf.

https://github.com/metaopt/optree/blob/d1e85f8975f132968e23fa70406d7353adb84155/src/treespec/flatten.cpp#L234-L242

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 #15213

Fixes #75.

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!

codecov[bot] commented 1 year ago

Codecov Report

Patch and project coverage have no change.

Comparison is base (d1e85f8) 100.00% compared to head (ac35c71) 100.00%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #76 +/- ## ========================================= Coverage 100.00% 100.00% ========================================= Files 4 4 Lines 425 425 ========================================= Hits 425 425 ``` | [Flag](https://app.codecov.io/gh/metaopt/optree/pull/76/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=metaopt) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/metaopt/optree/pull/76/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=metaopt) | `100.00% <ø> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=metaopt#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.