Install & Compatibility
Where this runs
tested against v0.2.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
py 3.10
✕ build_error
✓ 10.4s
307MB installed
● package 307MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
core
✓ from saliency import core
✗ import saliency
The top-level module does not expose submodules directly; use explicit import.
IntegratedGradients
✓ from saliency.core import IntegratedGradients
✗ from saliency import IntegratedGradients
Classes are in submodules like core, not directly in saliency.
SmoothGrad
✓ from saliency.core import SmoothGrad
✗ from saliency import SmoothGrad
Same as above; use correct submodule path.
XRAI
✓ from saliency.xrai import XRAI
XRAI is in its own submodule 'xrai', not in core.
visualize
✓ from saliency.core import visualize
✗ from saliency import visualize
Visualization utilities are in core.
Compute integrated gradients on a simple Keras model.
import tensorflow as tf
from saliency.core import IntegratedGradients, visualize
# Build a simple model
model = tf.keras.Sequential([
tf.keras.layers.Dense(10, activation='relu', input_shape=(4,)),
tf.keras.layers.Dense(1, activation='sigmoid')
])
# Dummy input and baseline
x_input = tf.constant([[1.0, 2.0, 3.0, 4.0]])
baseline = tf.zeros_like(x_input)
# Call model wrapper
def model_fn(x):
return model(x)
# Compute integrated gradients
ig = IntegratedGradients()
attributions = ig.GetMask(x_input, model_fn, baseline, x_steps=25)
print(attributions)
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'saliency.core'
Older version installed (<0.2.0) where core module didn't exist.
fixUpgrade to latest: pip install --upgrade saliency
AttributeError: module 'saliency' has no attribute 'IntegratedGradients'
Importing directly from top-level saliency instead of submodule.
fixUse: from saliency.core import IntegratedGradients
TypeError: GetMask() missing 1 required positional argument: 'x_steps'
x_steps parameter is required since version 0.2.0 (old default removed).
fixProvide x_steps explicitly, e.g., GetMask(..., x_steps=25)
Upgrade
Version history
0.2.1latest on PyPI · released Mar 20, 2024
Audit
Dependencies
numpyrequiredCore dependency for array operations.
pillowrequiredImage loading and visualization.
tensorflowoptionalDefault backend for model integration.
torchoptionalAlternative backend for PyTorch models.