Don't detach when making views; force caller to detach (#84893)
Signed-off-by: Edward Z. Yang <[email protected]>
Pull Request resolved: https://github.com/pytorch/pytorch/pull/84893
Approved by: https://github.com/soulitzer, https://github.com/SherlockNoMad
diff --git a/test/test_proxy_tensor.py b/test/test_proxy_tensor.py
index db39788..70d66cd 100644
--- a/test/test_proxy_tensor.py
+++ b/test/test_proxy_tensor.py
@@ -732,6 +732,17 @@
x, y = torch.randn(2), torch.randn(2)
self.assertEqual(g(x, y), f(x, y))
+ def test_alias(self):
+ def f(x):
+ return torch.ops.aten.alias(x)
+
+ r = str(make_fx(f, tracing_mode="fake")(torch.randn(2)).code).strip()
+ # NB: this should not have a detach call
+ self.assertExpectedInline(r, """\
+def forward(self, x_1):
+ alias = torch.ops.aten.alias.default(x_1); x_1 = None
+ return alias""")
+
def _get_node(fx_g, cond):
for n in fx_g.graph.nodes:
if cond(n):