
Trackio
FreeLog and visualize ML training metrics seamlessly.
Free · Opens the source repo
What Trackio does
Trackio is an experiment tracking library specifically designed for managing and visualizing machine learning training metrics. It provides a robust solution for logging metrics during training, firing alerts for significant events, and retrieving metrics and alerts through a command-line interface (CLI). With Trackio, you can easily sync your metrics to Hugging Face Spaces, allowing for real-time monitoring and dashboard visualization, which is particularly useful for remote or cloud-based training environments.
The library offers three primary interfaces: a Python API for logging metrics and firing alerts, and a CLI for retrieving logged data. This allows developers to integrate Trackio into their training scripts effortlessly. By using trackio.init() to initialize tracking, trackio.log() to log metrics, and trackio.alert() to flag important events, users can maintain a comprehensive overview of their training processes. Alerts can be configured to notify users of critical conditions, such as loss spikes or stalled training, making it easier to diagnose and respond to issues in real-time.
For those who prefer command-line interactions, Trackio's CLI provides commands to list projects, retrieve metrics, and check alerts. This functionality is particularly beneficial for automation and integration with other tools or workflows. The ability to output data in JSON format enhances its compatibility with various automation scripts and LLM agents, allowing for streamlined data handling and analysis.
Overall, Trackio is an essential tool for machine learning practitioners looking to enhance their experiment tracking and visualization capabilities. It is suitable for both individual developers and teams working on ML projects, enabling them to monitor their training experiments effectively and make informed decisions based on real-time data.
When to use it
Use Trackio when you need to log metrics during ML training, set up alerts for important events, or retrieve and analyze metrics via a CLI.
When not to use it
Trackio may not be suitable for users requiring a fully integrated GUI solution or those not working with machine learning training metrics.
What you can build with it
Real-time Monitoring of Training
Use Trackio to log metrics and visualize them in real-time on Hugging Face Spaces, allowing for immediate insights during training.
Automated Experimentation
Integrate Trackio alerts into your training scripts to automate diagnostics and improve the efficiency of your ML workflows.
Post-Training Analysis
Leverage the CLI to retrieve and analyze logged metrics and alerts after training, facilitating detailed evaluations of your experiments.
How to install Trackio
View source1. Install with the skills CLI
npx skills add huggingface/skills/huggingface-trackio --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by huggingfaceTrackio - Experiment Tracking for ML Training
Trackio is an experiment tracking library for logging and visualizing ML training metrics. It syncs to Hugging Face Spaces for real-time monitoring dashboards.
Three Interfaces
| Task | Interface | Reference |
|---|---|---|
| Logging metrics during training | Python API | references/logging_metrics.md |
| Firing alerts for training diagnostics | Python API | references/alerts.md |
| Retrieving metrics & alerts after/during training | CLI | references/retrieving_metrics.md |
When to Use Each
Python API → Logging
Use import trackio in your training scripts to log metrics:
- Initialize tracking with
trackio.init() - Log metrics with
trackio.log()or use TRL'sreport_to="trackio" - Finalize with
trackio.finish()
Key concept: For remote/cloud training, pass space_id — metrics sync to a Space dashboard so they persist after the instance terminates. Auto-created Spaces are public by default — pass private=True if the metrics should not be public.
→ See references/logging_metrics.md for setup, TRL integration, and configuration options.
Python API → Alerts
Insert trackio.alert() calls in training code to flag important events — like inserting print statements for debugging, but structured and queryable:
trackio.alert(title="...", level=trackio.AlertLevel.WARN)— fire an alert- Three severity levels:
INFO,WARN,ERROR - Alerts are printed to terminal, stored in the database, shown in the dashboard, and optionally sent to webhooks (Slack/Discord)
Key concept for LLM agents: Alerts are the primary mechanism for autonomous experiment iteration. An agent should insert alerts into training code for diagnostic conditions (loss spikes, NaN gradients, low accuracy, training stalls). Since alerts are printed to the terminal, an agent that is watching the training script's output will see them automatically. For background or detached runs, the agent can poll via CLI instead.
→ See references/alerts.md for the full alerts API, webhook setup, and autonomous agent workflows.
CLI → Retrieving
Use the trackio command to query logged metrics and alerts:
trackio list projects/runs/metrics— discover what's availabletrackio get project/run/metric— retrieve summaries and valuestrackio list alerts --project <name> --json— retrieve alertstrackio show— launch the dashboardtrackio sync— sync to HF Space
Key concept: Add --json for programmatic output suitable for automation and LLM agents.
→ See references/retrieving_metrics.md for all commands, workflows, and JSON output formats.
Minimal Logging Setup
import trackio
# Spaces are PUBLIC by default (good for shareable dashboards);
# pass private=True if the metrics should not be public
trackio.init(project="my-project", space_id="username/trackio", private=True)
trackio.log({"loss": 0.1, "accuracy": 0.9})
trackio.log({"loss": 0.09, "accuracy": 0.91})
trackio.finish()
Minimal Retrieval
trackio list projects --json
trackio get metric --project my-project --run my-run --metric loss --json
Autonomous ML Experiment Workflow
When running experiments autonomously as an LLM agent, the recommended workflow is:
- Set up training with alerts — insert
trackio.alert()calls for diagnostic conditions - Launch training — run the script in the background
- Poll for alerts — use
trackio list alerts --project <name> --json --since <timestamp>to check for new alerts - Read metrics — use
trackio get metric ...to inspect specific values - Iterate — based on alerts and metrics, stop the run, adjust hyperparameters, and launch a new run
import trackio
trackio.init(project="my-project", config={"lr": 1e-4})
for step in range(num_steps):
loss = train_step()
trackio.log({"loss": loss, "step": step})
if step > 100 and loss > 5.0:
trackio.alert(
title="Loss divergence",
text=f"Loss {loss:.4f} still high after {step} steps",
level=trackio.AlertLevel.ERROR,
)
if step > 0 and abs(loss) < 1e-8:
trackio.alert(
title="Vanishing loss",
text="Loss near zero — possible gradient collapse",
level=trackio.AlertLevel.WARN,
)
trackio.finish()
Then poll from a separate terminal/process:
trackio list alerts --project my-project --json --since "2025-01-01T00:00:00"
Frequently asked questions about Trackio
Similar skills
Spring Boot Testing
Master testing techniques for Spring Boot 4 applications.
GitHub Issues
Manage GitHub issues efficiently with MCP tools.
Geofeed Tuner
Optimize your IP geolocation feeds in CSV format.
Batch Files
Master Windows batch scripting for automation and task management.
Adobe Illustrator Scripting
Automate your Illustrator workflows with ExtendScript.
Plugin Structure
Create and organize Claude Code plugins effectively.
