Skip to main content

Unified XAI

Production-Ready Explainable AI Library for Deep Learning

PyPI version Python License Documentation

Code style: black

Documentation | Tutorials | API Reference


🎯 Overview

Unified XAI is a comprehensive, production-ready library for explaining deep learning models across multiple frameworks and modalities. It provides a unified API for various explainability methods, making it easy to understand, debug, and improve your AI models.

✨ Key Features

  • 🔄 Framework Agnostic: Seamless support for PyTorch, TensorFlow, Keras, and ONNX
  • 📊 Multiple Modalities: Image, text, tabular, time-series, and multimodal data
  • 🎨 Rich Visualizations: Interactive plots, heatmaps, and dashboards
  • 📈 Comprehensive Metrics: Faithfulness, stability, complexity evaluations
  • ⚡ High Performance: Optimized implementations with caching and parallelization
  • 🔧 Production Ready: Type hints, extensive testing, and robust error handling
  • 🚀 Easy to Use: Simple API with sensible defaults
  • 📦 Extensible: Plugin architecture for custom methods

🚀 Quick Start

Installation

# Basic installation
pip install unified-xai

# With specific framework support
pip install unified-xai[torch]  # PyTorch support
pip install unified-xai[tf]     # TensorFlow support
pip install unified-xai[all]    # All frameworks

# Development installation
pip install unified-xai[dev]

# With dashboard support
pip install unified-xai[dashboard]

Basic Usage

import torch
from unified_xai import XAIAnalyzer, XAIConfig
from unified_xai.config import Framework, Modality

# Load your model
model = torch.load('your_model.pth')

# Configure XAI
config = XAIConfig(
    framework=Framework.PYTORCH,
    modality=Modality.IMAGE
)

# Initialize analyzer
analyzer = XAIAnalyzer(model, config)

# Generate explanation
explanation = analyzer.explain(
    input_data, 
    method='integrated_gradients',
    target=class_idx
)

# Visualize
fig = analyzer.visualize(explanation, original_input=input_data)

📚 Supported Methods

Gradient-Based Methods

  • ✅ Vanilla Gradient
  • ✅ Integrated Gradients
  • ✅ SmoothGrad
  • ✅ Grad-CAM / Grad-CAM++
  • ✅ Guided Backpropagation
  • ✅ DeepLIFT

Perturbation-Based Methods

  • ✅ LIME (Local Interpretable Model-agnostic Explanations)
  • ✅ SHAP (SHapley Additive exPlanations)
  • ✅ Occlusion Sensitivity
  • ✅ Meaningful Perturbations

Attention-Based Methods

  • ✅ Attention Rollout
  • ✅ Attention Flow
  • ✅ LRP (Layer-wise Relevance Propagation)

Example-Based Methods

  • ✅ Influence Functions
  • ✅ Prototype Selection
  • ✅ Counterfactual Explanations

🎯 Use Cases

Computer Vision
# Explain image classification
explanation = analyzer.explain(image, method='gradcam')

# Compare multiple methods
comparison = analyzer.compare_methods(
    image,
    methods=['gradcam', 'integrated_gradients', 'lime'],
    metrics=['faithfulness', 'complexity']
)
Natural Language Processing
# Explain text classification
config = XAIConfig(framework=Framework.PYTORCH, modality=Modality.TEXT)
analyzer = XAIAnalyzer(bert_model, config)

explanation = analyzer.explain(
    text_tokens, 
    method='integrated_gradients'
)
Tabular Data
# Explain tabular predictions
config = XAIConfig(modality=Modality.TABULAR)
analyzer = XAIAnalyzer(model, config)

explanation = analyzer.explain(
    tabular_data,
    method='shap',
    background_data=train_data
)

📊 Evaluation Metrics

Unified XAI provides comprehensive metrics to evaluate explanation quality:

# Evaluate explanation
metrics = analyzer.evaluator.evaluate(
    explanation,
    input_data,
    metrics=['faithfulness', 'stability', 'complexity', 'sensitivity']
)

# Compare methods quantitatively
rankings = analyzer.compare_methods(
    input_data,
    methods=['gradcam', 'lime', 'shap'],
    metrics=['faithfulness', 'stability']
)

