如何跟踪人工智能机器学习实验?【借助Swanlab】

实验跟踪

使用几行代码跟踪人工智能实验,然后你可以在交互式仪表板中查看与比较结果。
下图显示了一个示例仪表板,您可以在其中查看和比较多次实验的指标。

它是如何工作的?

使用几行代码跟踪机器学习实验:

  1. 创建SwanLab实验。

        -为什么使用SwanLab?

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

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

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

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

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

        -SwanLab能做什么?

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

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

2.)⚡️全面的框架集成PyTorchPyTorch Lightning🤗HuggingFace TransformersMMEngineUltralytics等主流框架

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

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

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

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

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

  2. 将超参数字典(例如学习率或模型类型)存储到您的配置中 ( swanlab.config)。

  3. 在训练循环中随时间记录指标 ( swanlab.log()),例如准确性acc和损失loss。

接下来的伪代码演示了常见的SwanLab实验跟踪工作流:

# 1. 创建1个SwanLab实验
swanlab.init(project="my-project-name")

# 2. 存储模型的输入或超参数
swanlab.config.learning_rate = 0.01

# 这里写模型的训练代码
...

# 3. 记录随时间变化的指标以可视化表现
swanlab.log({"loss": loss})

如何开始?

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

探索以下资源以了解SwanLab实验跟踪:

  • 46
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值