SwanLab私有化部署教程!

devtools/2025/3/16 16:52:07/

在这里插入图片描述

SwanLab私有化部署版面向所有个人用户免费开放,部署方案基于Docker Compose,能非常轻松地部署在 Windows/MacOS/Linux 机器上,希望能成为各位训练师的独门炼丹利器。

下面我们会介绍一下如何安装私有化部署版。

1. SwanLab介绍

SwanLab 是一个开源、现代化设计的深度学习训练跟踪与可视化工具,常被称为"中国版 Weights & Biases + Tensorboard"。目前SwanLab在Github上已收获 1k+ Star,也借此感谢各位小伙伴的支持。

  • 开始使用:https://swanlab.cn
  • Github:https://github.com/swanhubx/swanlab

在这里插入图片描述

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. 私有化部署流程

  • 安装指南: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()

运行后在网页查看实验:

在这里插入图片描述

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

  • 开始使用:https://swanlab.cn
  • Github:https://github.com/swanhubx/swanlab
  • 官方文档:https://docs.swanlab.cn

http://www.ppmy.cn/devtools/167606.html

相关文章

Unity 封装一个依赖于MonoBehaviour的计时器(上) 基本功能

灵感来自下面这本书的协程部分,因此我就自己尝试写了一个 我的新书Unity3D游戏开发&#xff08;第3版&#xff09; | 雨松MOMO程序研究院 如果你不知道什么是协程:unity保姆级教程之协同程序_unity协同-CSDN博客 一句话概括:协程就是单线程的异步操作,其作用于Unity的主线程 1…

如何在github上参与开源项目

1. 创建 GitHub 账号 如果你还没有 GitHub 账号&#xff0c;首先需要注册一个&#xff1a; 访问 GitHub 官网。 点击右上角的“Sign up”按钮&#xff0c;填写注册信息并完成注册。 2. 找到感兴趣的项目 GitHub 上有成千上万的开源项目&#xff0c;你可以通过以下方式找到感兴趣…

prototype和proto的区别

在 JavaScript 中&#xff0c;prototype 和 __proto__ 都与原型链和继承机制有关&#xff0c;但它们的含义和作用是不同的。下面来详细讲解它们的区别。 一、prototype 和 proto 的区别 特性prototype__proto__作用构造函数的原型对象实例对象的隐式原型类型对象对象访问方式构…

数据库管理-第302期 国产类RAC架构数据库网络连接方式(20250314)

数据库管理302期 2025-03-14 数据库管理-第302期 国产类RAC架构数据库网络连接方式&#xff08;20250314&#xff09;1 Oracle RAC2 DMDSC3 YAC4 KES RAC总结 数据库管理-第302期 国产类RAC架构数据库网络连接方式&#xff08;20250314&#xff09; 作者&#xff1a;胖头鱼的鱼…

封装WPF中转换器常用用法封装

代码经常遇到类型A转换到类型C&#xff0c;但是已经写好类型A转换到类型B、类型B转换类型C。往往遇到这种情况&#xff0c;通常会重新写过一个转换器来进行满足需求。以下是解决该痛点。 /// <summary> /// 转换器组转换器 /// </summary> [ContentProperty(nameo…

【前端实战】一文掌握响应式布局 - 多设备完美适配方案详解

一、前言 在当今互联网时代&#xff0c;用户通过各种设备访问网站已成为常态。如何让网站在不同设备上都能完美展现&#xff1f;本文将通过一个实际案例&#xff0c;详细讲解响应式布局的实现方案。 二、项目效果展示 PC 移动端 平板(ipad Pro) 三、核心实现方案 1. 基础设置…

《DeepSeek 开源 DeepGEMM:开启AI计算新时代的密钥》:此文为AI自动生成

《DeepSeek 开源 DeepGEMM&#xff1a;开启AI计算新时代的密钥》&#xff1a;此文为AI自动生成 引言&#xff1a;AI 计算的新曙光 在当今科技飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;无疑是最为耀眼的领域之一。从语音助手到自动驾驶&#xff0c;从图像…

基于Spring Boot的航司互售系统

文章目录 项目介绍项目截图项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &#x1f345;文末获取源码联系&#x1f34…