-
Notifications
You must be signed in to change notification settings - Fork 26.3k
[random] Add generator arg to rand*_like APIs
#166160
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
Conversation
(cherry picked from commit 3727a5e)
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/166160
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ✅ You can merge normally! (1 Unrelated Failure)As of commit 2394bc2 with merge base e67e3d9 ( FLAKY - The following job failed but was likely due to flakiness present on trunk:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@pytorchbot label "module: random" "release notes: random" |
|
Didn't find following labels among repository labels: release notes: random |
Attention! native_functions.yaml was changedIf you are adding a new function or defaulted argument to native_functions.yaml, you cannot use it from pre-existing Python frontend code until our FC window passes (two weeks). Split your PR into two PRs, one which adds the new C++ functionality, and one that makes use of it from Python, and land them two weeks apart. See https://github.com/pytorch/pytorch/wiki/PyTorch's-Python-Frontend-Backward-and-Forward-Compatibility-Policy#forwards-compatibility-fc for more info. Caused by: |
|
@pytorchbot label "release notes: python_frontend" |
|
I think this PR is ready for review! |
|
Hi, @albanD @malfet @bobrenjc93. PTAL. If anything this PR missed, please let me know. |
albanD
left a comment
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.
SGTM!
Thanks for taking the time to look at this one!
|
@pytorchbot merge |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Fixes #165865 ## What this PR does? - [x] Add `generator` arg to `rand*_like` APIs (`rand_like()`, `randn_like()`, `randint_like()`). - [x] Add unit tests for `rand*_like` APIs - [x] Add corresponding arg docs - [x] Refactor `rand*_like()` codes in `TensorFactories.cpp` - [x] Add corresponding and former missed items in `VmapModeRegistrations.cpp` ## Example (using `rand_like()`) ```python gen0 = torch.Generator() gen1 = torch.Generator() gen2 = torch.Generator() gen0.manual_seed(42) gen1.manual_seed(42) gen2.manual_seed(2025) tensor = torch.empty(10) t0 = torch.rand_like(tensor, generator=gen0) t1 = torch.rand_like(tensor, generator=gen1) t2 = torch.rand_like(tensor, generator=gen2) assert t0 == t1 assert t2 != t0 assert t2 != t1 ``` Pull Request resolved: #166160 Approved by: https://github.com/cyyever, https://github.com/albanD
…functions (#167824) As the title stated. PR #166160 add generator variants to `rand*_like()` functions, this PR is for finding out staled signatures and fixing them. Pull Request resolved: #167824 Approved by: https://github.com/cyyever, https://github.com/albanD
…functions (#167824) As the title stated. PR #166160 add generator variants to `rand*_like()` functions, this PR is for finding out staled signatures and fixing them. Pull Request resolved: #167824 Approved by: https://github.com/cyyever, https://github.com/albanD
Fixes #165865
What this PR does?
generatorarg torand*_likeAPIs (rand_like(),randn_like(),randint_like()).rand*_likeAPIsrand*_like()codes inTensorFactories.cppVmapModeRegistrations.cppExample (using
rand_like())cc @pbelevich @albanD