27 lines
788 B
Python
27 lines
788 B
Python
# Owner(s): ["oncall: jit"]
|
|
|
|
import torch
|
|
from torch.testing._internal.common_utils import raise_on_run_directly
|
|
from torch.testing._internal.jit_utils import JitTestCase
|
|
|
|
|
|
class TestFuserCommon(JitTestCase):
|
|
def test_autodiff_fallback(self):
|
|
for rq in [True, False]:
|
|
|
|
@torch.jit.script
|
|
def fn(x):
|
|
return torch.max(x**2.0, x**3.0)
|
|
|
|
x = torch.randn(5, requires_grad=not rq)
|
|
# cause optimization to be created
|
|
for _ in range(5):
|
|
fn(x)
|
|
# test fallback when optimization is not applicable
|
|
y = fn(torch.randn(5, requires_grad=rq))
|
|
self.assertEqual(y.requires_grad, rq)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise_on_run_directly("test/test_jit_fuser_te.py")
|