Skip to content

A platform for tracking, visualizing, and optimizing machine learning experiments. Train and compare different neural network architectures with real-time monitoring, interactive visualizations, and streamlined workflow management.

License

Notifications You must be signed in to change notification settings

sloweyyy/ExperimentHub

Repository files navigation

ExperimentHub

🚀 A Modern Machine Learning Experiment Management Platform

Track, compare, and optimize your ML models with ease

ExperimentHub Dashboard

System Architecture

System Architecture

The ExperimentHub platform uses a modern containerized architecture with the following components:

  • Frontend Container:

    • Next.js Application (UI) for the main interface
    • Job Management UI for monitoring training progress
    • Communicates with backend via REST API and WebSocket for real-time updates
  • Backend Container:

    • FastAPI Server handling API requests and WebSocket connections
    • ML Model Training Modules for executing experiments
    • Integrates with SQLite for job/experiment tracking
    • Manages MNIST dataset access for training
  • Data & Persistence:

    • SQLite Database for storing experiment metadata and results
    • MNIST Dataset for model training

The system uses Docker Compose for orchestration, making it easy to deploy and scale. The architecture ensures real-time communication between components through WebSocket connections for live training updates and REST APIs for general operations.

Features

  • Experiment Management: Create, organize, and track machine learning experiments
  • Model Training: Train MLP, CNN, and RNN models with customizable hyperparameters
  • Real-time Monitoring: Track metrics and progress during training via WebSockets
  • Interactive Visualizations: Compare performance metrics across models and experiments
  • Job Queue: Manage multiple training jobs simultaneously

Project Structure

The project is organized into two main components:

  • Frontend: Next.js-based web interface (React 19, Tailwind CSS)
  • Backend: FastAPI server with PyTorch model training

Quick Start

Using Docker

The easiest way to run the entire application stack is with Docker Compose:

# Start all services
docker-compose up

# Access the frontend at http://localhost:3000
# Access the backend API at http://localhost:8000

Manual Setup

For development, you can set up the frontend and backend separately:

  1. Backend:

    cd backend
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -e ".[dev]"
    uvicorn app.main:app --reload
  2. Frontend:

    cd experimenthub
    npm install
    npm run dev

Development

See the individual README files in the frontend and backend directories for detailed development instructions.

License

MIT

About

A platform for tracking, visualizing, and optimizing machine learning experiments. Train and compare different neural network architectures with real-time monitoring, interactive visualizations, and streamlined workflow management.

Resources

License

Stars

Watchers

Forks