class_docstr: An implementation of `Model` that wraps a Keras model. It
  specifically exposes the hidden features of a model by creating new models.
  The symbolic graph is reused and so there is little overhead. Splitting
  in-place operations can incur an overhead.
class_docstr_tok: ["An","implementation","of","`","Model","`","that","wraps","a","Keras","model",".","It","specifically","exposes","the","hidden","features","of","a","model","by","creating","new","models",".","The","symbolic","graph","is","reused","and","so","there","is","little","overhead",".","Splitting","in-place","operations","can","incur","an","overhead","."]
docstr: Looks for the name of the layer producing the logits.
  :return: name of layer producing the logits
docstr_tok: ["Looks","for","the","name","of","the","layer","producing","the","logits",".",":","return",":","name","of","layer","producing","the","logits"]
code: def _get_logits_name(self):
      """
      Looks for the name of the layer producing the logits.
      :return: name of layer producing the logits
      """
      softmax_name = self._get_softmax_name()
      softmax_layer = self.model.get_layer(softmax_name)
  
      if not isinstance(softmax_layer, Activation):
          # In this case, the activation is part of another layer
          return softmax_name
  
      if not hasattr(softmax_layer, "_inbound_nodes"):
          raise RuntimeError("Please update keras to version >= 2.1.3")
  
      node = softmax_layer._inbound_nodes[0]
  
      if LooseVersion(tf.__version__) < LooseVersion("1.14.0"):
          logits_name = node.inbound_layers[0].name
      else:
          logits_name = node.inbound_layers.name
  
      return logits_name
  
file_path: cleverhans/cleverhans_v3.1.0/cleverhans/utils_keras.py
imports: from distutils.version import LooseVersion
  import warnings
  import tensorflow
  from .model import Model, NoSuchLayerError
label_desc: Use image node_id 4 for calling the KerasModelWrapper obj's underlying member method code with example usage: obj._get_logits_name() and returns: logits_name, softmax_name