code: def _ssa_rewrite(cls, net, init_net, value_info):
      def ssa_name(name, version, version_cnt=None):
          if version == 0:
              return name
          if version_cnt and len(version_cnt.get(name, {})) <= 1:
              return name
          return "{}_{}".format(name, version)
  
      if init_net:
          for op in init_net.op:
              assert re.match(
                  "GivenTensor.*Fill", op.type
              ), "type is {}, \n{}".format(op.type, op)
              assert len(op.output) == 1
  
      ssa, blob_versions = caffe2_core.get_ssa(net)
      version_cnt = {}
      versioned_blobs = []
      for versioned_input, versioned_output in ssa:
          versioned_blobs += versioned_input
          versioned_blobs += versioned_output
  
      for name, version in versioned_blobs:
          if name not in version_cnt:
              version_cnt[name] = {version}
          else:
              version_cnt[name].add(version)
  
      assert len(net.op) == len(ssa)
      for op, (versioned_inputs, versioned_outputs) in zip(net.op, ssa):
          op.input[:] = [
              ssa_name(name, version, version_cnt)
              for name, version in versioned_inputs
          ]
          op.output[:] = [
              ssa_name(name, version, version_cnt)
              for name, version in versioned_outputs
          ]
      net.external_output[:] = [
          ssa_name(name, blob_versions[name], version_cnt)
          for name in net.external_output
      ]
  
imports: import collections
  import itertools
  import logging
  import re
  from caffe2.python import core
  from onnx import checker, helper, numpy_helper, mapping, GraphProto, NodeProto, TensorProto, OperatorSetIdProto
  from onnx.helper import make_tensor_value_info, make_model
  import numpy
  from caffe2.python.onnx.helper import c2_native_run_net
  import caffe2.python._import_c_extension
label_desc: Use image node_id 12 for calling the Caffe2Frontend obj's underlying member method code with example usage: obj._ssa_rewrite(cls, net, init_net, value_info) and returns: str, name, name