跟踪与可视化你的机器学习全流程
English | 中文
[24/03/12] 👽 我们发布了折线图平滑功能,支持3种不同的平滑算法; 我们支持了在多实验图表中对比图像、音频图表; 同时改进了swanlab.Image
,支持tensor作为输入。(v0.2.3)
[24/03/03] 🔧 我们修复了v0.2.1的一些问题,以及支持了通过按键切换多媒体图表的内容。(v0.2.2)
[24/03/01] 🚀 依旧是超大杯的更新!我们支持了文本图表以适配NLP、LLM、Agent等场景任务的需求; 我们对折线图的UI、图例、渲染速度做了大量优化,并提高了Logs的渲染性能,200k行的终端打印信息查看也不卡顿。(v0.2.1)
[24/02/08] 🔥 超大更新! 我们支持了图像图表、音频图表、多实验图表以及一系列全面的优化和改进!可通过 pip install -U swanlab
升级到最新版本体验新特性。(v0.2.0)
[24/01/25] 😄 我们发布了新的Config/Summary表格组件,支持参数搜索。此外我们还使用了新的字体和配色。(v0.1.6)
升级到最新版本: pip install -U swanlab
。
- 📊 训练可视化: 可视化你的机器学习训练全过程
- 🚀 多媒体图表: 记录训练中的图像/音频/视频/文本/3D模型...
- 🧪 表格视图: 对比关键指标,更快获得洞见
-
⚡️ 自动保存环境信息: 自动保存超参数,配置,指标,终端日志记录,pip环境信息等
-
🥔 离线支持: SwanLab可以完全离线运行,无需任何对互联网的访问。例如,它可以在您的本地计算机上、企业防火墙后面或数据中心中运行。
环境要求:Python 3.8+
使用pip将安装我们稳定发布的版本,安装命令如下所示:
pip install -U swanlab
如果您等不及发布,想体验最新的代码与特性,那么必须从源代码安装此库。
- 首先,使用pip安装SwanLab SDK:
pip install -U swanlab
- 然后,使用下面的示例代码片段作为模板,将SwanLab集成到您的Python脚本中:
import swanlab
# 初始化swanlab
swanlab.init(
config={'epochs': 20, 'learning_rate': 0.01}, # 通过config参数保存输入或超参数
logdir="./logs", # 指定日志文件的保存路径
)
# 把模型训练的代码放到这里...
...
# 使用swanlab.log记录指标变化的数据
for epoch in range(1, swanlab.config.epoch):
swanlab.log({"loss": loss})
例如, 我们写1个模拟实验脚本:
import swanlab
import random
offset = random.random() / 5
run = swanlab.init(
experiment_name="Example",
description="这是一个机器学习模拟实验",
config={
"learning_rate": 0.01,
"epochs": 20,
},
logdir="./logs"
)
# 模拟机器学习训练过程
for epoch in range(2, run.config.epochs):
acc = 1 - 2**-epoch - random.random() / epoch - offset
loss = 2**-epoch + random.random() / epoch + offset
swanlab.log({"loss": loss, "accuracy": acc})
- 最后,打开终端,使用下面的指令,开启一个SwanLab仪表板:
$ swanlab watch -l ./logs
运行完成后,SwanLab会给你1个URL链接(默认是http://127.0.0.1:5092),查看链接,即可在浏览器看到你的第一个实验可视化结果。
入门教程
Python API
CLI API
技巧
通过以下用例学习如何更有效地使用SwanLab:
案例 | 介绍 |
---|---|
Hello World | 简单入门 |
MNIST | 基于神经网络的MNIST手写体识别(使用pytorch、swanlab库) |
图像分类 | ResNet50猫狗分类(使用pytorch、swanlab、Gradio库) 图文教程 |
文本生成 | 基于自然语言模型的文本生成 (RNN/LSTM/GRU/Transformer) |
微调UIE | 如何使用个人数据来微调UIE模型并通过swanlab监控训练过程 |
此项目当前的许可证协议是 Apache 2.0 License.