swanlab0.6.4
Published
Python library for streamlined tracking and management of AI training processes.
pip install swanlab
Package Downloads
Project URLs
Requires Python
>=3.8
Dependencies
- boto3
>=1.35.49
- botocore
- click
- psutil
>=5.0.0
- pydantic
>=2.9.0
- pyecharts
>=2.0.0
- pynvml
- pyyaml
- requests
>=2.25.0
- setuptools
- swankit
==0.2.4
- typing-extensions
; python_version < "3.9"
- urllib3
>=1.26.0
- wrapt
>=1.17.0
- swanboard
==0.1.8b1; extra == "dashboard"
- matplotlib
; extra == "media"
- numpy
; extra == "media"
- pillow
; extra == "media"
- rdkit
; extra == "media"
- soundfile
; extra == "media"
SwanLab
一个开源、现代化设计的深度学习训练跟踪与可视化工具
同时支持云端/离线使用,适配30+主流框架,与你的实验代码轻松集成
🔥SwanLab 在线版 · 📃 文档 · 报告问题 · 建议反馈 · 更新日志 · 基线社区
👋 加入我们的微信群
目录
🌟 最近更新
-
2025.06.11:📊支持 swanlab.echarts.table 数据类型,支持纯文本图表展示;支持对分组进行拉伸交互,以增大同时显示的图表数量;表格视图增加 指标最大/最小值 选项;
-
2025.06.08:♻️支持在本地存储完整的实验日志文件,通过 swanlab sync 上传本地日志文件到云端/私有化部署端;硬件监控支持海光DCU;
-
2025.06.01:🏸支持图表自由拖拽;支持ECharts自定义图表,增加包括柱状图、饼状图、直方图在内的20+图表类型;硬件监控支持沐曦GPU;集成 PaddleNLP 框架;
-
2025.05.25:日志支持记录标准错误流,PyTorch Lightning等框架的打印信息可以被更好地记录;硬件监控支持摩尔线程;新增运行命令记录安全防护功能,API Key将被自动隐藏;
-
2025.05.14:支持实验Tag;支持折线图Log Scale;支持分组拖拽;大幅度优化了大量指标上传的体验;增加
swanlab.OpenApi
开放接口; -
2025.05.09:支持折线图创建;配置图表功能增加数据源选择功能,支持单张图表显示不同的指标;支持生成训练项目GitHub徽章;
-
2025.04.23:支持折线图编辑,支持自由配置图表的X、Y轴数据范围和标题样式;图表搜索支持正则表达式;支持昆仑芯XPU的硬件检测与监控;
-
2025.04.11:支持折线图局部区域选取;支持全局选择仪表盘折线图的step范围;支持一键隐藏全部图表;
-
2025.04.08:支持swanlab.Molecule数据类型,支持记录与可视化生物化学分子数据;支持保存表格视图中的排序、筛选、列顺序变化状态;
完整更新日志
-
2025.04.07:我们与 EvalScope 完成了联合集成,现在你可以在EvalScope中使用SwanLab来评估大模型性能;
-
2025.03.30:支持swanlab.Settings方法,支持更精细化的实验行为控制;支持寒武纪MLU硬件监控;支持 Slack通知、Discord通知;
-
2025.03.21:🎉🤗HuggingFace Transformers已正式集成SwanLab(>=4.50.0版本),#36433;新增 Object3D图表 ,支持记录与可视化三维点云,文档;硬件监控支持了 GPU显存(MB)、磁盘利用率、网络上下行 的记录;
-
2025.03.12:🎉🎉SwanLab私有化部署版现已发布!!🔗部署文档;SwanLab 已支持插件扩展,如 邮件通知、飞书通知
-
2025.03.09:支持实验侧边栏拉宽;新增外显 Git代码 按钮;新增 sync_mlflow 功能,支持与mlflow框架同步实验跟踪;
-
2025.03.06:我们与 DiffSynth Studio 完成了联合集成,现在你可以在DiffSynth Studio中使用SwanLab来跟踪和可视化Diffusion模型文生图/视频实验,使用指引;
-
2025.03.04:新增 MLFlow转换 功能,支持将MLFlow实验转换为SwanLab实验,使用指引;
-
2025.03.01:新增 移动实验 功能,现在可以将实验移动到不同组织的不同项目下了;
-
2025.02.24:我们与 EasyR1 完成了联合集成,现在你可以在EasyR1中使用SwanLab来跟踪和可视化多模态大模型强化学习实验,使用指引
-
2025.02.18:我们与 Swift 完成了联合集成,现在你可以在Swift的CLI/WebUI中使用SwanLab来跟踪和可视化大模型微调实验,使用指引。
-
2025.02.16:新增 图表移动分组、创建分组 功能。
-
2025.02.09:我们与 veRL 完成了联合集成,现在你可以在veRL中使用SwanLab来跟踪和可视化大模型强化学习实验,使用指引。
-
2025.02.05:
swanlab.log
支持嵌套字典 #812,适配Jax框架特性;支持name
与notes
参数; -
2025.01.22:新增
sync_tensorboardX
与sync_tensorboard_torch
功能,支持与此两种TensorBoard框架同步实验跟踪; -
2025.01.17:新增
sync_wandb
功能,文档,支持与Weights & Biases实验跟踪同步;大幅改进了日志渲染性能 -
2025.01.11:云端版大幅优化了项目表格的性能,并支持拖拽、排序、筛选等交互
-
2025.01.01:新增折线图持久化平滑、折线图拖拽式改变大小,优化图表浏览体验
-
2024.12.22:我们与 LLaMA Factory 完成了联合集成,现在你可以在LLaMA Factory中使用SwanLab来跟踪和可视化大模型微调实验,使用指引。
-
2024.12.15:硬件监控(0.4.0) 功能上线,支持CPU、NPU(Ascend)、GPU(Nvidia)的系统级信息记录与监控。
-
2024.11.26:环境选项卡-硬件部分支持识别华 为昇腾NPU与鲲鹏CPU;云厂商部分支持识别青云基石智算。
👋🏻 什么是SwanLab
SwanLab 是一款开源、轻量的 AI 模型训练跟踪与可视化工具,提供了一个跟踪、记录、比较、和协作实验的平台。
SwanLab 面向人工智能研究者,设计了友好的Python API 和漂亮的UI界面,并提供训练可视化、自动日志记录、超参数记录、实验对比、多人协同等功能。在SwanLab上,研究者能基于直观的可视化图表发现训练问题,对比多个实验找到研究灵感,并通过在线网页的分享与基于组织的多人协同训练,打破团队沟通的壁垒,提高组织训练效率。
https://github.com/user-attachments/assets/7965fec4-c8b0-4956-803d-dbf177b44f54
以下是其核心特性列表:
1. 📊 实验指标与超参数跟踪: 极简的代码嵌入您的机器学习 pipeline,跟踪记录训练关键指标
-
☁️ 支持云端使用(类似Weights & Biases),随时随地查看训练进展。手机看实验的方法
-
📝 支持超参数记录、指标总结、表格分析
-
🌸 可视化训练过程: 通过UI界面对实验跟踪数据进行可视化,可以让训练师直观地看到实验每一步的结果,分析指标走势,判断哪些变化导致了模型效果的提升,从而整体性地提升模型迭代效率。
-
支持的元数据类型:标量指标、图像、音频、文本、3D点云、生物化学分子、Echarts自定义图表...
- 支持的图表类型:折线图、媒体图(图像、音频、文本)、3D点云、生物化学分子、柱状图、散点图、箱线图、热力图、饼状图、雷达图...
- 后台自动记录:日志logging、硬件环境、Git 仓库、Python 环境、Python 库列表、项目运行目录
2. ⚡️ 全面的框架集成: PyTorch、🤗HuggingFace Transformers、PyTorch Lightning、🦙LLaMA Factory、MMDetection、Ultralytics、PaddleDetetion、LightGBM、XGBoost、Keras、Tensorboard、Weights&Biases、OpenAI、Swift、XTuner、Stable Baseline3、Hydra 在内的 30+ 框架
3. 💻 硬件监控: 支持实时记录与监控CPU、NPU(昇腾Ascend)、GPU(英伟达Nvidia)、MLU(寒武纪Cambricon)、XLU(昆仑芯Kunlunxin)内存的系统级硬件指标
4. 📦 实验管理: 通过专为训练场景设计的集中式仪表板,通过整体视图速览全局,快速管理多个项目与实验
5. 🆚 比较结果: 通过在线表格与对比图表比较不同实验的超参数和结果,挖掘迭代灵感
6. 👥 在线协作: 您可以与团队进行协作式训练,支持将实验实时同步在一个项目下,您可以在线查看团队的训练记录,基于结果发表看法与建议
7. ✉️ 分享结果: 复制和发送持久的 URL 来共享每个实验,方便地发送给伙伴,或嵌入到在线笔记中
8. 💻 支持自托管: 支持离线环境使用,自托管的社区版同样可以查看仪表盘与管理实验,使用攻略
9. 🔌 插件拓展: 支持通过插件拓展SwanLab的使用场景,比如 飞书通知、Slack通知、CSV记录器等
[!IMPORTANT]
收藏项目,你将从 GitHub 上无延迟地接收所有发布通知~ ⭐️
📃 在线演示
来看看 SwanLab 的在线演示:
ResNet50 猫狗分类 | Yolov8-COCO128 目标检测 |
---|---|
![]() | ![]() |
跟踪一个简单的 ResNet50 模型在猫狗数据集上训练的图像分类任务。 | 使用 Yolov8 在 COCO128 数据集上进行目标检测任务,跟踪训练超参数和指标。 |
Qwen2 指令微调 | LSTM Google 股票预测 |
---|---|
![]() | ![]() |
跟踪 Qwen2 大语言模型的指令微调训练,完成简单的指令遵循。 | 使用简单的 LSTM 模型在 Google 股价数据集上训练,实现对未来股价的预测。 |
ResNeXt101 音频分类 | Qwen2-VL COCO数据集微调 |
---|---|
![]() | ![]() |
从ResNet到ResNeXt在音频分类任务上的渐进式实验过程 | 基于Qwen2-VL多模态大模型,在COCO2014数据集上进行Lora微调。 |
EasyR1 多模态LLM RL训练 | Qwen2.5-0.5B GRPO训练 |
---|---|
![]() | ![]() |
使用EasyR1框架进行多模态LLM RL训练 | 基于Qwen2.5-0.5B模型在GSM8k数据集上进行GRPO训练 |
🏁 快速开始
1.安装
pip install swanlab
源码安装
如果你想体验最新的特性,可以使用源码安装。
# 方式一
git clone https://github.com/SwanHubX/SwanLab.git
pip install -e .
# 方式二
pip install git+https://github.com/SwanHubX/SwanLab.git