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.
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
Add rewrite to merge multiple SVD Ops with different settings #769
Add rewrite to merge multiple SVD Ops with different settings #769
Changes from 12 commits
23ad3c4
d4a89ad
d4a2f2f
03c8e6f
839f479
4a1be4b
b999d68
14f89f8
55ad931
0337e9d
ecc62ae
8ba5119
1c30ee9
551a350
27ff606
67e1f06
9e21635
3ba3ba4
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
Check warning on line 396 in pytensor/tensor/rewriting/linalg.py
Codecov / codecov/patch
pytensor/tensor/rewriting/linalg.py#L396
Check warning on line 405 in pytensor/tensor/rewriting/linalg.py
Codecov / codecov/patch
pytensor/tensor/rewriting/linalg.py#L405
Check warning on line 411 in pytensor/tensor/rewriting/linalg.py
Codecov / codecov/patch
pytensor/tensor/rewriting/linalg.py#L411
Check warning on line 414 in pytensor/tensor/rewriting/linalg.py
Codecov / codecov/patch
pytensor/tensor/rewriting/linalg.py#L414
Check warning on line 417 in pytensor/tensor/rewriting/linalg.py
Codecov / codecov/patch
pytensor/tensor/rewriting/linalg.py#L417
Check warning on line 428 in pytensor/tensor/rewriting/linalg.py
Codecov / codecov/patch
pytensor/tensor/rewriting/linalg.py#L428
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We only want to do this if that other node is actually using the UV. If not we would actually want to replace that node by this one
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would be taken care by the first half at that node turn. As this is a local rewrite applied to all SVD node, each node will have its turn.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even if you don't want to handle that other node there's no reason to rewrite this node into it. In general it's better to do as few rewrites as possible as every time a rewrite succeeds all other candidate rewrites are rerun (until an Equilibrium is achieved and nothing changes anymore).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On second thought I like your eager approach better, it's not readable. Since SVDs are rare we don't need to over optimize
Check warning on line 431 in pytensor/tensor/rewriting/linalg.py
Codecov / codecov/patch
pytensor/tensor/rewriting/linalg.py#L431