code: def _all_names_in_graph(graph):
      if graph is None:
          return set()
  
      names = set()
      names.update(value_info.name for value_info in graph.input)
      names.update(value_info.name for value_info in graph.output)
      for node in graph.node:
          names.update(node.input)
          names.update(node.output)
      return names
  
imports: import collections
  import sys
  import zipfile
  import itertools
  import onnx.backend
  from caffe2.python import core, workspace, rnn_cell, gru_cell
  from caffe2.python.model_helper import ModelHelper
  from caffe2.proto import caffe2_pb2
  import caffe2.python.utils
  import numpy
  import onnx
  from onnx import TensorProto
  import onnx.numpy_helper
  import onnx.defs
  import onnx.shape_inference
  import onnx.utils
  from onnx.backend.base import Backend, Device, DeviceType, namedtupledict
  from caffe2.python.onnx.workspace import Workspace
  from caffe2.python.onnx.backend_rep import Caffe2Rep
  import caffe2.python._import_c_extension
  import warnings
label_desc: Use image node_id 21 for calling the Caffe2Backend obj's underlying member method code with example usage: obj._all_names_in_graph(graph) and returns: names, set