code: def testLoopCPU(self):
      ops.reset_default_graph()
      with ops.device("/cpu:0"):
          tfprof_node, run_meta = _run_loop_model()
          # The while-loop caused a node to appear 4 times in scheduling.
          ret = _extract_node(
              run_meta, "rnn/while/basic_rnn_cell/MatMul"
          )
          self.assertEqual(len(ret["cpu:0"]), 4)
  
          total_cpu_execs = 0
          for node in ret["cpu:0"]:
              total_cpu_execs += node.op_end_rel_micros
  
          mm_node = lib.SearchTFProfNode(
              tfprof_node, "rnn/while/basic_rnn_cell/MatMul"
          )
  
          self.assertEqual(mm_node.run_count, 4)
          self.assertEqual(mm_node.cpu_exec_micros, total_cpu_execs)
          self.assertEqual(mm_node.exec_micros, total_cpu_execs)
  
imports: from collections import defaultdict
  from tensorflow.core.protobuf import config_pb2
  from tensorflow.core.protobuf import rewriter_config_pb2
  from tensorflow.python.client import session
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
  from tensorflow.python.profiler import option_builder
  from tensorflow.python.profiler import model_analyzer
  from tensorflow.python.profiler.internal import model_analyzer_testlib
label_desc: Use image node_id 4 for calling the RunMetadataTest obj's underlying member method code with example usage: obj.testLoopCPU() without return types