code: def jacobian_graph(predictions, x, nb_classes):
      """
      Create the Jacobian graph to be ran later in a TF session
      :param predictions: the model's symbolic output (linear output,
          pre-softmax)
      :param x: the input placeholder
      :param nb_classes: the number of classes the model has
      :return:
      """
  
      # This function will return a list of TF gradients
      list_derivatives = []
  
      # Define the TF graph elements to compute our derivatives for each class
      for class_ind in xrange(nb_classes):
          (derivatives,) = tf.gradients(predictions[:, class_ind], x)
          list_derivatives.append(derivatives)
  
      return list_derivatives
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import logging
  import math
  import os
  import time
  import warnings
  import numpy
  import six
  from six.moves import xrange
  import tensorflow
  from cleverhans.compat import device_lib
  from cleverhans.compat import reduce_sum, reduce_mean
  from cleverhans.compat import reduce_max
  from cleverhans.compat import softmax_cross_entropy_with_logits
  from cleverhans.utils import batch_indices, _ArgsWrapper, create_logger
label_desc: Use image node_id 26 for calling a global function with example usage: jacobian_graph(predictions, x, nb_classes) and returns: list_derivatives