docs: def _image_gradients(self, input_csvlines, label, image_column_name):
          """Compute gradients from prob of label to image. Used by integrated gradients (probe)."""
  
          with tf.Graph().as_default() as g, tf.Session() as sess:
              logging_level = tf.logging.get_verbosity()
              try:
                  tf.logging.set_verbosity(tf.logging.ERROR)
                  meta_graph_pb = tf.saved_model.loader.load(
                      sess=sess,
                      tags=[tf.saved_model.tag_constants.SERVING],
                      export_dir=self._model_dir)
              finally:
                  tf.logging.set_verbosity(logging_level)
  
              signature = meta_graph_pb.signature_def['serving_default']
              input_alias_map = {name: tensor_info_proto.name
                                 for (name, tensor_info_proto) in signature.inputs.items()}
              output_alias_map = {name: tensor_info_proto.name
                                  for (name, tensor_info_proto) in signature.outputs.items()}
  
              csv_tensor_name = list(input_alias_map.values())[0]
  
              # The image tensor is already built into ML Workbench graph.
              float_image = g.get_tensor_by_name("import/gradients_%s:0" % image_column_name)
              if label not in output_alias_map:
                  raise ValueError('The label "%s" does not exist in output map.' % label)
  
              prob = g.get_tensor_by_name(output_alias_map[label])
              grads = tf.gradients(prob, float_image)[0]
              grads_values = sess.run(fetches=grads, feed_dict={csv_tensor_name: input_csvlines})
  
          return grads_values