class_docstr: An abstract interface for model wrappers that exposes model symbols
  needed for making an attack. This abstraction removes the dependency on
  any specific neural network package (e.g. Keras) from the core
  code of CleverHans. It can also simplify exposing the hidden features of a
  model when a specific package does not directly expose them.
class_docstr_tok: ["An","abstract","interface","for","model","wrappers","that","exposes","model","symbols","needed","for","making","an","attack",".","This","abstraction","removes","the","dependency","on","any","specific","neural","network","package","(","e.g",".","Keras",")","from","the","core","code","of","CleverHans",".","It","can","also","simplify","exposing","the","hidden","features","of","a","model","when","a","specific","package","does","not","directly","expose","them","."]
docstr: Constructor.
  :param scope: str, the name of model.
  :param nb_classes: integer, the number of classes.
  :param hparams: dict, hyper-parameters for the model.
  :needs_dummy_fprop: bool, if True the model's parameters are not
      created until fprop is called.
docstr_tok: ["Constructor",".",":","param","scope",":","str",",","the","name","of","model",".",":","param","nb_classes",":","integer",",","the","number","of","classes",".",":","param","hparams",":","dict",",","hyper-parameters","for","the","model",".",":","needs_dummy_fprop",":","bool",",","if","True","the","model","'s","parameters","are","not","created","until","fprop","is","called","."]
code: def __init__(
      self,
      scope=None,
      nb_classes=None,
      hparams=None,
      needs_dummy_fprop=False,
  ):
      """
      Constructor.
      :param scope: str, the name of model.
      :param nb_classes: integer, the number of classes.
      :param hparams: dict, hyper-parameters for the model.
      :needs_dummy_fprop: bool, if True the model's parameters are not
          created until fprop is called.
      """
      self.scope = scope or self.__class__.__name__
      self.nb_classes = nb_classes
      self.hparams = hparams or {}
      self.needs_dummy_fprop = needs_dummy_fprop
  
imports: from abc import ABCMeta
  import warnings
  import tensorflow
  from cleverhans import utils_tf
label_desc: Use image node_id 1 to create a new Model object from inherited base classes: object with example: obj = Model(scope, nb_classes, hparams, needs_dummy_fprop)