【快速入门】SwanLab-开源AI训练可视化工具

什么是SwanLab

SwanLab是一款完全开源免费的机器学习日志跟踪与实验管理工具,为人工智能研究者打造。有以下特点:

  1. 基于一个名为swanlab的python库

  2. 可以帮助您在机器学习实验中记录超参数、训练日志和可视化结果

  3. 能够自动记录logging、系统硬件、环境配置(如用了什么型号的显卡、Python版本是多少等等)

  4. 可以完全离线运行,在完全内网环境下也可使用

 使用SwanLab辅助模拟训练实验的结果图速览: 

Charts:记录loss和accuracy

Logs:记录终端中打印的日志

Environment Card:实验相关信息概览

Environment:实验、系统硬件和环境配置信息

快速入门

安装swanlab并快速开始跟踪简单的机器学习实验。

安装SwanLab

Python 3.8+ 环境中的计算机上使用 pip 安装 swanlab 库。

pip install -U swanlab

P.S. 此教程主要基于swanlab>=0.1.5,如果低于此版本,请做一下升级,升级命令同上。

启动运行并跟踪超参数

swanlab.init 中初始化SwanLab,在 swanlab.log 中以字典形式传入需要跟踪记录的指标项:

import swanlab

swanlab.init(
    config={"learning_rate": 0.01},
    logdir="./logs"
    )

for epoch in range(1, 10):
    swanlab.log({"epoch": epoch})
  • config 参数:要记录的实验配置信息。比如上面的代码表示SwanLab记录了配置项learning_rate,它的值为0.01。

  • logdir 参数:实验数据即将存储的路径。SwanLab会在运行时将实验数据存放在logdir中,这些数据将成为实验看板的数据源。上面的代码表示实验数据存储的位置是当前目录下的logs文件夹。

  • swanlab.log :跟踪需要记录的指标,需要以字典的形式传入,实验看板将根据传入的内容,绘制相应的图表。上面的代码表示SwanLog记录了名为epoch的指标项,值为1~9。

 运行代码,将会看到以下输出结果:

[SwanLab-INFO]:        Experiment exp has been registered.
[SwanLab-INFO]:        Run data will be saved locally in <你的日志保存路径>(eg:./logs/run-20240124_192528-34b914e0)
[SwanLab-INFO]:        Experiment_name: <实验名>
[SwanLab-INFO]:        Run `swanlab watch` to view SwanLab Experiment Dashboard
[SwanLab-INFO]:        The current experiment exp_2024-01-24_19-25-28 has been completed, SwanLab will close it automatically

此时在你运行代码的所在的项目目录中会出现1个logs文件夹,里面记录的是你的训练数据:

 可视化查看swanlab记录的训练数据

 打开终端,进入同一目录下,运行命令 swanlab watch ,开启实验看板:

swanlab watch --logdir ./logs
  • --logdir 参数:实验看板的数据源的路径,于初始化SwanLab时创建。上面的命令表示以./logs文件夹为数据源开启实验看板。

 你会看到下面的输出结果,这代表可视化实验看板已经在后台运行:

[SwanLab-INFO]:        SwanLab Experiment Dashboard ready in <启动实验看板的用时>ms

                        ➜  Local:   http://127.0.0.1:5092

打开浏览器,访问http://127.0.0.1:5092 

 就是这样!点击进入刚刚进行的实验,可以可视化地看到我们用 SwanLab 记录的指标(loss和acc)在每个训练步骤中是如何改进的:

可视化图表

自动记录终端打印日志

实验概览信息:包含实验名、描述、系统信息、超参数等

实验详细信息

Have a Try!

快速上手模拟训练实验

根据以上教程,你是不是也能用SwanLab实现本教程开始时展示的模拟训练实验呢?Why not have a try?  Now!

参考代码如下:

import swanlab
import time
import random

lr = 0.01
epochs = 20
offset = random.random() / 5

swanlab.init(
    # 设置实验名称
    experiment_name="sample_experiment",
    # 设置实验介绍
    description="This is a sample experiment for machine learning training.",
    # 记录跟踪的超参数和运行元数据
    config={
        "learning_rate": lr,
        "epochs": epochs,
    },
)

# 模拟机器学习训练过程
for epoch in range(2, epochs):
    acc = 1 - 2**-epoch - random.random() / epoch - offset
    loss = 2**-epoch + random.random() / epoch + offset
    print(f"epoch={epoch}, accuracy={acc}, loss={loss}")
    # 记录loss和acc
    swanlab.log({"loss": loss, "accuracy": acc})
    time.sleep(1)

 SwanLab助力机器学习

此外,如果你想使用SwanLab跟踪记录更多更复杂的机器学习任务,比如用ResNet50模型实现猫狗分类任务,欢迎关注以下教程:

PyTorch+SwanLab+Gradio+猫狗分类:从可视化训练到Demo网站icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/676430630

SwanLab结果图:

效果很完美!

至此,我们已经学完了SwanLab的基本使用方法,完成了用PyTorch、SwanLab、Gradio三个开源工具训练1个猫狗分类模型的全部过程,如果想了解更多SwanLab,可参考相关链接或评论此文章。

相关文章

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis开源可视化工具有多种选择。其中一款是RedisInsight,它被认为是一个功能全面且界面专业的工具,其覆盖了Redis的多个方面,包括分析监控等功能。虽然其查询key的功能可能不是最优秀的,但是其全面性和颜值较高,因此被人们强烈推荐使用。 另外一款是Iedis2,它是一个Redis的IDE工具插件,提供了一些基本的命令运行和操作功能。[2.3.1] 此外,还有一个名为RedisView的工具,它是一款自主可控的Redis图形化工具。它具备数据库视图、基本命令运行、支持不同的Redis模式(单例、复制集、哨兵、集群),以及订阅发布模式等功能。此外,RedisView还支持批量删除操作和设置语言、编码,支持中文界面。这些工具都提供了可视化操作界面,方便用户对Redis进行管理和监控。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Redis - 0、几款可视化工具](https://blog.csdn.net/qq_34272760/article/details/120694581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [RedisView-开源平台的Redis可视化工具](https://blog.csdn.net/D939030515/article/details/122179981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值