Skip to content

DeepFix Documentation

Python 3.11+ License: Apache 2.0 MLflow PyTorch Lightning

DeepFix is an auto-assessment tool that automatically diagnoses common bugs in machine learning and provides a prioritized list of solutions backed by industry/research best practices. It integrates directly into ML workflows.

Features

  • Automatic Bug Detection: Identifies common ML issues automatically
  • Prioritized Solutions: Get ranked suggestions based on best practices
  • Workflow Integration: Seamlessly works with PyTorch Lightning and MLflow
  • Research-Backed: Solutions are grounded in industry standards and research
  • Multi-Artifact Analysis: Analyzes datasets, model checkpoints, training logs, and deepchecks reports
  • Agentic Reasoning: Uses specialized AI agents for comprehensive diagnostics

Quick Start

Get started with DeepFix in minutes:

1. Install DeepFix

# Clone the repository
git clone https://github.com/delcaux-labs/deepfix.git
cd deepfix

# Install with uv (recommended)
uv venv --python 3.11
uv pip install -e .

See the Installation Guide for detailed instructions.

2. Start the Server

uv run deepfix-server launch -e deepfix-server/.env -port 8844 -host 127.0.0.1

3. Diagnose Your Dataset

from deepfix_sdk.client import DeepFixClient
from deepfix_sdk.zoo.datasets.foodwaste import load_train_and_val_datasets
from deepfix_sdk.data.datasets import ImageClassificationDataset

client = DeepFixClient(api_url="http://localhost:8844", timeout=120)

# Load and ingest dataset
dataset_name = "cafetaria-foodwaste"
train_data, val_data = load_train_and_val_datasets(
    image_size=448,
    batch_size=8,
    num_workers=4,
    pin_memory=False
)
train_data = ImageClassificationDataset(dataset_name=dataset_name, dataset=train_data)
val_data = ImageClassificationDataset(dataset_name=dataset_name, dataset=val_data)

client.ingest(
    dataset_name=dataset_name,
    train_data=train_data,
    test_data=val_data,
    train_test_validation=True,
    data_integrity=True,
    batch_size=8,
    overwrite=False
)

# Diagnose dataset
result = client.diagnose_dataset(dataset_name=dataset_name)
print(result.to_text())

Check out the Quickstart Guide for more examples.

Documentation Sections

Getting Started

Guides

Learn how to use DeepFix for different use cases:

API Reference

Complete API documentation:

Architecture

Understand how DeepFix works:

Deployment

Deploy DeepFix in your environment:

Contributing

Help improve DeepFix:

Key Concepts

Client-Server Architecture

DeepFix follows a client-server architecture where:

  • Client (SDK): Handles artifact computation, recording, and workflow integration
  • Server: Performs AI-powered analysis using specialized agents
  • Communication: Clean REST API with well-defined contracts

Learn more in the Architecture section.

Multi-Agent Analysis

DeepFix uses specialized AI agents to analyze different aspects of your ML pipeline:

  • Dataset Analyzer: Examines dataset statistics, class balance, and anomalies
  • Deepchecks Analyzer: Reviews data quality, drift, and integrity checks
  • Model Checkpoint Analyzer: Validates checkpoint integrity and deployment readiness
  • Training Analyzer: Analyzes training dynamics and metrics
  • Cross-Artifact Reasoner: Synthesizes insights across all artifacts

Learn more in the Agent System section.

Support

  • GitHub Issues: Report Issues
  • Email: Contact us at fadel.seydou@delcaux.com

License

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


Built with ❤️ for the ML community