class_docstr: ResNet model.
code: def build(self, layers, input_shape):
      self.layer_names = []
      self.layers = layers
      self.input_shape = input_shape
      if isinstance(layers[-1], Softmax):
          layers[-1].name = "probs"
          layers[-2].name = "logits"
      else:
          layers[-1].name = "logits"
      for i, layer in enumerate(self.layers):
          if hasattr(layer, "name"):
              name = layer.name
          else:
              name = layer.__class__.__name__ + str(i)
              layer.name = name
          self.layer_names.append(name)
  
          layer.set_input_shape(input_shape)
          input_shape = layer.get_output_shape()
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  import tensorflow
  from cleverhans.serial import NoRefModel
label_desc: Use image node_id 3 for calling the ResNet obj's underlying member method code with example usage: obj.build(layers, input_shape) without return types