tf-explain implements methods you can use at different levels:
- either on a loaded model with the core API (which saves outputs to disk)
- either at training time with callbacks (which integrates into Tensorboard)
This section introduces both usages.
All methods implemented in tf-explain keep the same interface:
- a
explain
method which outputs the explanation (for instance, a heatmap) - a
save
method compatible with its output
Usage of the core API should be the following:
# Import explainer from tf_explain.core.grad_cam import GradCAM # Instantiation of the explainer explainer = GradCAM() # Call to explain() method output = explainer.explain(*explainer_args) # Save output explainer.save(output, output_dir, output_name)
Recurrent arguments contained in explainer_args
are typically the data to use
for the explanation, the model to inspect. Refer to each method docstring to know which
elements are needed.
All methods are kept inside tf_explain.core
.
To use those methods during training and inspect evolutions over the epochs, each one of them
has its corresponding tf.keras.Callback
.
Callback usage is coherent with Keras Callbacks:
from tf_explain.callbacks.grad_cam import GradCAMCallback model = [...] callbacks = [ GradCAMCallback( validation_data=(x_val, y_val), layer_name="activation_1", class_index=0, output_dir=output_dir, ) ] model.fit(x_train, y_train, batch_size=2, epochs=2, callbacks=callbacks)
Then, launch Tensorboard and visualize the outputs in the Images section.