class_docstr: A Model that can be pickled because it contains no references to any
  Variables (e.g. it identifies Variables only by name).
  The Model must be able to find all of its Variables via get_vars
  for them to be pickled.
  Note that NoRefModel may have different Variable names after it is
  restored, e.g. if the unpickling is run with a different enclosing
  scope. NoRefModel will still work in these circumstances as long
  as get_params returns the same order of Variables after unpickling
  as it did before pickling.
  See also cleverhans.picklable_model for a different, complementary
  pickling strategy: models that can be pickled because they use *only*
  references to Variables and work regardless of Variable names.
class_docstr_tok: ["A","Model","that","can","be","pickled","because","it","contains","no","references","to","any","Variables","(","e.g",".","it","identifies","Variables","only","by","name",")",".","The","Model","must","be","able","to","find","all","of","its","Variables","via","get_vars","for","them","to","be","pickled",".","Note","that","NoRefModel","may","have","different","Variable","names","after","it","is","restored",",","e.g",".","if","the","unpickling","is","run","with","a","different","enclosing","scope",".","NoRefModel","will","still","work","in","these","circumstances","as","long","as","get_params","returns","the","same","order","of","Variables","after","unpickling","as","it","did","before","pickling",".","See","also","cleverhans.picklable_model","for","a","different",",","complementary","pickling","strategy",":","models","that","can","be","pickled","because","they","use","*","only","*","references","to","Variables","and","work","regardless","of","Variable","names","."]
docstr: Provides access to the model's Variables.
  This may include Variables that are not parameters, such as batch
  norm running moments.
  :return: A list of all Variables defining the model.
docstr_tok: ["Provides","access","to","the","model","'s","Variables",".","This","may","include","Variables","that","are","not","parameters",",","such","as","batch","norm","running","moments",".",":","return",":","A","list","of","all","Variables","defining","the","model","."]
code: def get_vars(self):
      """
      Provides access to the model's Variables.
      This may include Variables that are not parameters, such as batch
      norm running moments.
      :return: A list of all Variables defining the model.
      """
  
      # Catch eager execution and assert function overload.
      try:
          if tf.executing_eagerly():
              raise NotImplementedError(
                  "For Eager execution - get_vars "
                  "must be overridden."
              )
      except AttributeError:
          pass
  
      done = False
      tried_to_make_params = False
      while not done:
          # Most models in cleverhans use only trainable variables and do not
          # make sure the other collections are updated correctly.
          trainable_vars = tf.get_collection(
              tf.GraphKeys.TRAINABLE_VARIABLES, self.scope + "/"
          )
          # When wrapping other code, such as the CIFAR 10 challenge models,
          # we need to make sure we get the batch norm running averages as well
          # as the trainable variables.
          model_vars = tf.get_collection(
              tf.GraphKeys.MODEL_VARIABLES, self.scope + "/"
          )
          scope_vars = ordered_union(trainable_vars, model_vars)
  
          if len(scope_vars) > 0:
              done = True
          else:
              assert not tried_to_make_params
              tried_to_make_params = True
              self.make_params()
  
      # Make sure no variables have been added or removed
      if hasattr(self, "num_vars"):
          assert self.num_vars == len(scope_vars)
      else:
          self.num_vars = len(scope_vars)
  
      return scope_vars
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import warnings
  import joblib
  import tensorflow
  from cleverhans.model import Model
  from cleverhans.utils import ordered_union
  from cleverhans.utils import safe_zip
label_desc: Use image node_id 3 for calling the NoRefModel obj's underlying member method code with example usage: obj.get_vars() and returns: scope_vars