Skip to main content

Tracelet is an automagic pytorch metric exporter

Project description

Tracelet

Tracelet Logo

Release Build License

Tracelet is a Python library for tracking machine learning experiments. It works with popular backends like MLflow, Weights & Biases, ClearML, and AIM, and can automatically detect hyperparameters from your code.

What it does

  • Tracks metrics, parameters, and artifacts across ML backends
  • Automatically captures hyperparameters without manual logging
  • Integrates with PyTorch, PyTorch Lightning, and TensorBoard
  • Handles models, checkpoints, images, and other ML artifacts
  • Monitors system resources during training

Installation

pip install tracelet

Install backend support as needed:

pip install tracelet[mlflow]     # For MLflow
pip install tracelet[wandb]      # For Weights & Biases
pip install tracelet[clearml]    # For ClearML
pip install tracelet[aim]        # For AIM
pip install tracelet[all]        # Everything

Usage

Basic Example

from tracelet import Experiment

# Start tracking
exp = Experiment(name="my_experiment", backend=["mlflow"])
exp.start()

# Train your model
for epoch in range(10):
    loss = train_model()
    exp.log_metric("loss", loss, epoch)

exp.stop()

Automatic Detection

from tracelet import Experiment

# Enable automagic to detect hyperparameters automatically
exp = Experiment(name="auto_experiment", backend=["wandb"], automagic=True)
exp.start()

# Define hyperparameters normally - they're captured automatically
learning_rate = 0.001
batch_size = 32

# Your training code here
for epoch in range(epochs):
    loss = train_model()
    # Metrics logged automatically if using TensorBoard

exp.stop()

PyTorch Lightning

from tracelet import Experiment
import pytorch_lightning as pl

# Add to existing Lightning code
exp = Experiment(name="lightning_model", backend=["clearml"], automagic=True)
exp.start()

# Your existing code - all self.log() calls tracked automatically
trainer = pl.Trainer(max_epochs=10)
trainer.fit(model, datamodule)

exp.stop()

Multiple Backends

# Log to multiple backends simultaneously
exp = Experiment(
    name="comparison",
    backend=["mlflow", "wandb", "clearml"]
)

Configuration

Set defaults with environment variables:

export TRACELET_PROJECT="my_project"
export TRACELET_BACKEND="mlflow"
export TRACELET_ENABLE_AUTOMAGIC="true"

Or programmatically:

from tracelet.settings import TraceletSettings

settings = TraceletSettings(
    project="my_project",
    backend=["mlflow"],
    enable_automagic=True,
    track_system=True
)

Examples

The examples/ directory contains runnable examples:

  • 01_manual_tracking/ - Basic usage examples
  • 02_automagic_tracking/ - Automatic hyperparameter detection
  • 03_backend_integrations/ - Backend-specific features
  • 05_lightning_automagic/ - PyTorch Lightning integration
cd examples
python 01_manual_tracking/01_basic_manual.py

Documentation

Development

git clone https://github.com/prassanna-ravishankar/tracelet.git
cd tracelet
uv sync
uv run pytest

License

Apache License 2.0 - see LICENSE file.

Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tracelet-0.0.9.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tracelet-0.0.9-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file tracelet-0.0.9.tar.gz.

File metadata

  • Download URL: tracelet-0.0.9.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for tracelet-0.0.9.tar.gz
Algorithm Hash digest
SHA256 0191d5896eb2a65b77467ec41a9b35ebe32a25bbfd96c7d3834c5dcd9da0e7eb
MD5 33b9fe51e4db3359fdb4f6ac9d8c072c
BLAKE2b-256 b4c5578f2ccf04730fe7e5aa8f6f4e061e51693ca935296df6d61a5579cd6362

See more details on using hashes here.

File details

Details for the file tracelet-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: tracelet-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for tracelet-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8e0bcea3c3033df3dae7ab174a6675cf21f1d9213e6566ad728a2c50c563d2fc
MD5 66887ac7346263b8fbe6da9917dfe486
BLAKE2b-256 6fb7efe5be09f6d94f23124f6f0cabe2ed3a8a8dab759aa4133e67767882d5d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page