Commit Graph

2991 Commits

Author SHA1 Message Date
Serkan Karakulak
52e8af57a6 [3/N] Update ema_teacher_arch in the backward call (#92080)
Summary: adding support for updating ema_teacher_arch in C2 backend

Test Plan:
baseline
f397096610

EMA run
f397096864

Differential Revision: D41124891

Pull Request resolved: https://github.com/pytorch/pytorch/pull/92080
Approved by: https://github.com/kit1980
2023-01-20 02:29:42 +00:00
Nikita Shulga
1906eaf22f [BE] Get rid of future (#92596)
PyTorch has been Python-3.X+ for ages, so it's a shame to still rely on `future.utils` even in a deprecated Caffe2 codebase

For the reference:
https://peps.python.org/pep-0469/#migrating-directly-to-python-3

Pull Request resolved: https://github.com/pytorch/pytorch/pull/92596
Approved by: https://github.com/kit1980, https://github.com/orionr
2023-01-19 08:46:50 +00:00
Natalia Gimelshein
818079dc4e disabled flaky c2 test (#91640)
Summary: disables flaky test, T93236537

Test Plan: Existing tests

Differential Revision: D42314944

Pull Request resolved: https://github.com/pytorch/pytorch/pull/91640
Approved by: https://github.com/malfet
2023-01-03 21:26:21 +00:00
Sergii Dymchenko
f51f6aa387 Fix non-existing parameters in docstrings (#90505)
Continuation after https://github.com/pytorch/pytorch/pull/90163.

Here is a script I used to find all the non-existing arguments in the docstrings (the script can give false positives in presence of *args/**kwargs or decorators):

_Edit:_
I've realized that the indentation is wrong for the last `break` in the script, so the script only gives output for a function if the first docstring argument is wrong. I'll create a separate PR if I find more issues with corrected script.

``` python
import ast
import os
import docstring_parser

for root, dirs, files in os.walk('.'):
    for name in files:
        if root.startswith("./.git/") or root.startswith("./third_party/"):
            continue
        if name.endswith(".py"):
            full_name = os.path.join(root, name)
            with open(full_name, "r") as source:
                tree = ast.parse(source.read())
                for node in ast.walk(tree):
                    if isinstance(node, ast.FunctionDef):
                        all_node_args = node.args.args
                        if node.args.vararg is not None:
                            all_node_args.append(node.args.vararg)
                        if node.args.kwarg is not None:
                            all_node_args.append(node.args.kwarg)
                        if node.args.posonlyargs is not None:
                            all_node_args.extend(node.args.posonlyargs)
                        if node.args.kwonlyargs is not None:
                            all_node_args.extend(node.args.kwonlyargs)
                        args = [a.arg for a in all_node_args]
                        docstring = docstring_parser.parse(ast.get_docstring(node))
                        doc_args = [a.arg_name for a in docstring.params]
                        clean_doc_args = []
                        for a in doc_args:
                            clean_a = ""
                            for c in a.split()[0]:
                                if c.isalnum() or c == '_':
                                    clean_a += c
                            if clean_a:
                                clean_doc_args.append(clean_a)
                        doc_args = clean_doc_args
                        for a in doc_args:
                            if a not in args:
                                print(full_name, node.lineno, args, doc_args)
                            break

```
Pull Request resolved: https://github.com/pytorch/pytorch/pull/90505
Approved by: https://github.com/malfet, https://github.com/ZainRizvi
2022-12-09 21:43:09 +00:00
Ram Rachum
351d73b97f Fix exception causes all over the codebase (#90271)
This is the continuation to #90134 and hopefully the final PR in this series.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/90271
Approved by: https://github.com/kit1980
2022-12-07 04:29:00 +00:00
Atul Jangra
564905c8e1 [Caffe2] Fix the assert message (#89816)
Summary:
As title.
dev1/2 is invalid. It should be dev_1/2 instead

Test Plan: Sandcastle

Differential Revision: D41569982

Pull Request resolved: https://github.com/pytorch/pytorch/pull/89816
Approved by: https://github.com/PaliC
2022-12-05 23:40:08 +00:00
Aaron Gokaslan
54fca6a9da Fix: prefer .is_none() over .is(py::none()) for pybind11 in caffe2 (#88199)
Follow up to #88051 . I noticed that I missed a few spots in the caffe2 folder. Prefer `.is_none()` over `.is(py::none())` as `.is_none()` is more efficient since it avoid reference counting increments and decrements.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/88199
Approved by: https://github.com/albanD, https://github.com/kit1980
2022-11-17 05:01:11 +00:00
mikey dagitses
3150c9dc6f extract out the clean workspace test to its own file (#88682)
Summary:
This test relies on what the root workspace is before any other code
is run. However, some of the test cases change it. If the order the
tests are run is randomized, then the test can fail if run after one
of them.

Having it on its own ensures that it always sees a pristine state.

Test Plan:
Verified locally and confirmed in internal and external CI.

Reviewers:

Subscribers:

Tasks:

Tags:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/88682
Approved by: https://github.com/r-barnes, https://github.com/malfet
2022-11-09 13:48:57 +00:00
PyTorch MergeBot
8c1c6759b2 Revert "remove assert_allclose from torch.testing (#87974)"
This reverts commit 5669e10d37.

Reverted https://github.com/pytorch/pytorch/pull/87974 on behalf of https://github.com/mehtanirav due to Internal breakages from method removal
2022-11-04 19:12:37 +00:00
Philip Meier
5669e10d37 remove assert_allclose from torch.testing (#87974)
See #87969 or #86586 for the reasoning.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/87974
Approved by: https://github.com/mruberry
2022-11-02 14:05:01 +00:00
Philip Meier
bc73affdad prepare removal of deprecated functionality in torch.testing (#87969)
_Redo of #86586 with all BC breaking changes granularly placed into separate commits._

---

Per title. Deprecation happened on Feb 25, 2022 in c6f1bbc0ac, which made it into the 1.12 release. Since it is now 245 days later and the next release will be 1.14, the removals later in the stack comply with the [BC policy](https://github.com/pytorch/pytorch/wiki/PyTorch's-Python-Frontend-Backward-and-Forward-Compatibility-Policy#minimizing-the-disruption-of-bc-breaking-changes).
Pull Request resolved: https://github.com/pytorch/pytorch/pull/87969
Approved by: https://github.com/mruberry
2022-11-02 14:04:48 +00:00
Loren Arthur
1dad051b05 Move workspace related functions to separate file (#87651)
Move workspace related functions to separate file

Test Plan: Existing tests

Differential Revision: D40657708

Pull Request resolved: https://github.com/pytorch/pytorch/pull/87651
Approved by: https://github.com/malfet
2022-10-29 04:52:01 +00:00
Kazuaki Ishizaki
daff5d3556 Fix typos under caffe2 directory (#87840)
This PR fixes typos in `.md` files under caffe2 directory

Pull Request resolved: https://github.com/pytorch/pytorch/pull/87840
Approved by: https://github.com/kit1980
2022-10-28 04:53:36 +00:00
Wenguang Mao
755b39ba66 [LRD] Allowing using dedicated iteration counter for learning rate (#85195)
Summary: So that we could manipulate the iteration counter for lrarning rate separately (for learning rate decay or learning rate re-warming up etc), without affecting other techniques relying on iterations (such as EMA)

Test Plan:
Unit tests:
```
    ✓ Pass: caffe2/caffe2/python:optimizer_test - testSparse (caffe2.caffe2.python.optimizer_test.TestAdagradWithDedicatedLRIteration) (46.475)
    ✓ Pass: caffe2/caffe2/python:optimizer_test - test_global_norm_based_gradient_clipping (caffe2.caffe2.python.optimizer_test.TestAdagradWithDedicatedLRIteration) (46.475)
    ✓ Pass: caffe2/caffe2/python:optimizer_test - test_lr_injection (caffe2.caffe2.python.optimizer_test.TestAdagradWithDedicatedLRIteration) (46.475)
    ✓ Pass: caffe2/caffe2/python:optimizer_test - main (46.475)
Summary
  Pass: 5
  Skip: 1
    ↻ caffe2/caffe2/python:optimizer_test - testGPUDense (caffe2.caffe2.python.optimizer_test.TestAdagradWithDedicatedLRIteration)
  ListingSuccess: 1
```

Reviewed By: liangming168

Differential Revision: D38747417

Pull Request resolved: https://github.com/pytorch/pytorch/pull/85195
Approved by: https://github.com/liangming168, https://github.com/eellison
2022-09-27 00:56:57 +00:00
PyTorch MergeBot
0c7ca2d97b Revert "Add DLPack support for XPU backend by mapping to kDLOneAPI in DLPack (#82867)"
This reverts commit de0e03001d.

Reverted https://github.com/pytorch/pytorch/pull/82867 on behalf of https://github.com/kit1980 due to DLPack 0.7 is in conflict with the current usage of DLPack 0.6 internally
2022-08-07 20:38:29 +00:00
johnlu
de0e03001d Add DLPack support for XPU backend by mapping to kDLOneAPI in DLPack (#82867)
## Motivation
The DLPack device type kDLOneAPI stands for the Unified Shared Memory allocated on a oneAPI device. The corresponding Pytorch backend type is XPU.
Support to export/import the Pytorch XPU tensor as a DLPack tensor of kDLOneAPI device.

## Solution
1. Update the DLPack protocol to v0.7.
2. Add the XPU hooks to map the Aten device and DLPack device with the address value and device information.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/82867
Approved by: https://github.com/kit1980
2022-08-05 06:41:42 +00:00
PyTorch MergeBot
0e16340f92 Revert "Add DLPack support for XPU backend by mapping to kDLOneAPI in DLPack. (#81021)"
This reverts commit 8be853025c.

Reverted https://github.com/pytorch/pytorch/pull/81021 on behalf of https://github.com/facebook-github-bot due to Diff reverted internally
2022-08-05 01:51:39 +00:00
johnlu
8be853025c Add DLPack support for XPU backend by mapping to kDLOneAPI in DLPack. (#81021)
## Motivation
The DLPack device type kDLOneAPI stands for the Unified Shared Memory allocated on a oneAPI device. The corresponding Pytorch backend type is XPU.
Support to export/import the Pytorch XPU tensor as a DLPack tensor of kDLOneAPI device.

## Solution
1. Update the DLPack protocol to v0.7.
2. Add the XPU hooks to map the Aten device and DLPack device with the address value and device information.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/81021
Approved by: https://github.com/ezyang
2022-08-04 12:50:49 +00:00
Will Constable
4f34cd6d1e Replace all CHECK_ and DCHECK_ with TORCH_* macros (#82032)
Avoid exposing defines that conflict with google logging, since this blocks external usage of libtorch in certain cases.

All the 'interesting' changes should be in these two files, and the rest should just be mechanical changes via sed.
c10/util/logging_is_not_google_glog.h
c10/util/logging_is_google_glog.h

Fixes https://github.com/pytorch/pytorch/issues/81415

cc @miladm @malfet
Pull Request resolved: https://github.com/pytorch/pytorch/pull/82032
Approved by: https://github.com/soumith, https://github.com/miladm
2022-07-26 01:20:44 +00:00
zhang, xiaobing
86b86202b5 fix torch.config can't respect USE_MKLDNN flag issue (#75001)
Fixes https://github.com/pytorch/pytorch/issues/74949, which reports that torch.config can't respect USE_MKLDNN flag.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/75001
Approved by: https://github.com/malfet
2022-07-17 15:00:48 +00:00
Tim Gates
3a87b47de9 docs: Fix a few typos (#81435)
There are small typos in:
- caffe2/python/recurrent.py
- test/distributed/test_c10d_nccl.py
- test/test_fx.py
- torch/csrc/jit/runtime/autodiff.cpp
- torchgen/gen.py

Fixes:
- Should read `propagation` rather than `propogation`.
- Should read `multiplied` rather than `multuplied`.
- Should read `eliminate` rather than `elminate`.
- Should read `dispatcher` rather than `disaptcher`.

Semi-automated pull request generated by
https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md
Pull Request resolved: https://github.com/pytorch/pytorch/pull/81435
Approved by: https://github.com/ngimel
2022-07-14 04:20:26 +00:00
PyTorch MergeBot
877180e1af Revert "Add DLPack support for XPU backend by mapping to kDLOneAPI in DLPack. (#78154)"
This reverts commit 3a6c1dc7c7.

Reverted https://github.com/pytorch/pytorch/pull/78154 on behalf of https://github.com/albanD due to breaks mobile build
2022-07-05 08:52:46 +00:00
johnlu
3a6c1dc7c7 Add DLPack support for XPU backend by mapping to kDLOneAPI in DLPack. (#78154)
## Motivation
The DLPack device type kDLOneAPI stands for the Unified Shared Memory allocated on a oneAPI device. The corresponding Pytorch backend type is XPU.
Support to export/import the Pytorch XPU tensor as a DLPack tensor of kDLOneAPI device.

## Solution
1. Update the DLPack protocol to v0.7.
2. Add the XPU hooks to map the Aten device and DLPack device with the address value and device information.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/78154
Approved by: https://github.com/ezyang
2022-07-04 19:59:05 +00:00
Justin Chu
438142a599 [ONNX] Update onnx submodule to 1.12 (#79585)
Update onnx submodule to the 1.12 release
Pull Request resolved: https://github.com/pytorch/pytorch/pull/79585
Approved by: https://github.com/garymm, https://github.com/msaroufim
2022-06-23 18:09:07 +00:00
Adam Simpkins
bb7fd1fcfb [caffe2] fix type annotations for workspace.SwitchWorkspace() (#77464)
Summary: The `create_if_missing` parameter is optional, and defaults to `None`.

Test Plan:
Confirmed that Pyre no longer complains about calling `SwitchWorkspace` with a
single string argument.

Differential Revision: D36366987

Pull Request resolved: https://github.com/pytorch/pytorch/pull/77464
Approved by: https://github.com/voznesenskym
2022-05-20 19:22:06 +00:00
BowenBao
679fc90cdb [ONNX] Support optional type (#68793) (#73284)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/73284

Some important ops won't support optional type until opset 16,
so we can't fully test things end-to-end, but I believe this should
be all that's needed. Once ONNX Runtime supports opset 16,
we can do more testing and fix any remaining bugs.

Test Plan: Imported from OSS

Reviewed By: albanD

Differential Revision: D34625646

Pulled By: malfet

fbshipit-source-id: 537fcbc1e9d87686cc61f5bd66a997e99cec287b

Co-authored-by: BowenBao <bowbao@microsoft.com>
Co-authored-by: neginraoof <neginmr@utexas.edu>
Co-authored-by: Nikita Shulga <nshulga@fb.com>
(cherry picked from commit 822e79f31ae54d73407f34f166b654f4ba115ea5)
2022-05-04 20:24:30 +00:00
Thiago Crepaldi
e07134092f Add warning when importing caffe2 on build without BUILD_CAFFE2=1
Confusing backtraces are issued to users when they run Caffe2 scripts (or tests) on PyTorch builds without Caffe2 enabled through `BUILD_CAFFE2=1`

This PR adds warnings (in more than one place) to return a friendly message for the user, helping them to overcome the problem by themselves

Pull Request resolved: https://github.com/pytorch/pytorch/pull/73770
Approved by: https://github.com/BowenBao, https://github.com/malfet, https://github.com/garymm
2022-04-21 12:28:10 +00:00
PyTorch MergeBot
cc1902a5ed Revert "Add warning when importing caffe2 on build without BUILD_CAFFE2=1"
This reverts commit b142a224c6.

Reverted https://github.com/pytorch/pytorch/pull/73770 on behalf of https://github.com/suo
2022-04-15 01:39:39 +00:00
Thiago Crepaldi
9bbe1d632e Fix ONNX ATen fallback for non-caffe2 engines
This PR introduces 3 BC changes:

First, this PR propagates `BUILD_CAFFE2` flag to `libtorch` and `libtorch_python`, which is necessary for non-caffe2 ONNX runtimes when using `ONNX_ATEN_FALLBACK` operator export type.

Second, as a complement of https://github.com/pytorch/pytorch/pull/68490, this PR refactors Caffe2's Aten ops symbolics to consider not only the `operator_export_type` (aka `ONNX_ATEN_FALLBACK`) to emit Caffe2 Aten ops, but also whether `BUILD_CAFFE2` (which is called `torch.onnx._CAFFE2_ATEN_FALLBACK` in python binding) is set.

Lastly, it renames `onnx::ATen` to `aten::ATen` for ONNX spec consistency in a BC fashion.
ONNX doesn't have `ATen` op on its spec, but PyTorch ONNX converter emits them. Non-Caffe2 backend engines would be mislead by such operator's name/domain. A non-ideal workaround would be to have Aten ops handled based on its name and ignore the (non-complaint) domain. Moreover, users could incorrectly file bugs to either ONNX or ONNX Runtime when they inspect the model and notice the presence of an unspecified ONNX operator.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/73954
Approved by: https://github.com/BowenBao, https://github.com/malfet, https://github.com/garymm, https://github.com/jiafatom
2022-04-14 23:18:45 +00:00
Thiago Crepaldi
b142a224c6 Add warning when importing caffe2 on build without BUILD_CAFFE2=1
Confusing backtraces are issues to user when they try to run tests or actual scripts using Caffe2 on a pytorch build without Caffe2 enabled through BUILD_CAFFE2=1

This PR adds a warning in more than one place to return a friendly message for the user

Pull Request resolved: https://github.com/pytorch/pytorch/pull/73770
Approved by: https://github.com/BowenBao, https://github.com/malfet, https://github.com/garymm
2022-04-14 23:13:40 +00:00
Thiago Crepaldi
950dc1b457 Fix use of ONNX optimizer by Caffe2 backend
Fixes https://github.com/pytorch/pytorch/issues/69674

The fix is Back Compatible with any Caffe2 build. It simply tries to use `onnxptimizer` module when `onnx.optimizer` is not available.

`onnx.optimizer` does not exist since ONNX 1.9 (April 2021) as the code was moved to a different [repo](https://github.com/onnx/onnxoptimizer)

If both `onnx<1.9` and `onnxoptimizer` are not found, the current fallback behavior is maintained (no ONNX optimization happens). Otherwise, the ONNX optimization pass will run from whatever module it is found.

This PR does not require or enforce a direct package dependency to work
Pull Request resolved: https://github.com/pytorch/pytorch/pull/75718
Approved by: https://github.com/BowenBao, https://github.com/malfet
2022-04-14 21:48:48 +00:00
John Shahid
4766314de1 Disable GPU tests for the PiecewiseLinearTransform operator. (#75738)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/75738

The tests are failing on platform010 and blocking the upgrade.  Skip the tests given that Caffe2 on GPU is no longer supported.

Test Plan: signals

Reviewed By: ezyang

Differential Revision: D35613544

Pull Request resolved: https://github.com/pytorch/pytorch/pull/75771
Approved by: https://github.com/jamesr66a
2022-04-14 12:07:50 +00:00
John Shahid
b311f255d8 Disable GPU tests for the Dropout operator. (#75739)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/75739

The tests are failing on platform010 and blocking the upgrade.  Skip the tests given that Caffe2 on GPU is no longer supported.

Test Plan: signals

Reviewed By: ezyang

Differential Revision: D35614159

Pull Request resolved: https://github.com/pytorch/pytorch/pull/75767
Approved by: https://github.com/ezyang
2022-04-14 05:43:41 +00:00
Yulv-git
ac2d2e3a3d Fix some typos.
Fixes #ISSUE_NUMBER

Pull Request resolved: https://github.com/pytorch/pytorch/pull/75561
Approved by: https://github.com/albanD
2022-04-11 21:55:59 +00:00
Nikita Shulga
6d85e7dafa Fix sign-compare in caffe2
Prerequisite change for enabling `-Werror=sign-compare` across PyTorch repo

Pull Request resolved: https://github.com/pytorch/pytorch/pull/75082

Approved by: https://github.com/ngimel
2022-04-05 00:08:05 +00:00
Tongliang Liao
198d727d01 Remove trailing semicolon. (#74031)
Summary:
Resolve https://github.com/pytorch/pytorch/pull/24388#discussion_r823210924

Pull Request resolved: https://github.com/pytorch/pytorch/pull/74031

Reviewed By: ezyang

Differential Revision: D34820695

Pulled By: soulitzer

fbshipit-source-id: a42ff3a98aae25bda37680b6e1a8d5d6f0468ba4
(cherry picked from commit d428b4f2f8a2af18561e45fecc6617bbc023b68e)
2022-03-13 16:25:42 +00:00
Tongliang Liao
adae0d35d2 RNN args renaming in memonger.
RNN ops may contains link_internal/link_external and alias_src/alias_dst.
They should be renamed together with input/output blobs.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/24388
Approved by: https://github.com/ezyang
2022-03-09 20:21:33 +00:00
Wei Wei
bd3db019a0 Update fbcode symlinks for mkl-dnn ideep 2.5.2
Summary: as titled

Test Plan: buck test caffe2/test:nn

Reviewed By: VitalyFedyunin, luciang

Differential Revision: D34285331

fbshipit-source-id: 5144b3ae1dce02e995d1d633443fb660c57df101
(cherry picked from commit 61f12557b7c924d8cdb97c7be791bccc06e7d30d)
2022-03-04 06:40:08 +00:00
Richard Barnes
c021824128 Clean up bisect_percentile_op (#73148)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/73148

Makes a bunch of things const, eliminates extraneous variables

Test Plan: Sandcastle

Reviewed By: malfet

Differential Revision: D34365183

fbshipit-source-id: 56e4c43e0c14d28f9d18903e9b05f993637489b1
(cherry picked from commit 51520edd16084270aefe8f8143799f918d7ae22d)
2022-02-25 04:33:45 +00:00
Gary Miguel
3ac7828195 Update ONNX submodule to 1.11.0 (#73111)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/73111

Reviewed By: mikaylagawarecki

Differential Revision: D34352318

Pulled By: malfet

fbshipit-source-id: aee38c5dd2b379785ecba27f7f21a877461168e1
(cherry picked from commit 424f02c69cbf123e2c8e3220d139ad336fa8fb58)
2022-02-24 08:32:32 +00:00
Steven Troxler
374de33655 [codemod][type-comments] Convert type comments in workspace_test.py (#73086)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/73086

I'm wrapping up the conversion of type comments to type annotations
in caffe2. The last remaining "bulk" codemod has test failures that
are hard for me to understand, so I'm going to submit PRs for each
module individually which makes it easier to see what's causing
problems.

All the codemods were produced via LibCST and then manually cleaned up.

Test Plan: Wait for github CI

Reviewed By: shannonzhu

Differential Revision: D34344202

fbshipit-source-id: 8342267cd27a90ad91a65db858bfbd3675281c9a
(cherry picked from commit 3d0658d8cf)
2022-02-18 22:36:25 +00:00
Howard Huang
dadbf43eff Fix asserts in tests (#72864)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/72864

Fixes #72860

Test Plan: Imported from OSS

Reviewed By: rohan-varma

Differential Revision: D34246987

Pulled By: H-Huang

fbshipit-source-id: 1ba47585533aff4cff9beec49bdc801f8320ffc8
(cherry picked from commit 03e45ceb89)
2022-02-16 18:35:16 +00:00
Xiaohan Wei
ca0ac3a74b [caffe2] allow dropout to take 1.0 as dropout ratio to zero-out a layer (#72741)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/72741

as titled.

Context:
This is useful in fast mitigating feature induced overfitting in the sense that we can do omni-transfer on a trained model and apply dropout with ratio = 1 on features resulting in overfitting. Directly removing the features would not be feasible on omni-transfer scenarios since the downstream FC sizes would change.

Experimental records:
https://fb.quip.com/npIkAgRc8jl9#temp:C:DWC050ceaba14424d23a78462c01
Doing dropout = 1 on selected features improves the eval NE over the next few hours (compared to v0 baseline) as is shown in the figures.

Test Plan:
```
buck test caffe2/caffe2/python/operator_test:dropout_op_test
```

Reviewed By: ustctf

Differential Revision: D34178732

fbshipit-source-id: 533feebe21bc582eefd756de397d5c7807c7438d
(cherry picked from commit 5dabf9c484)
2022-02-15 19:14:46 +00:00
Nikita Shulga
511ec7f366 Fix sequence_ops_test (#72844)
Summary:
Fuzzing gone bad again: `np.unique([])` returns array or float64, but `np.delete` expects array of int

Fixes recent regressions in ONNX tests in OSS CI, see https://github.com/pytorch/pytorch/runs/5188636426?check_suite_focus=true for example

Pull Request resolved: https://github.com/pytorch/pytorch/pull/72844

Reviewed By: gmagogsfm

Differential Revision: D34235295

Pulled By: malfet

fbshipit-source-id: 37ad39ac04f81ac519a5d4e4e8a86901944973bd
(cherry picked from commit 683c767e72)
2022-02-15 06:49:38 +00:00
Dmytro Dzhulgakov
6b24d7e4e5 [caffe2] Allow LpNorm to accept empty tensor (#72660)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/72660

Sometimes it might happen when model gets an empty input.

For consistency with numpy and torch we should just return 0 without averaging or NaN with averaging.

Test Plan: Modified unittest

Differential Revision: D33782786

fbshipit-source-id: 90d8d63d685c96acc903c08c59eb39fad39e493c
(cherry picked from commit ca85779a4e)
2022-02-11 23:14:02 +00:00
CodemodService FBSourceClangFormatLinterBot
3a03af2f50 [AutoAccept][Codemod][FBSourceClangFormatLinter] Daily arc lint --take CLANGFORMAT
Reviewed By: zertosh

Differential Revision: D33730646

fbshipit-source-id: 3af18fc393aecce8f03c9e9689deefcafa3a978e
(cherry picked from commit a578b8b07c)
2022-01-23 03:30:36 +00:00
Ziheng Huang
ae285d837e [1/n][caffe2] Add session based margin loss function in caffe2 operator
Summary: Add session based margin loss into caffe2 operator. This is the first diff make these 2 loss available to dper3

Test Plan:
unit test succeeds with gradient check for both new loss function
buck test //caffe2/caffe2/python/operator_test:softmax_l2r_operator_test
buck test //caffe2/caffe2/python/operator_test:margin_loss_l2r_operator_test

E2E test in bento notebook with model training in N1488923
margin loss model: f318207967 f318207399

Notice that the E2E test is run with dper change in D33532976 to change a full model

Reviewed By: devashisht

Differential Revision: D32902460

fbshipit-source-id: 8f21b9109f500583431156908b632e503ed90dbd
(cherry picked from commit 1592111aa4)
2022-01-21 23:13:36 +00:00
Thomas Viehmann
1a917e637c Bump dlpack.h to latest version (#65047)
Summary:
Fixes https://github.com/pytorch/pytorch/issues/64995

Pull Request resolved: https://github.com/pytorch/pytorch/pull/65047

Reviewed By: VitalyFedyunin

Differential Revision: D32468916

Pulled By: mruberry

fbshipit-source-id: 3e0a17a3a264a77956ea7b795bd472c6fc79566c
(cherry picked from commit bd480b9892)
2022-01-21 16:55:14 +00:00
Stephen Macke
785b6905de reduce plan generation log spam (#70880)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/70880

Change loglevel to `debug` in caffe2 `optimizer.py` for logging rowwise Adagrad engine.

Test Plan: CI + sandcastle

Reviewed By: boryiingsu

Differential Revision: D33439337

fbshipit-source-id: b158249b8df771c0ec8b642210ede39972929b00
2022-01-08 10:07:06 -08:00
Richard Barnes
1622546050 use irange for loops (#70248)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/70248

Modified loops in files under fbsource/fbcode/caffe2/ from the format
```
for(TYPE var=x0;var<x_max;x++)
```
to the format
```
for(const auto var: irange(xmax))
```

This was achieved by running r-barnes's loop upgrader script (D28874212) with some modification to exclude all files under /torch/jit and a number of reversions or unused variable suppression warnings added by hand.

Test Plan: Sandcastle

Reviewed By: malfet

Differential Revision: D32813863

fbshipit-source-id: 527244b4a2b220fdfe7f17dee3599603f492a2ca
2022-01-06 23:14:29 -08:00