SwanLab私有化部署教程!

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的一些核心特性:

  1. 📊 ​实验指标与超参数跟踪: 极简的代码嵌入您的机器学习 pipeline,跟踪记录训练关键指标

    • 支持云端使用(类似Weights & Biases),随时随地查看训练进展。
    • 支持超参数记录与表格展示
    • 支持的元数据类型:标量指标、图像、音频、文本、...
    • 支持的图表类型:折线图、媒体图(图像、音频、文本)、...
    • 后台自动记录:日志logging、硬件环境、Git 仓库、Python 环境、Python 库列表、项目运行目录
  2. ⚡️ ​全面的框架集成: PyTorch、 🤗HuggingFace Transformers、⚡️PyTorch Lightning、 🦙LLaMA Factory、MS-Swift、MMDetection、Ultralytics、PaddleDetetion、LightGBM、XGBoost、Keras、Tensorboard、Weights&Biases、OpenAI、XTuner、Stable Baseline3、Hydra 在内的 30+ 框架

  3. 💻 ​硬件监控: 支持实时记录与监控CPU、NPU(昇腾Ascend)、GPU(英伟达Nvidia)、内存的系统级硬件指标

  4. 📦 ​实验管理: 通过专为训练场景设计的集中式仪表板,通过整体视图速览全局,快速管理多个项目与实验

  5. 🆚 ​比较结果: 通过在线表格与对比图表比较不同实验的超参数和结果,挖掘迭代灵感

  6. 👥 ​在线协作: 您可以与团队进行协作式训练,支持将实验实时同步在一个项目下,您可以在线查看团队的训练记录,基于结果发表看法与建议

  7. ✉️ ​分享结果: 复制和发送持久的 URL 来共享每个实验,方便地发送给伙伴,或嵌入到在线笔记中。同时支持邮件、飞书、企业微信、钉钉等消息通知。

  8. 💻 ​支持自托管: 支持离线环境使用,自托管的社区版同样可以查看仪表盘与管理实验

2. 私有化部署流程

3. 安装先决条件

在安装 SwanLab 之前,请确保您的机器满足以下最低系统要求:

  • CPU >= 2核
  • 内存 >= 4GB
  • 存储空间 >= 20GB

SwanLab 私有化部署版,需要使用 Docker Compose 进行安装与部署,请根据你的操作系统,对表下面的表格选择正确的Docker及compose版本。

如果你已经安装了Docker,请跳过这一步。

4. 开始安装

1. 克隆仓库

使用Git克隆 self-hosted 仓库:

bash 复制代码
git clone https://github.com/SwanHubX/self-hosted.git
cd self-hosted

2. 一键脚本安装

如果你是Windows系统,请开启WSL2进行安装

默认的安装脚本在 docker/install.sh ,直接执行即可一键安装所有需要的容器以及执行初始化配置。

bash 复制代码
cd ./docker
./install.sh

默认脚本链接的镜像源在中国,所以中国地区的下载速度非常快!

如果你需要使用 DockerHub 作为镜像源,则可以使用下面的脚本进行安装:

bash 复制代码
./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完成登录:

bash 复制代码
swanlab login --host <IP地址>

如果你之前登录过swanlab,想要重新登录,请使用:

bash 复制代码
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 - offset
  loss = 2 ** -epoch + random.random() / epoch + offset

  # 记录训练指标
  swanlab.log({"acc": acc, "loss": loss})

# [可选] 完成训练,这在notebook环境中是必要的
swanlab.finish()

运行后在网页查看实验:

至此,你就完成了私有化部署的全流程!

相关推荐
爱分享的淘金达人10 分钟前
25年教师资格认定材料及认定详细流程‼
java·python·考研·小程序·tomcat
~漠北~13 分钟前
Pycharm实用技巧
ide·python·pycharm
pen-ai38 分钟前
【NLP】 9. 处理创造性词汇 & 词组特征(Creative Words & Features Model), 词袋模型处理未知词,模型得分
人工智能·深度学习·自然语言处理
寻丶幽风1 小时前
论文阅读笔记——QLORA: Efficient Finetuning of Quantized LLMs
论文阅读·人工智能·笔记·深度学习·语言模型
前端开发张小七1 小时前
Python 学习总结-2
python
蜡笔小新..1 小时前
开发、科研、日常办公工具汇总(自用,持续更新)
论文阅读·人工智能·python·插件·zotero
发财哥fdy1 小时前
3.12-3 html
人工智能·python·tensorflow
斯密码赛我是美女2 小时前
日志Python安全之SSTI——Flask/Jinja2
后端·python·flask
YuiGod2 小时前
《从零开始DeepSeek R1搭建本地知识库问答系统》六:关于聊天模型 API Key 的使用与调用 Embedding 模型
python·langchain·deepseek