code: def output_name(self, auxiliary_output=None):
      bypass_source = self.config["bypass-source"]
      b = self.config["num-bottleneck-filters"]
      conv = ("{0}.conv2" if b <= 0 else "{0}.conv3").format(self.name)
      if bypass_source == "input":
          residual = self.descriptors["input"]["final-string"]
      elif bypass_source == "noop":
          # we let the noop be the sum of the convolutional part and the
          # input, so just return the output of the no-op component.
          return "{0}.noop".format(self.name)
      elif bypass_source == "relu":
          residual = "{0}.relu1".format(self.name)
      else:
          assert bypass_source == "batchnorm"
          residual = "{0}.batchnorm1".format(self.name)
  
      return "Sum({0}, {1})".format(conv, residual)
  
imports: from __future__ import print_function
  from __future__ import division
  import math
  import re
  import sys
  from libs.nnet3.xconfig.basic_layers import XconfigLayerBase
label_desc: Use image node_id 6 for calling the XconfigResBlock obj's underlying member method code with example usage: obj.output_name(auxiliary_output) and returns: str, str