SwanLab私有化部署版面向所有个人用户免费开放,部署方案基于Docker Compose,能非常轻松地部署在 Windows/MacOS/Linux 机器上,希望能成为各位训练师的独门炼丹利器。
下面我们会介绍一下如何安装私有化部署版。
1. SwanLab介绍
SwanLab 是一个开源、现代化设计的深度学习训练跟踪与可视化工具,常被称为"中国版 Weights & Biases + Tensorboard"。目前SwanLab在Github上已收获 1k+ Star,也借此感谢各位小伙伴的支持。
SwanLab同时支持云端和离线使用,并适配了从PyTorch、Transformers、Lightning再到LLaMA Factory、veRL等30多种主流AI训练框架,Python API设计也简洁易上手,能轻松嵌入你的训练代码。
面向人工智能研究者,SwanLab设计了友好的Python API 和漂亮的UI界面,并提供训练可视化、自动日志记录、超参数记录、实验版本管理与对比、多人协同等功能。在SwanLab上,研究者能基于直观的可视化图表发现训练问题,对比多个实验找到研究灵感,并通过在线网页的分享与基于组织的多人协同训练,打破团队沟通的壁垒,提高组织训练效率。
SwanLab支持移动端使用,让你在手机上也能实时看到训练进展。同时,SwanLab也是目前唯一支持晟腾NPU等国产卡硬件监控的训练工具。
以下是SwanLab的一些核心特性:
-
📊 实验指标与超参数跟踪: 极简的代码嵌入您的机器学习 pipeline,跟踪记录训练关键指标
- 支持云端使用(类似Weights & Biases),随时随地查看训练进展。
- 支持超参数记录与表格展示
- 支持的元数据类型:标量指标、图像、音频、文本、…
- 支持的图表类型:折线图、媒体图(图像、音频、文本)、…
- 后台自动记录:日志logging、硬件环境、Git 仓库、Python 环境、Python 库列表、项目运行目录
-
⚡️ 全面的框架集成: PyTorch、 🤗HuggingFace Transformers、⚡️PyTorch Lightning、 🦙LLaMA Factory、MS-Swift、MMDetection、Ultralytics、PaddleDetetion、LightGBM、XGBoost、Keras、Tensorboard、Weights&Biases、OpenAI、XTuner、Stable Baseline3、Hydra 在内的 30+ 框架
-
💻 硬件监控: 支持实时记录与监控CPU、NPU(昇腾Ascend)、GPU(英伟达Nvidia)、内存的系统级硬件指标
-
📦 实验管理: 通过专为训练场景设计的集中式仪表板,通过整体视图速览全局,快速管理多个项目与实验
-
🆚 比较结果: 通过在线表格与对比图表比较不同实验的超参数和结果,挖掘迭代灵感
-
👥 在线协作: 您可以与团队进行协作式训练,支持将实验实时同步在一个项目下,您可以在线查看团队的训练记录,基于结果发表看法与建议
-
✉️ 分享结果: 复制和发送持久的 URL 来共享每个实验,方便地发送给伙伴,或嵌入到在线笔记中。同时支持邮件、飞书、企业微信、钉钉等消息通知。
-
💻 支持自托管: 支持离线环境使用,自托管的社区版同样可以查看仪表盘与管理实验
2. 私有化部署流程
- 安装指南:https://docs.swanlab.cn/guide_cloud/self_host/docker-deploy.html
- 获取License:在swanlab.cn的「设置」-「账户与许可证」,获取免费License
3. 安装先决条件
在安装 SwanLab 之前,请确保您的机器满足以下最低系统要求:
- CPU >= 2核
- 内存 >= 4GB
- 存储空间 >= 20GB
SwanLab 私有化部署版,需要使用 Docker Compose 进行安装与部署,请根据你的操作系统,对表下面的表格选择正确的Docker及compose版本。
如果你已经安装了Docker,请跳过这一步。
4. 开始安装
1. 克隆仓库
使用Git克隆 self-hosted 仓库:
git clone https://github.com/SwanHubX/self-hosted.git
cd self-hosted
2. 一键脚本安装
如果你是Windows系统,请开启WSL2进行安装
默认的安装脚本在 docker/install.sh ,直接执行即可一键安装所有需要的容器以及执行初始化配置。
cd ./docker
./install.sh
默认脚本链接的镜像源在中国,所以中国地区的下载速度非常快!
如果你需要使用 DockerHub 作为镜像源,则可以使用下面的脚本进行安装:
./install-dockerhub.sh
5. 激活主账号
SwanLab社区版默认会使用8000端口,如果你使用的是默认配置,那么可以直接访问: http://localhost:8000 ,就可以访问到SwanLab社区版。
也有可能社区版部署在了其他端口,请打开 Docker Desktop,找到traefik容器旁边的port映射,比如64703:80,那么你应该访问http://localhost:64703。
现在,你需要激活你的主账号。激活需要1个License,个人使用可以免费在SwanLab官网申请一个,位置在 「设置」-「账户与许可证」。
拿到License后,回到激活页面,填写用户名、密码、确认密码和License,点击激活即可完成创建。
6. 开始你的第一个实验
在Python SDK完成登录:
swanlab login --host <IP地址>
如果你之前登录过swanlab,想要重新登录,请使用:
swanlab login --host <IP地址> --relogin
按回车,填写API Key,完成登录。之后你的SwanLab实验将会默认传到私有化部署的SwanLab上。
测试脚本:
python">import swanlab
import random# 创建一个SwanLab项目
swanlab.init(# 设置项目名project="my-awesome-project",# 设置超参数config={"learning_rate": 0.02,"architecture": "CNN","dataset": "CIFAR-100","epochs": 10}
)# 模拟一次训练
epochs = 10
offset = random.random() / 5
for epoch in range(2, epochs):acc = 1 - 2 ** -epoch - random.random() / epoch - offsetloss = 2 ** -epoch + random.random() / epoch + offset# 记录训练指标swanlab.log({"acc": acc, "loss": loss})# [可选] 完成训练,这在notebook环境中是必要的
swanlab.finish()
运行后在网页查看实验:
至此,你就完成了私有化部署的全流程!