af1338bfbf
fix escape nested comments in C++ ( #117882 )
...
Fixes #115243 , as it is tricky to deal with the nested comment in doxygen + sphinx. Change 6 below is adopted as the fix. All other changes do not work.
After adopting change 6, realize the original
`torch::optim::SGD sgd(0.9);` is not the correct call to the sgd constructor,
modified to the correct one
`torch::optim::SGD sgd(model->parameters(), 0.9);`
- Original in [link](https://pytorch.org/cppdocs/api/function_namespacetorch_1ad98de93d4a74dd9a91161f64758f1a76.html#exhale-function-namespacetorch-1ad98de93d4a74dd9a91161f64758f1a76 ): `/// torch::optim::SGD sgd(/*lr=*/0.9);`

- Change 1, this solution is referenced from [here](https://stackoverflow.com/questions/24978463/doxygen-escape-nested-comments-in-c ): `/// torch::optim::SGD sgd(/‍* lr= *‍/0.9);`

- Change 2: `/// torch::optim::SGD sgd(/* lr= *//* 0.9);`

- Change 3: `/// torch::optim::SGD sgd(/\*lr=\*/0.9);`

- Change 4: `/// torch::optim::SGD sgd(/∗ lr= ∗/0.9);`

- Change 5:
```
/// \rst
/// .. code-block:: cpp
///
/// torch::nn::Linear model(3, 4);
/// torch::load(model, "model.pt");
/// \verbatim
/// torch::optim::SGD sgd(/*lr=*/0.9);
/// \endverbatim
/// std::istringstream stream("...");
/// torch::load(sgd, stream);
///
/// auto tensor = torch::ones({3, 4});
/// torch::load(tensor, "my_tensor.pt");
/// \endrst
```

- Change 6: `/// torch::optim::SGD sgd(0.9); // 0.9 is the learning rate`


Pull Request resolved: https://github.com/pytorch/pytorch/pull/117882
Approved by: https://github.com/cpuhrsch , https://github.com/malfet
2024-01-27 02:37:23 +00:00
87335fabae
[Exception] [6/N] Remove use of torch::TypeError ( #117964 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/117964
Approved by: https://github.com/albanD
2024-01-25 03:35:58 +00:00
d7caef7996
[CI] Update clang-format ( #116002 )
...
To 17.0.6 build using https://github.com/pytorch/test-infra/blob/main/.github/workflows/clang-tidy-linux.yml
Pull Request resolved: https://github.com/pytorch/pytorch/pull/116002
Approved by: https://github.com/suo
2023-12-18 14:58:46 +00:00
68f74dd162
Add python and C++ support for LPPool3d ( #114199 )
...
Add python and C++ support for LPPool3d to Fixes #114114
Pull Request resolved: https://github.com/pytorch/pytorch/pull/114199
Approved by: https://github.com/mikaylagawarecki
2023-12-08 18:18:44 +00:00
ee8b33f7d5
Fixed crash when calling pad_packed_tensor when packed with cuda tensors and ensure_sorted=false due to indexing with tensors on different devices ( #115028 )
...
Fixes #115027
Fix in csrc as done in the python code [here](https://github.com/pytorch/pytorch/blob/main/torch/nn/utils/rnn.py#L338 ).
Pull Request resolved: https://github.com/pytorch/pytorch/pull/115028
Approved by: https://github.com/drisspg
2023-12-07 18:09:18 +00:00
541591dd79
Add the appropriate check on div_value to the cpp frontend ( #114671 )
...
Fixes #114334
As the title stated.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/114671
Approved by: https://github.com/mikaylagawarecki
2023-12-04 01:28:11 +00:00
4e38178bb8
[Reland] [1/N] Fixes clang-tidy warnings in header files ( #114668 )
...
Reland of #113608 after fixing the problematic parts.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/114668
Approved by: https://github.com/huydhn
2023-11-29 07:11:51 +00:00
bae61ecb96
[Reland 1] Cleanup header inclusions in torch_cpu by iwyu ( #112311 )
...
Reland https://github.com/pytorch/pytorch/pull/101178 to use IWYU on torch_cpu. The header file changes are excluded to avoid breaking internal jobs.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/112311
Approved by: https://github.com/ezyang
2023-11-19 04:06:36 +00:00
3f6e5e87f8
Revert "[1/N] Fixes clang-tidy warnings in header files ( #113608 )"
...
This reverts commit cab039fe9b9466f09f98318a11d2dcafef235426.
Reverted https://github.com/pytorch/pytorch/pull/113608 on behalf of https://github.com/huydhn due to Sorry for reverting your change but it is failing with an internal build when -Wpessimizing-move is used ([comment](https://github.com/pytorch/pytorch/pull/113608#issuecomment-1815424448 ))
2023-11-16 22:38:41 +00:00
cab039fe9b
[1/N] Fixes clang-tidy warnings in header files ( #113608 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/113608
Approved by: https://github.com/Skylion007
2023-11-15 00:32:43 +00:00
0f924cdee3
Fix functional::smooth_l1_loss
signatures to not override beta
( #109798 )
...
This splits `nn::functional::smooth_l1_loss` into two different signatures in order to keep backward compatibility for calling the function like `smooth_l1_loss(input, target, /*reduction=*/..., /*beta=*/...)`
Fixes #70163
Pull Request resolved: https://github.com/pytorch/pytorch/pull/109798
Approved by: https://github.com/mikaylagawarecki
2023-10-11 21:37:37 +00:00
b5f9696d81
Fix typo under torch directory ( #110824 )
...
This PR fixes typo `the the` of comments and exception messages in files under `torch` directory.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/110824
Approved by: https://github.com/H-Huang
2023-10-09 19:16:43 +00:00
c3e4e4f6d2
[4/N] Add -Wdeprecated and related fixes ( #110204 )
...
This PR enables Wdeprecated on torch_cpu
Pull Request resolved: https://github.com/pytorch/pytorch/pull/110204
Approved by: https://github.com/ezyang
2023-10-07 19:46:08 +00:00
12f97bb2e9
[Reland][3/N] Add -Wdeprecated and related fixes ( #110518 )
...
Fixes the string_view errors and reland the work. The previous changes in torch/csrc/utils/invalid_arguments.cpp were too aggressive and not tested thoroughly. They are discarded.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/110518
Approved by: https://github.com/ezyang
2023-10-07 08:38:40 +00:00
c36b31d530
torch::nn::AdaptiveLogSoftmaxWithLoss
: check length of cutoffs
(#106777 )
...
Fixes #106698
Also added a check for python API, because current error message
```
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/sehoon/pytorch-latest/torch/nn/modules/adaptive.py", line 128, in __init__
or (min(cutoffs) <= 0) \
ValueError: min() arg is an empty sequence
```
is not very comprehensible.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/106777
Approved by: https://github.com/albanD
2023-10-05 05:35:47 +00:00
156aefa89b
Revert "[3/N] Add -Wdeprecated and related fixes ( #109698 )"
...
This reverts commit c31fcdaa4f79e83c82ec4f5ff3cf96e2cb99eecd.
Reverted https://github.com/pytorch/pytorch/pull/109698 on behalf of https://github.com/PaliC due to breaking quantization tests ( quantization/test_quantize_per_channel_sub_byte and quantization/test_quantize_per_channel_float_qparams) internally ([comment](https://github.com/pytorch/pytorch/pull/109698#issuecomment-1746999806 ))
2023-10-04 14:33:47 +00:00
c31fcdaa4f
[3/N] Add -Wdeprecated and related fixes ( #109698 )
...
This PR follows #108626 . Hopefully we can enable the warning in the next PR.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/109698
Approved by: https://github.com/Skylion007 , https://github.com/ezyang
2023-10-03 22:50:53 +00:00
83deaa16ed
Revert "[1/N] Cleanup header inclusions in torch_cpu by iwyu ( #101178 )"
...
This reverts commit b7a95f4fdb8a79dc459cc757dafcdbd0953b1a62.
Reverted https://github.com/pytorch/pytorch/pull/101178 on behalf of https://github.com/atalman due to Break internal CI ([comment](https://github.com/pytorch/pytorch/pull/101178#issuecomment-1734384645 ))
2023-09-25 20:05:25 +00:00
b7a95f4fdb
[1/N] Cleanup header inclusions in torch_cpu by iwyu ( #101178 )
...
Following our previous IWYU work #100304 on C10, it makes more sense to try IWYU on torch_cpu. This PR does exactly that. Meanwhile, it fixes issue #48684 .
Pull Request resolved: https://github.com/pytorch/pytorch/pull/101178
Approved by: https://github.com/ezyang
2023-09-24 05:01:20 +00:00
dee100945e
[2/N] Move c10::variant to std::variant ( #109723 )
...
This PR moves most of c10::variant calls to std::variant.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/109723
Approved by: https://github.com/ezyang
2023-09-24 02:47:43 +00:00
cd99cdc3af
fix std::move warnings from gcc ( #105780 )
...
Pull Request resolved: https://github.com/pytorch/pytorch/pull/105780
Approved by: https://github.com/Skylion007
2023-09-22 05:55:21 +00:00
e9e93c5350
[Reland] Move torch::make_unique to std::make_unique ( #109780 )
...
We can first try to move torch::make_unique to std::make_unique despite reverting of #108866 .
Pull Request resolved: https://github.com/pytorch/pytorch/pull/109780
Approved by: https://github.com/ezyang
2023-09-21 18:30:21 +00:00
525e4f42d0
Revert "replace torch::make_unique with std::make_unique ( #108866 )"
...
This reverts commit 03e35efbf733da28d9e1c5a4b1b203fe335b5f94.
Reverted https://github.com/pytorch/pytorch/pull/108866 on behalf of https://github.com/clee2000 due to Sorry but I found more usages of `torch::make_unique` internally, I can go change all of these, but I'd prefer if that gets done before this gets merged ([comment](https://github.com/pytorch/pytorch/pull/108866#issuecomment-1722577925 ))
2023-09-17 21:57:30 +00:00
03e35efbf7
replace torch::make_unique with std::make_unique ( #108866 )
...
It should be safe to remove the old torch::make_unique functions.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/108866
Approved by: https://github.com/albanD
2023-09-14 20:52:26 +00:00
003c5bb156
Add checks to num_layers
for RNN
, LSTM
, GRU
( #108853 )
...
Fixes #108223
As the title shown
Pull Request resolved: https://github.com/pytorch/pytorch/pull/108853
Approved by: https://github.com/mikaylagawarecki
2023-09-09 19:33:52 +00:00
a5e1d38025
add check for torch_arg ( #108397 )
...
Fixes https://github.com/pytorch/pytorch/issues/108219
add check for torch_arg marco, as for inchannel/outchannel/groups, it should be greater than 0.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/108397
Approved by: https://github.com/mikaylagawarecki
2023-09-08 23:18:27 +00:00
f30f9fec87
Fix the issue described by #106769 ( #108340 )
...
Fixes #106769
Align the behavior of the C++ interface with the Python interface
1. Remove some checks in C++ frontend api ,which duplicate with below
50fa5880e8/aten/src/ATen/native/RNN.cpp (L676-L690)
3. Add some checks
4. support 1D
5. Add Test
Pull Request resolved: https://github.com/pytorch/pytorch/pull/108340
Approved by: https://github.com/mikaylagawarecki
2023-09-08 22:22:09 +00:00
e4f3e5434f
[Reland] Elimates c10::guts::to_string ( #108748 )
...
Reland of PR #108480 , after relanding another blocking PR.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/108748
Approved by: https://github.com/huydhn
2023-09-07 13:35:17 +00:00
8da04e023e
Revert "Eliminate c10::guts::to_string ( #108480 )"
...
This reverts commit 4146be192ead477360a2763c5005e46a9485c3bf.
Reverted https://github.com/pytorch/pytorch/pull/108480 on behalf of https://github.com/huydhn due to Sorry for reverting this, but this is needed to keep trunk green after https://github.com/pytorch/pytorch/pull/108479 was reverted. Both will need to be relanded ([comment](https://github.com/pytorch/pytorch/pull/108480#issuecomment-1707067595 ))
2023-09-05 18:04:53 +00:00
03aac0bff6
add input check at the beginning for C++ API interpolate
( #108506 )
...
Fixes https://github.com/pytorch/pytorch/issues/108346
add the input check to the beginning for C++ API `interpolate`, raise an error when got an invalid input.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/108506
Approved by: https://github.com/ezyang
2023-09-05 17:56:17 +00:00
4146be192e
Eliminate c10::guts::to_string ( #108480 )
...
This PR replace c10::guts::to_string with std::to_string. The major part of changes is using void* as optimizer state key since string is used only for serialization and using pointers as hashing keys is more efficient than a string.
Some other guts functions in the affected source files are also replaced.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/108480
Approved by: https://github.com/Skylion007
2023-09-04 08:12:53 +00:00
78810d78e8
Fix the coredump described by #106702 ( #108002 )
...
Fixes #106702 and add some tests
As shown by [maxUnpool1d](https://pytorch.org/docs/master/generated/torch.nn.MaxUnpool1d )(`MaxUnpool2d`, `MaxUnpool3d` also), `Input` and `Output` support `(N,C,*)` or `(C,*)`, but the c++ api currently supports the former, and the latter will cause a coredump.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/108002
Approved by: https://github.com/albanD
2023-08-29 17:14:16 +00:00
0dc251323d
torch::nn::functional::batch_norm()
: add a shape check of input tensor (#105930 )
...
Fixes #105458
Pull Request resolved: https://github.com/pytorch/pytorch/pull/105930
Approved by: https://github.com/albanD
2023-07-31 18:03:12 +00:00
77f2883c41
[Reland2] fix missing-prototypes warnings in torch_cpu (Part 4) ( #102228 )
...
This PR relands the changes introduced in PR https://github.com/pytorch/pytorch/pull/100849 . The old PR turnd nnc_* functions into static. We now add declarations for them and hope that inter builds will pass.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/102228
Approved by: https://github.com/albanD
2023-06-02 22:04:44 +00:00
32ce06a5ab
Revert "[Reland] fix missing-prototypes warnings in torch_cpu (Part 4) ( #101949 )"
...
This reverts commit 4f2c007a1b5170c2aa0d47e388ff9e07c7a7d354.
Reverted https://github.com/pytorch/pytorch/pull/101949 on behalf of https://github.com/osalpekar due to As noted in @izaitsevfb's comment, we are still seeing linker errors, this time due to `nnc_prepacked_linear_clamp_run` being made a static function. ([comment](https://github.com/pytorch/pytorch/pull/101949#issuecomment-1560226880 ))
2023-05-23 22:53:47 +00:00
4f2c007a1b
[Reland] fix missing-prototypes warnings in torch_cpu (Part 4) ( #101949 )
...
This PR relands the changes introduced in PR #100849 . The old PR turnd nnc_aten_embedding into a static function, however, it is actually used in torch/csrc/jit/tensorexpr/operators/misc.cpp.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/101949
Approved by: https://github.com/albanD
2023-05-22 10:53:07 +00:00
66a2600b6a
[T153220354] Fix header inclusions in c10 ( #1541 ) ( #101846 )
...
Summary:
This is a re-attempt to land the iwyu header changes, by taking the diff from [PR 100304](https://github.com/pytorch/pytorch/pull/100304 ), and adding the bare minimal changes to make the diff build corectly in the internal builds.
X-link: https://github.com/facebookresearch/pytorch3d/pull/1541
X-link: https://github.com/fairinternal/pytorch3d/pull/44
- Re-work D45769819 to fix header inclusions in c10
Test Plan:
```
buck2 build --no-remote-cache mode/dev-nosan //caffe2/c10/...
buck2 build --no-remote-cache mode/dev-nosan //deeplearning/fbgemm/fbgemm_gpu/...
buck2 build mode/dev-nosan //vision/fair/pytorch3d/pytorch3d:_C
```
Reviewed By: malfet
Differential Revision: D45920611
Pull Request resolved: https://github.com/pytorch/pytorch/pull/101846
Approved by: https://github.com/malfet , https://github.com/Skylion007
2023-05-20 19:35:14 +00:00
498c34e8e8
Revert " fix missing-prototypes warnings in torch_cpu (Part 4) ( #100849 )"
...
This reverts commit c2f28d1c1df0db78f2951e4df5dde264f80f07eb.
Reverted https://github.com/pytorch/pytorch/pull/100849 on behalf of https://github.com/izaitsevfb due to fails internal Meta builds, including fbcode and android, see D46009888: ld.lld: error: undefined symbol: nnc_aten_embedding ([comment](https://github.com/pytorch/pytorch/pull/100849#issuecomment-1555105800 ))
2023-05-19 19:05:15 +00:00
bcb4444cec
PyTorch -> C++17 ( #98209 ) ( #100557 )
...
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 4f0b524</samp>
This pull request updates the codebase and the documentation to use C++17 instead of C++14 as the minimum required C++ standard. This affects the `ATen`, `c10`, and `torch` libraries and their dependencies, as well as the CI system and the `conda` package metadata.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100557
Approved by: https://github.com/malfet
2023-05-19 00:49:08 +00:00
c2f28d1c1d
fix missing-prototypes warnings in torch_cpu (Part 4) ( #100849 )
...
This PR fixes more missing-prototypes violations in the torch_cpu source following PRs #100053 , #100147 and #100245
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100849
Approved by: https://github.com/albanD
2023-05-18 03:49:45 +00:00
721b144f0f
[MPS] Add support for Custom Kernels ( #100661 )
...
- This change introduces these APIs to enable developing custom kernels on the MPS Stream:
`torch::mps::get_command_buffer()`
`torch::mps::get_dispatch_queue()`
`torch::mps::commit()`
- Add ObjC test case
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100661
Approved by: https://github.com/kulinseth , https://github.com/malfet
2023-05-15 17:02:33 +00:00
6ac0542747
Cpp Reduce LR on plateau scheduler ( #100311 )
...
Hello!
Recently i was playing with LibTorch libs, but i noticed that currently there is only one LR Scheduler implementation available. I needed 'Reduce on plateau scheduler', so implemented it by myself. Used it a lot of times, and it seem work as it should, so decided to share my implementation here.
If u will decide that this is something worth to merge, or it needs tweaking/tests let me know!
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100311
Approved by: https://github.com/albanD
2023-05-12 20:50:48 +00:00
4eaaa08623
Revert "Fix header inclusions in c10 by iwyu ( #100304 )"
...
This reverts commit 6037ee8cc914d64a27965a35b20472044416a2a5.
Reverted https://github.com/pytorch/pytorch/pull/100304 on behalf of https://github.com/jeanschmidt due to Breaking meta internal builds and fbgemm builds ([comment](https://github.com/pytorch/pytorch/pull/100304#issuecomment-1543919257 ))
2023-05-11 12:37:35 +00:00
6037ee8cc9
Fix header inclusions in c10 by iwyu ( #100304 )
...
This work introduces include-what-you-use support for c10 by a CMake option defaulting to off. We also remove some unused header inclusions and fix a trivial inclusion error.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100304
Approved by: https://github.com/ezyang
2023-05-11 05:19:42 +00:00
da02ccc60e
Revert "PyTorch -> C++17 ( #98209 ) ( #100557 )"
...
This reverts commit 083f88e12632059e7e710634fc8708c8205678d5.
Reverted https://github.com/pytorch/pytorch/pull/100557 on behalf of https://github.com/jeanschmidt due to breaking internal builds ([comment](https://github.com/pytorch/pytorch/pull/100557#issuecomment-1543285863 ))
2023-05-11 03:43:11 +00:00
3271413e74
Revert "Fix header inclusions in c10 by iwyu ( #100304 )"
...
This reverts commit 39ec5fa722730f6c25490c2c33933b014767f297.
Reverted https://github.com/pytorch/pytorch/pull/100304 on behalf of https://github.com/huydhn due to Sorry for reverting your PR, it is almost there but fails on Windows 39ec5fa722
, which is in unstable mode after https://github.com/pytorch/pytorch/pull/100548 ([comment](https://github.com/pytorch/pytorch/pull/100304#issuecomment-1542975714 ))
2023-05-11 00:37:32 +00:00
39ec5fa722
Fix header inclusions in c10 by iwyu ( #100304 )
...
This work introduces include-what-you-use support for c10 by a CMake option defaulting to off. We also remove some unused header inclusions and fix a trivial inclusion error.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100304
Approved by: https://github.com/ezyang
2023-05-10 15:42:43 +00:00
083f88e126
PyTorch -> C++17 ( #98209 ) ( #100557 )
...
<!--
copilot:summary
-->
### <samp>🤖 Generated by Copilot at 4f0b524</samp>
This pull request updates the codebase and the documentation to use C++17 instead of C++14 as the minimum required C++ standard. This affects the `ATen`, `c10`, and `torch` libraries and their dependencies, as well as the CI system and the `conda` package metadata.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100557
Approved by: https://github.com/malfet
2023-05-10 04:47:35 +00:00
19be2bb875
Revert "[MPS] Add support for Custom Kernels ( #100661 )"
...
This reverts commit f39cda83d133cdd92e06e3d8cdd91340b43eb2c2.
Reverted https://github.com/pytorch/pytorch/pull/100661 on behalf of https://github.com/malfet due to Break internal builds, but also guarding dispatch_t define behind __OBJC__ guard is not a good practices ([comment](https://github.com/pytorch/pytorch/pull/100661#issuecomment-1540540002 ))
2023-05-09 17:02:04 +00:00
a3f656cc6c
use const_data_ptr as source of std::copy ( #100885 )
...
use const_data_ptr as source of std::copy
Test Plan: Rely on CI.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100885
Approved by: https://github.com/Skylion007
2023-05-09 13:47:34 +00:00