class_docstr: Using tf.gradients to implement the backpropagation was
  inspired by the gradient-based implementation approach proposed by Ancona et al, ICLR 2018. Note
  that this package does not currently use the reveal-cancel rule for ReLu units proposed in DeepLIFT.
class_docstr_tok: ["Using","tf.gradients","to","implement","the","backpropagation","was","inspired","by","the","gradient-based","implementation","approach","proposed","by","Ancona","et","al",",","ICLR","2018",".","Note","that","this","package","does","not","currently","use","the","reveal-cancel","rule","for","ReLu","units","proposed","in","DeepLIFT","."]
docstr: Runs the model while also setting the learning phase flags to False.
          
docstr_tok: ["Runs","the","model","while","also","setting","the","learning","phase","flags","to","False","."]
code: def run(self, out, model_inputs, X):
      """Runs the model while also setting the learning phase flags to False."""
      if not tf.executing_eagerly():
          feed_dict = dict(zip(model_inputs, X))
          for t in self.learning_phase_flags:
              feed_dict[t] = False
          return self.session.run(out, feed_dict)
      else:
  
          def anon():
              tf_execute.record_gradient = custom_record_gradient
  
              # build inputs that are correctly shaped, typed, and tf-wrapped
              inputs = []
              for i in range(len(X)):
                  shape = list(self.model_inputs[i].shape)
                  shape[0] = -1
                  data = X[i].reshape(shape)
                  v = tf.constant(
                      data, dtype=self.model_inputs[i].dtype
                  )
                  inputs.append(v)
              final_out = out(inputs)
              try:
                  tf_execute.record_gradient = (
                      tf_backprop._record_gradient
                  )
              except AttributeError:
                  tf_execute.record_gradient = (
                      tf_backprop.record_gradient
                  )
  
              return final_out
  
          return self.execute_with_overridden_gradients(anon)
  
imports: import warnings
  import numpy
  from packaging import version
  from ...utils._exceptions import DimensionError
  from .._explainer import Explainer
  from ..tf_utils import _get_graph, _get_model_inputs, _get_model_output, _get_session
  from .deep_utils import _check_additivity
label_desc: Use image node_id 7 for calling the TFDeep obj's underlying member method code with example usage: obj.run(out, model_inputs, X) and returns: self, self, final_out