Skip to content

DeepFix an agent that automatically diagnoses common bugs in machine learning models and provides a prioritized list of research-backed solutions.

License

Notifications You must be signed in to change notification settings

delcaux-labs/deepfix

Repository files navigation

🔍 DeepFix

Python 3.11+ License: Apache 2.0 MLflow PyTorch Lightning

DeepFix is an AI agent assistant 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

📚 Documentation

Full documentation is available at: Documentation Site

Or build and serve locally:

uv pip install -e .
uv run mkdocs serve

The documentation includes:

🚀 Quick Start

Installation

# 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 and Docker deployment.

Basic Usage

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

# Start server (in separate terminal)
# uv run deepfix-server launch -e deepfix-server/.env -port 8844

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

# Load and wrap 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)

# Diagnose dataset
result = client.get_diagnosis(
    train_data=train_data,
    test_data=val_data,
    batch_size=8,
    language="english",
)

print(result.to_text())

For more examples, see the Quickstart Guide.

📦 Packages

This repository contains multiple packages:

  • deepfix-core: Core models and types
  • deepfix-sdk: Client SDK for interacting with DeepFix server
  • deepfix-server: Analysis server with agentic reasoning
  • deepfix-kb: Knowledge base for best practices

See the Architecture Documentation for details.

📝 License

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

🤝 Contributing

We welcome contributions! Please see the Contributing Guidelines for details.

📧 Support


Built with ❤️ for the ML community

About

DeepFix an agent that automatically diagnoses common bugs in machine learning models and provides a prioritized list of research-backed solutions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published