code: def _process_output_layers(self):
      for name in self.IR_graph.output_layers:
          IR_node = self.IR_graph.get_node(
              self.IR_graph.get_node(name).real_name
          )
          # omit node of some type
          if IR_node.type == "Shape" or IR_node.type == "Pack":
              continue
          shape_str = IRGraph.shapeToStr(
              IR_node.layer.attr["_output_shapes"].list.shape[0]
          )
  
          if IR_node.layer.attr["dtype"].type == graph_pb2.DT_UNDEFINED:
              IR_node.layer.attr["dtype"].type = graph_pb2.DT_FLOAT32
          dtype_str = self.dtype_map[IR_node.layer.attr["dtype"].type]
          self.add_body(
              1,
              "{:<15} = helper.make_tensor_value_info('{}', {}, ({},))".format(
                  IR_node.variable_name + "_out",
                  IR_node.variable_name,
                  dtype_str,
                  shape_str,
              ),
          )
          self.outputs.append(IR_node.variable_name + "_out")
  
imports: from mmdnn.conversion.common.DataStructure.emitter import Emitter
  from mmdnn.conversion.common.IR.IR_graph import IRGraph
  import os.path
  import mmdnn.conversion.common.IR.graph_pb2
  import numpy
  import sys
label_desc: Use image node_id 6 for calling the OnnxEmitter obj's underlying member method code with example usage: obj._process_output_layers() without return types