Remove warnings on new_* constructors (#20026)
Summary:
Stack from [ghstack](https://github.com/ezyang/ghstack):
* **#20026 Remove warnings on new_* constructors**
Revert of #16770, fixes #19995
Pull Request resolved: https://github.com/pytorch/pytorch/pull/20026
Pulled By: driazati
Differential Revision: D15171691
fbshipit-source-id: 057c3b4a9fd6086ca240007e5404a286080f04b6
diff --git a/test/test_jit.py b/test/test_jit.py
index f39cf6c..d872f23 100644
--- a/test/test_jit.py
+++ b/test/test_jit.py
@@ -3045,16 +3045,6 @@
with self.assertRaisesRegex(RuntimeError, "is a zip"):
torch.load(f.name)
- def test_legacy_constructors(self):
- def fn(x):
- return x.new_zeros(5, 5, requires_grad=False)
-
- with warnings.catch_warnings(record=True) as warns:
- torch.jit.trace(fn, (torch.ones(2, 2)))
- warns = [str(w.message) for w in warns]
- self.assertEqual(len(warns), 1)
- self.assertEqual(warns[0], "new_zeros is a legacy constructor and is not supported in the JIT.")
-
def test_python_bindings(self):
lstm_cell = torch.jit.script(LSTMCellS)
diff --git a/tools/autograd/templates/python_variable_methods.cpp b/tools/autograd/templates/python_variable_methods.cpp
index e2b9559..21bf564 100644
--- a/tools/autograd/templates/python_variable_methods.cpp
+++ b/tools/autograd/templates/python_variable_methods.cpp
@@ -507,7 +507,6 @@
static PyObject * THPVariable_new_empty(PyObject* self, PyObject* args, PyObject* kwargs)
{
HANDLE_TH_ERRORS
- jit::tracer::warn("new_empty", jit::tracer::LEGACY_CONSTRUCTOR);
auto& self_ = reinterpret_cast<THPVariable*>(self)->cdata;
OptionalDeviceGuard device_guard(device_of(self_));
return THPVariable_Wrap(torch::utils::new_empty(self_.dispatch_type(), self_.scalar_type(), args, kwargs));
@@ -517,7 +516,6 @@
static PyObject * THPVariable_new_full(PyObject* self, PyObject* args, PyObject* kwargs)
{
HANDLE_TH_ERRORS
- jit::tracer::warn("new_full", jit::tracer::LEGACY_CONSTRUCTOR);
auto& self_ = reinterpret_cast<THPVariable*>(self)->cdata;
OptionalDeviceGuard device_guard(device_of(self_));
return THPVariable_Wrap(torch::utils::new_full(self_.dispatch_type(), self_.scalar_type(), args, kwargs));
@@ -527,7 +525,6 @@
static PyObject * THPVariable_new_ones(PyObject* self, PyObject* args, PyObject* kwargs)
{
HANDLE_TH_ERRORS
- jit::tracer::warn("new_ones", jit::tracer::LEGACY_CONSTRUCTOR);
auto& self_ = reinterpret_cast<THPVariable*>(self)->cdata;
OptionalDeviceGuard device_guard(device_of(self_));
return THPVariable_Wrap(torch::utils::new_ones(self_.dispatch_type(), self_.scalar_type(), args, kwargs));
@@ -537,7 +534,6 @@
static PyObject * THPVariable_new_tensor(PyObject* self, PyObject* args, PyObject* kwargs)
{
HANDLE_TH_ERRORS
- jit::tracer::warn("new_tensor", jit::tracer::LEGACY_CONSTRUCTOR);
auto& self_ = reinterpret_cast<THPVariable*>(self)->cdata;
OptionalDeviceGuard device_guard(device_of(self_));
return THPVariable_Wrap(torch::utils::new_tensor(self_.dispatch_type(), self_.scalar_type(), args, kwargs));
@@ -547,7 +543,6 @@
static PyObject * THPVariable_new_zeros(PyObject* self, PyObject* args, PyObject* kwargs)
{
HANDLE_TH_ERRORS
- jit::tracer::warn("new_zeros", jit::tracer::LEGACY_CONSTRUCTOR);
auto& self_ = reinterpret_cast<THPVariable*>(self)->cdata;
OptionalDeviceGuard device_guard(device_of(self_));
return THPVariable_Wrap(torch::utils::new_zeros(self_.dispatch_type(), self_.scalar_type(), args, kwargs));
diff --git a/torch/csrc/jit/tracer.cpp b/torch/csrc/jit/tracer.cpp
index 05abdf5..e00ee38 100644
--- a/torch/csrc/jit/tracer.cpp
+++ b/torch/csrc/jit/tracer.cpp
@@ -675,8 +675,6 @@
" can't be represented in the JIT at the moment, so we won't connect any uses of "
"this value with its current trace. If you happen to use it again, it will show "
"up as a constant in the graph.";
-const char* LEGACY_CONSTRUCTOR =
- " is a legacy constructor and is not supported in the JIT.";
// XXX: _kind can be a nullptr
void _do_warn(const char* _reason, const char* _kind) {
diff --git a/torch/csrc/jit/tracing_state.h b/torch/csrc/jit/tracing_state.h
index 8ec3530..74baf86 100644
--- a/torch/csrc/jit/tracing_state.h
+++ b/torch/csrc/jit/tracing_state.h
@@ -133,7 +133,6 @@
TORCH_API extern const char* WARN_PYTHON_DATAFLOW;
TORCH_API extern const char* WARN_CONSTRUCTOR;
TORCH_API extern const char* WARN_RESIZE;
-TORCH_API extern const char* LEGACY_CONSTRUCTOR;
TORCH_API void _do_warn(const char* _reason, const char* _kind);
inline void warn(const char* _reason, const char* _kind = nullptr) {
if (const auto& state = getTracingState()) {