class_docstr: Perform Integrated Gradients algorithm for a given input
  
  Paper: [Axiomatic Attribution for Deep Networks](https://arxiv.org/pdf/1703.01365.pdf)
docstr: Draw Integrated Gradients outputs at each epoch end to Tensorboard.
  
  Args:
      epoch (int): Epoch index
      logs (dict): Additional information on epoch
code: def on_epoch_end(self, epoch, logs=None):
      """
      Draw Integrated Gradients outputs at each epoch end to Tensorboard.
  
      Args:
          epoch (int): Epoch index
          logs (dict): Additional information on epoch
      """
      explainer = IntegratedGradients()
      grid = explainer.explain(
          self.validation_data,
          self.model,
          self.class_index,
          self.n_steps,
      )
  
      # Using the file writer, log the reshaped image.
      with self.file_writer.as_default():
          tf.summary.image(
              "IntegratedGradients",
              np.expand_dims([grid], axis=-1),
              step=epoch,
          )
  
file_path: tf-explain/tf_explain/callbacks/integrated_gradients.py
imports: from datetime import datetime
  from pathlib import Path
  import numpy
  import tensorflow
  from tensorflow.keras.callbacks import Callback
  from tf_explain.core.integrated_gradients import IntegratedGradients
label_desc: Use image node_id 2 for calling the IntegratedGradientsCallback obj's underlying member method code with example usage: obj.on_epoch_end(epoch, logs) without return types