🎨 Visualization Dashboard

Launch interactive dashboard for exploration:

# Command line
unified-xai dashboard --model path/to/model --port 8080

# Or in Python
from unified_xai.dashboard import launch_dashboard
launch_dashboard(model, port=8080)

🏗️ Architecture

unified-xai/
├── core/              # Core abstractions and base classes
├── methods/           # Explanation method implementations
│   ├── gradient/      # Gradient-based methods
│   ├── perturbation/  # Perturbation-based methods
│   ├── attention/     # Attention-based methods
│   └── example/       # Example-based methods
├── frameworks/        # Framework-specific adapters
├── visualization/     # Visualization utilities
├── metrics/          # Evaluation metrics
├── utils/            # Helper utilities
└── dashboard/        # Web dashboard

🔧 Configuration

Unified XAI supports various configuration options:

# From file
config = XAIConfig.from_file('config.yaml')

# Programmatic
config = XAIConfig(
    framework=Framework.PYTORCH,
    modality=Modality.IMAGE,
    gradient_config={
        'normalize': True,
        'smooth_samples': 50
    },
    visualization_config={
        'cmap': 'RdBu_r',
        'overlay': True
    }
)

Example config.yaml:

framework: pytorch
modality: image
batch_size: 32
device: cuda

gradient_config:
  normalize: true
  smooth_samples: 50
  
lime_config:
  num_samples: 1000
  num_features: 10
  
visualization_config:
  cmap: RdBu_r
  alpha: 0.7

🧪 Testing

# Run all tests
pytest

# Run with coverage
pytest --cov=unified_xai

# Run specific test module
pytest tests/test_methods.py

# Run benchmarks
pytest tests/benchmarks/ --benchmark-only

📖 Documentation

Full documentation is available at https://unified-xai.readthedocs.io

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

# Setup development environment
git clone https://github.com/yourusername/unified-xai.git
cd unified-xai
pip install -e ".[dev]"
pre-commit install

# Run checks before committing
make lint
make test
make docs

📊 Benchmarks

Performance comparisons across different methods and frameworks:

Method PyTorch (ms) TensorFlow (ms) Accuracy
Integrated Gradients 45 52 0.94
LIME 890 920 0.89
SHAP 340 380 0.91
Grad-CAM 23 28 0.87

🎓 Citation

If you use Unified XAI in your research, please cite:

@software{unified_xai,
  title = {Unified XAI: A Production-Ready Explainable AI Library},
  author = {Satyam Singh},
  year = {2025},
  url = {https://github.com/SatyamSingh8306/unified-xai}
}

📝 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

🙏 Acknowledgments

  • Thanks to all contributors and the open-source community
  • Inspired by Captum, SHAP, LIME, and other XAI libraries
  • Supported by [Your Organization]

📬 Contact

🗺️ Roadmap

  • Support for Vision Transformers
  • Additional evaluation metrics
  • Model-specific explanations
  • Distributed computing support
  • AutoML integration
  • Mobile deployment

Made with ❤️ by the Satyam Singh

Metadata

Release files for unified-xai 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unified-xai 0.1.1
File Size Uploaded
unified_xai-0.1.1.tar.gz 28.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for unified-xai 0.1.1
File Interpreter ABI Platform
unified_xai-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 46.1 kB

Release files / unified_xai-0.1.1.tar.gz

Download URL unified_xai-0.1.1.tar.gz
Size 28.7 kB
Tags Source
SHA-256 checksum
How to use checksums
740d9119f1d7a4f09a062146841a1869c2f4af3899a0fda85ce98b3c02ac0eab
BLAKE2b-256 checksum
How to use checksums
760f27918d9de6f50c1fc13b9049decfa38cb297c91da58a2f09687f4c8e6cab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release files / unified_xai-0.1.1-py3-none-any.whl

Download URL unified_xai-0.1.1-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a43f1116991a89af6603cf546028a5ff7788562b208652a8d727c09f9dbf421f
BLAKE2b-256 checksum
How to use checksums
c2d85efff8be016a59c6d2b5e582c50540005f258132309a7b0edd66b6656345
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page