[WIP] Move cpu tensors over to numpy#1077
Closed
Ch0ronomato wants to merge 1 commit intopymc-devs:mainfrom
Closed
Conversation
ricardoV94
reviewed
Nov 11, 2024
Comment on lines
+16
to
+21
| from torch import is_tensor | ||
|
|
||
| if is_tensor(out) and out.device.type == "cpu": | ||
| return out.detach().numpy() | ||
| else: | ||
| return out |
Member
There was a problem hiding this comment.
We should add an option to the PyTorch linker: coerce_to_numpy that defaults to True, and will apply to either CPU or GPU tensors? When False we don't force any conversion.
This mixed behavior is just unpredictable no?
Contributor
Author
|
@ricardoV94 did this basically. Gonna close it. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
When doing an integration pass with pymc, there were type issues on the pymc side when given a torch tensor. To mitigate this, I migrated the linker to always return a numpy ndarray instead, and in the else case leave the tensor alone instead of forcing a device transfer.
Related Issue
Checklist
Type of change
📚 Documentation preview 📚: https://pytensor--1077.org.readthedocs.build/en/1077/