0


Wandb有哪些国产平替?【Swanlab】AI模型训练 | 在线,开源,可视化

Wandb(全称为Weights and Biases)是一个用于跟踪、可视化和协作机器学习项目的工具。 它提供了许多功能,包括实时的指标跟踪、超参数调整、模型的可视化等。

但是对于国内用户来说,Wandb可能会出现网络卡顿,技术沟通不畅等问题。

这篇文章将介绍一款功能平替,加载、沟通更加流畅的AI模型训练平台【Swanlab】

alt text

为什么使用SwanLab?​

与软件工程不同,人工智能是一个实验性学科,产生灵感、快速试验、验证想法 是AI研究的主旋律。而记录下实验过程和灵感,就像化学家记录实验手稿一样,是每一个AI研究者、研究组织形成积累、提升加速度的核心。

先前的实验记录方法,是在计算机前盯着终端打印的输出,复制粘贴日志文件(或TFEvent文件),粗糙的日志对灵感的涌现造成了障碍,离线的日志文件让研究者之间难以形成合力

与之相比,SwanLab提供了一套云端AI实验跟踪方案,面向训练过程,提供了训练可视化、实验跟踪、超参数记录、日志记录、多人协同等功能,研究者能轻松通过直观的可视化图表找到迭代灵感,并且通过在线链接的分享与基于组织的多人协同训练,打破团队沟通的壁垒。

以往的AI研究的分享和开源更关注结果,而我们更关注过程。
社区用户对SwanLab的产品评价可以归结为简洁易用、提升效率与迭代迅速
——泽毅,SwanLab 联合创始人

更重要的是,SwanLab是开源的,由一帮热爱开源的机器学习工程师与社区共同构建,我们提供了完全自托管的版本,可以保证你的数据安全与隐私性。

希望以上信息和这份指南可以帮助你了解这款产品,我们相信 SwanLab 能够帮助到你。

SwanLab能做什么?​

alt text

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

  • 自由的超参数与实验配置记录
  • 支持的元数据类型:标量指标、图像、音频、文本、...
  • 支持的图表类型:折线图、媒体图(图像、音频、文本)、...
  • 自动记录:控制台logging、GPU硬件、Git信息、Python解释器、Python库列表、代码目录

2. ⚡️全面的框架集成: PyTorch、PyTorch Lightning、🤗HuggingFace Transformers、MMEngine、Ultralytics等主流框架

3. 📦组织实验: 集中式仪表板,快速管理多个项目与实验,通过整体视图速览训练全局

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

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

6. ✉️分享结果: 复制和发送持久的URL来共享每个实验,方便地发送给伙伴,或嵌入到在线笔记中

7. 💻支持自托管: 支持不联网使用,自托管的社区版同样可以查看仪表盘与管理实验

Swanlab vs Wandb

【国产平替】

【加载流畅】

【流通流畅】

Swanlab【快速入门】

1. 创建账号并安装SwanLab​

在开始之前,请确保你创建好了一个SwanLab账号,并安装了我们的Python库。

  1. 在 SwanLab官网 免费注册账号,然后登录你的SwanLab账号

swanlab login

  1. 使用 pip 在Python3环境的计算机上安装swanlab库

打开命令行(Windows系统推荐使用PowerShell),输入:

bash

pip install swanlab

按下回车,等待片刻完成安装。

2. 在编程环境上登录SwanLab​

下一步,你需要在你的编程环境上登录SwanLab。

打开命令行,输入:

bash

swanlab login

出现如下提示时:

bash

swanlab: Logging into swanlab cloud.
swanlab: You can find your API key at: https://dev101.swanlab.cn/settings
swanlab: Paste an API key from your profile and hit enter, or press 'CTRL-C' to quit:

在用户设置页面复制您的 API Key,粘贴后按下回车,即可完成登录。

3. 开启一个实验并跟踪超参数​

在Python脚本中,我们用

swanlab.init

创建一个SwanLab实验,并向

config

参数传递将一个包含超参数键值对的字典:

python

run = swanlab.init(
    # 设置项目
    project="my-project",
    # 跟踪超参数与实验元数据
    config={
        "learning_rate": 0.01,
        "epochs": 10,
    },
)
run

是SwanLab的基本组成部分,你将经常使用它来记录与跟踪实验指标。

4. 记录实验指标​

在Python脚本中,用

swanlab.log

记录实验指标(比如准确率acc和损失值loss)。

用法是将一个包含指标的字典传递给

swanlab.log

python

swanlab.log({"accuracy": acc, "loss": loss})

5. 完整代码,在线查看可视化看板​

我们将上面的步骤整合为下面所示的完整代码:

python

import swanlab
import random

# 初始化SwanLab
run = swanlab.init(
    # 设置项目
    project="my-project",
    # 跟踪超参数与实验元数据
    config={
        "learning_rate": 0.01,
        "epochs": 10,
    },
)

print(f"学习率为{run.config.learning_rate}")

offset = random.random() / 5

# 模拟训练过程
for epoch in range(2, run.config.epochs):
    acc = 1 - 2**-epoch - random.random() / epoch - offset
    loss = 2**-epoch + random.random() / epoch + offset
    print(f"epoch={epoch}, accuracy={acc}, loss={loss}")
    # 记录指标
    swanlab.log({"accuracy": acc, "loss": loss})

运行代码,访问SwanLab,查看在每个训练步骤中,你使用SwanLab记录的指标(准确率和损失值)的改进情况。

quick-start-1

Github与邮件​


本文转载自: https://blog.csdn.net/2401_85578645/article/details/139718538
版权归原作者 Rellaaaaa 所有, 如有侵权,请联系我们删除。

“Wandb有哪些国产平替?【Swanlab】AI模型训练 | 在线,开源,可视化”的评论:

还没有评论