code: def _common(self, fn, frame_count, op_count):
      torch._dynamo.reset()
      v1 = torch.ones(10)
      v2 = torch.ones(10) * -2.0
      correct1 = fn(v1, v2)
      correct2 = fn(v2, v1)
      cnt = torch._dynamo.testing.CompileCounter()
      opt_fn = torch._dynamo.optimize(cnt)(fn)
      r1 = opt_fn(v1, v2)
      r2 = opt_fn(v2, v1)
      self.assertTrue(torch._dynamo.testing.same(r1, correct1))
      self.assertTrue(torch._dynamo.testing.same(r2, correct2))
      self.assertEqual(
          cnt.frame_count,
          frame_count,
          f"actual {cnt.frame_count} != expected {frame_count}",
      )
      self.assertEqual(cnt.op_count, op_count)
  
imports: from unittest.mock import patch
  import torch
  import torch._dynamo.test_case
  import torch._dynamo.testing
  from torch._dynamo.testing import unsupported
  from torch._dynamo.utils import ifdynstaticdefault
label_desc: Use image node_id 1 for calling the SubGraphTests obj's underlying member method code with example usage: obj._common(fn, frame_count, op_count) without return types