Tracelet is an automagic pytorch metric exporter
Project description
Tracelet
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 examples02_automagic_tracking/- Automatic hyperparameter detection03_backend_integrations/- Backend-specific features05_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
- Issues for bug reports
- Discussions for questions
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0191d5896eb2a65b77467ec41a9b35ebe32a25bbfd96c7d3834c5dcd9da0e7eb
|
|
| MD5 |
33b9fe51e4db3359fdb4f6ac9d8c072c
|
|
| BLAKE2b-256 |
b4c5578f2ccf04730fe7e5aa8f6f4e061e51693ca935296df6d61a5579cd6362
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e0bcea3c3033df3dae7ab174a6675cf21f1d9213e6566ad728a2c50c563d2fc
|
|
| MD5 |
66887ac7346263b8fbe6da9917dfe486
|
|
| BLAKE2b-256 |
6fb7efe5be09f6d94f23124f6f0cabe2ed3a8a8dab759aa4133e67767882d5d2
|