signxai package
Subpackages
- signxai.common package
- Submodules
- signxai.common.method_families module
- signxai.common.method_normalizer module
- signxai.common.method_parser module
- signxai.common.validation module
- signxai.common.visualization module
- Module contents
- signxai.tf_signxai package
- signxai.torch_signxai package
- Subpackages
- signxai.torch_signxai.methods_impl package
- Subpackages
- Submodules
- signxai.torch_signxai.methods_impl.base module
- signxai.torch_signxai.methods_impl.deconvnet module
- signxai.torch_signxai.methods_impl.grad_cam module
- signxai.torch_signxai.methods_impl.guided module
- signxai.torch_signxai.methods_impl.integrated module
- signxai.torch_signxai.methods_impl.signed module
- signxai.torch_signxai.methods_impl.smoothgrad module
- signxai.torch_signxai.methods_impl.vargrad module
- Module contents
- signxai.torch_signxai.methods_impl package
- Submodules
- signxai.torch_signxai.methods module
- signxai.torch_signxai.methods_family module
- signxai.torch_signxai.utils module
- Module contents
- Subpackages
- signxai.utils package
Submodules
signxai.api module
Unified API for SignXAI - Cross-framework XAI explanations.
This module provides a unified interface for generating explanations across TensorFlow and PyTorch frameworks with automatic parameter mapping and framework detection.
- signxai.api.explain(model, x: ndarray | torch.Tensor | tf.Tensor, method_name: str, target_class: int | None = None, framework: str | None = None, **kwargs) ndarray[source]
Generate explanations for model predictions using various XAI methods.
This unified API automatically handles framework detection, model preparation, and parameter mapping to provide consistent explanations across TensorFlow and PyTorch implementations.
- Parameters:
model – The model to explain (TensorFlow Keras model or PyTorch nn.Module)
x – Input data as numpy array or framework tensor
method_name – Name of the XAI method to apply. Supported methods include: - Gradient-based: ‘gradient’, ‘smoothgrad’, ‘integrated_gradients’, ‘vargrad’ - Backprop methods: ‘guided_backprop’, ‘deconvnet’ - Feature methods: ‘gradcam’ - LRP methods: ‘lrp_epsilon’, ‘lrp_alpha_1_beta_0’, ‘lrp_alpha_2_beta_1’ - And many more (see documentation for full list)
target_class – Target class index for explanation. If None, uses predicted class.
framework – Framework to use (‘tensorflow’ or ‘pytorch’). If None, auto-detected.
**kwargs – Method-specific parameters. Common parameters: - steps: Number of steps for Integrated Gradients (default: 50) - num_samples: Number of samples for SmoothGrad (default: 25) - noise_level: Noise level for SmoothGrad (default: 0.1) - layer_name: Target layer for Grad-CAM (framework-specific) - epsilon: Epsilon value for LRP methods (default: 0.1) - alpha, beta: Alpha-beta values for LRP alpha-beta methods
- Returns:
Explanation/relevance map as numpy array with same spatial dimensions as input
- Raises:
ValueError – If framework cannot be detected or is unsupported
ImportError – If required framework dependencies are not installed
Examples
Basic gradient explanation: >>> explanation = explain(model, image, ‘gradient’)
Integrated Gradients with custom steps: >>> explanation = explain(model, image, ‘integrated_gradients’, steps=100)
Grad-CAM on specific layer: >>> explanation = explain(model, image, ‘gradcam’, layer_name=’block5_conv3’)
LRP with epsilon rule: >>> explanation = explain(model, image, ‘lrp_epsilon’, epsilon=0.1)
Cross-framework usage (same API for both): >>> tf_explanation = explain(tf_model, data, ‘smoothgrad’, framework=’tensorflow’) >>> pt_explanation = explain(pt_model, data, ‘smoothgrad’, framework=’pytorch’)
- signxai.api.list_methods(framework: str | None = None) Dict[str, list][source]
List all available XAI methods for the specified framework(s).
- Parameters:
framework – Framework to list methods for (‘tensorflow’, ‘pytorch’, or None for both)
- Returns:
Dictionary with framework names as keys and list of method names as values
- signxai.api.get_method_info(method_name: str, framework: str | None = None) Dict[str, Any][source]
Get detailed information about a specific XAI method.
- Parameters:
method_name – Name of the method to get info for
framework – Framework to check (‘tensorflow’, ‘pytorch’, or None for both)
- Returns:
Dictionary with method information including parameters, description, etc.
- signxai.api.explain_with_preset(model, x, method_name: str, preset: str = 'default', **override_kwargs)[source]
Explain using predefined parameter presets for common use cases.
- Parameters:
model – Model to explain
x – Input data
method_name – XAI method name
preset – Preset name (‘default’, ‘fast’, ‘high_quality’)
**override_kwargs – Parameters to override preset values
- Returns:
Explanation as numpy array
Module contents
- signxai.calculate_relevancemap(*args, **kwargs)
- signxai.calculate_relevancemaps(*args, **kwargs)
- signxai.list_methods(*args, **kwargs)[source]
Wrapper for list_methods that checks framework availability.