SwanLab  by SwanHubX

AI training tracking and visualization tool

Created 1 year ago
2,827 stars

Top 16.7% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

SwanLab is an open-source, modern AI training tracking and visualization tool designed for AI researchers. It offers a platform for tracking, logging, comparing, and collaborating on experiments, providing features like training visualization, automatic logging, hyperparameter tracking, and multi-person collaboration, aiming to improve model iteration efficiency and team communication.

How It Works

SwanLab integrates seamlessly into ML pipelines with a simple Python API. It automatically logs metrics, hyperparameters, hardware information (CPU, GPU, NPU, memory), Git repository details, and environment configurations. The tool visualizes this data through an intuitive UI, supporting various metadata types (scalars, images, audio, text, 3D point clouds, biochemical molecules) and chart types (line, media, 3D, molecule). It offers both cloud-hosted and self-hosted options for accessibility and offline use.

Quick Start & Requirements

  • Install: pip install swanlab
  • Prerequisites: Python. For self-hosted dashboard: pip install 'swanlab[dashboard]'.
  • Login: swanlab login (requires API key from swanlab.cn for cloud use, or --host for self-hosted).
  • Integration: Import swanlab and use swanlab.init() and swanlab.log().
  • Docs: https://docs.swanlab.cn/

Highlighted Details

  • Supports over 30 frameworks including PyTorch, HuggingFace Transformers, LLaMA Factory, Ultralytics, and more.
  • Features comprehensive hardware monitoring for Nvidia GPUs, Ascend NPUs, Cambricon MLUs, Kunlunxin XPUs, CPU, and memory.
  • Offers cloud-hosted and self-hosted deployment options, with a dedicated self-hosted community version.
  • Provides plugin extensibility for features like notifications (Slack, Discord, Feishu) and CSV logging.

Maintenance & Community

The project is actively maintained with frequent updates, including recent integrations with EvalScope, DiffSynth Studio, EasyR1, and HuggingFace Transformers. Community support is available via GitHub Issues and a WeChat group.

Licensing & Compatibility

The project is licensed under the Apache 2.0 License. This license is permissive and generally compatible with commercial use and closed-source linking.

Limitations & Caveats

While SwanLab supports a wide range of hardware, specific NPU/XPU support might require additional configuration or driver installations. The project is actively evolving, with new features and integrations being added regularly, which could occasionally lead to breaking changes.

Health Check
Last Commit

3 days ago

Responsiveness

1 day

Pull Requests (30d)
18
Issues (30d)
37
Star History
237 stars in the last 30 days

Explore Similar Projects

Starred by Alex Graveley Alex Graveley(Creator of GitHub Copilot, Dropbox Paper, Mobilecoin, Hackpad), Gregor Zunic Gregor Zunic(Cofounder of Browser Use), and
4 more.

lmnr by lmnr-ai

0.3%
2k
Open-source platform for engineering AI products
Created 1 year ago
Updated 18 hours ago
Starred by Alex Yu Alex Yu(Research Scientist at OpenAI; Cofounder of Luma AI), John Yang John Yang(Coauthor of SWE-bench, SWE-agent), and
6 more.

cleanrl by vwxyzjn

0.6%
8k
RL algorithms implementation with research-friendly features
Created 6 years ago
Updated 3 months ago
Feedback? Help us improve.