code: def test_nested_grad_mode_graph_break(self):
      def fn(x):
          before = torch.is_grad_enabled()
          with torch.set_grad_enabled(False):
              torch._dynamo.graph_break()
              with torch.set_grad_enabled(True):
                  x = torch.mul(x, 5)
                  torch._dynamo.graph_break()
                  x = torch.sqrt(x)
                  assert torch.is_grad_enabled()
              assert not torch.is_grad_enabled()
          assert torch.is_grad_enabled() == before
          return x
  
      a = torch.randn([3, 4])
      cnts = torch._dynamo.testing.CompileCounter()
      opt_fn = torch._dynamo.optimize(cnts)(fn)
  
      for _ in range(10):
          opt_fn(a)
      self.assertEqual(cnts.frame_count, 2)
  
imports: import unittest
  import torch
  import torch._dynamo.test_case
  import torch._dynamo.testing
  import torch.onnx.operators
  from torch._dynamo.testing import EagerAndRecordGraphs, normalize_gm, same
  from torch.nn import functional
  from torch.testing._internal.common_cuda import PLATFORM_SUPPORTS_FLASH_ATTENTION
  from torch.testing._internal.common_utils import TEST_WITH_ROCM
label_desc: Use image node_id 3 for calling the CtxManagerTests obj's underlying member method code with example usage: obj.test_nested_grad_mode_graph_break() and returns: x