code: def runTest(self, test_func, dtype):
      # run the test with fusion turned OFF
      os.environ["TF_ROCM_FUSION_ENABLE"] = "0"
      with session.Session() as sess:
          results_without_fusion = sess.run(test_func(dtype))
  
      # explicitly clear the graph
      ops.reset_default_graph()
  
      # run the test with fusion turned ON
      os.environ["TF_ROCM_FUSION_ENABLE"] = "1"
      with session.Session() as sess:
          results_with_fusion = sess.run(test_func(dtype))
  
      # compare the results with and without fusion
      tol = 1e-3 if dtype == dtypes.float16 else 1e-5
      for with_fusion, without_fusion in zip(
          results_with_fusion, results_without_fusion
      ):
          self.assertAllClose(
              with_fusion, without_fusion, atol=tol, rtol=tol
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import time
  import collections
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops import nn_impl
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import gradient_checker
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  import tensorflow.python.ops.nn_grad
  from tensorflow.python.platform import test
  from tensorflow.python.framework import test_util
  from tensorflow.python.client import session
  import numpy
label_desc: Use image node_id 1 for calling the FusionOpsTestCase obj's underlying member method code with example usage: obj.runTest(test_func, dtype) without return types