SwanLab  by SwanHubX

AI training tracking and visualization tool

created 1 year ago
2,444 stars

Top 18.9% 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

1 day ago

Responsiveness

1 day

Pull Requests (30d)
24
Issues (30d)
54
Star History
257 stars in the last 30 days

Explore Similar Projects

Starred by Omar Sanseviero Omar Sanseviero(DevRel at Google DeepMind), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
4 more.

argilla by argilla-io

0.2%
5k
Collaboration tool for building high-quality AI datasets
created 4 years ago
updated 5 days ago
Starred by John Resig John Resig(Author of jQuery; Chief Software Architect at Khan Academy), Didier Lopes Didier Lopes(Founder of OpenBB), and
4 more.

evidently by evidentlyai

0.5%
7k
Open-source framework for ML/LLM observability
created 4 years ago
updated 2 days ago
Starred by Tobi Lutke Tobi Lutke(Cofounder of Shopify), Dominik Moritz Dominik Moritz(Research Scientist at Apple; Professor at CMU), and
6 more.

pygwalker by Kanaries

0.1%
15k
Interactive UI for Pandas dataframes in Jupyter
created 2 years ago
updated 1 month ago
Feedback? Help us improve.