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 abstracted layer.
  Usually these layers appears when model is stacked.
  :return: List of abstracted layers
docstr_tok: ["Looks","for","the","name","of","abstracted","layer",".","Usually","these","layers","appears","when","model","is","stacked",".",":","return",":","List","of","abstracted","layers"]
code: def _get_abstract_layer_name(self):
      """
      Looks for the name of abstracted layer.
      Usually these layers appears when model is stacked.
      :return: List of abstracted layers
      """
      abstract_layers = []
      for layer in self.model.layers:
          if "layers" in layer.get_config():
              abstract_layers.append(layer.name)
  
      return abstract_layers
  
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 3 for calling the KerasModelWrapper obj's underlying member method code with example usage: obj._get_abstract_layer_name() and returns: abstract_layers