【教程】如何下载WandB平台的运行数据?
前言
CSDN主页:https://blog.csdn.net/rvdgdsva
博客园主页:https://www.cnblogs.com/hassle
Weights & Biases (WandB)是一个用于机器学习的平台,它提供了一套工具来帮助你跟踪、比较和分析你的机器学习实验。它不仅仅是一个实验跟踪器,更是一个完整的MLOps平台,涵盖了从实验管理到模型部署的各个方面。通过简化实验跟踪、提供高效的超参数搜索、方便的模型版本管理和强大的可视化工具,极大地提高了机器学习开发效率,减少了调试和分析的时间成本,让机器学习实验变得更加高效和可控。 它尤其适合团队合作的项目,方便团队成员共享实验结果和模型。
WandB使用教程
这个平台偶尔会抽风,把我的数据给吞掉,已经被吞掉两三次了,但是它的可视化真的好用。
我养成了即刻上传、即刻下载数据的良好习惯,防患于未然
问题描述
用过WandB的都知道有两种数据同步方式,分别是online 和 offline 模式
在 online 模式下,WandB 会实时将你的实验数据(例如,损失函数、指标、模型权重等)上传到 WandB 的服务器。这意味着你可以随时在 WandB 的网页界面上查看你的实验进度和结果。 你需要保持网络连接才能使用此模式。
在 offline 模式下,WandB 不会将数据上传到服务器。所有数据都会保存在本地。 这对于没有网络连接的环境(例如,某些计算集群或离线机器)非常有用。 你可以稍后通过 wandb sync
命令将本地数据上传到服务器。
但是在offline 模式下保存的是后缀名为wandb的文件,不方便后续处理。
获取WandB数据方式
如果你是 online 模式,可以直接进行下面的步骤;如果你是offline 模式,先把数据上传到WandB网站后再进行下面的步骤,详情WandB使用教程
注意,需要外网环境
在【3】里面的命令行窗口运行下面的程序,获取wandb网站上的项目运行数据记录
import wandb
import pandas as pd# 初始化 W&B 运行
run = wandb.init()api = wandb.Api()# 获取运行数据
run_path = "用户名/项目名称/runs/运行代号"
run = api.run(run_path)# 获取历史数据
history = run.history(keys=None, samples=10000)# 将历史数据转换为 DataFrame
df = pd.DataFrame(history)# 保存为 CSV 文件
df.to_csv('wandb_history_data.csv', index=False)print("数据已成功导出到 wandb_history_data.csv")
注意,这里的samples=10000表示最少返回10000行数据,有时候没有设置这个的话,可能只会返回几百行数据。
run_path = "用户名/项目名称/runs/运行代号"
这里的填写需要参考对应项目的网址