使用wandb可视化实验结果

357 阅读1分钟

wandb简介


wandb是一个优秀的实验可视化平台,其具备[官方文件](https://docs.wandb.ai/)支持友好、易于上手等优点。

下面是在我们的实验中,用到的deom:

​ 首先,安装wandb,在终端将wandb与自己的api key做绑定

pip install wandb
wandb.login() # 这里会提示在哪里找到api,将找到的api粘贴到终端回车即可

​ 然后在自己的代码中添加下面的代码:

import wandb

wb = wandb.init(project='icd_code_experiment',
                    notes="My first experiment",
                    tags=["baseline", "threshold"],
                    config=args)
             
             
wb.log({'batch_loss': batch_loss}) # 添加日志示例
wb.log({'epoch_loss': epoch_loss})


wandb.finish()

之后在网页端就可以看到wandb画出的精美图片了,下面是一些例子:

image.png

关于wandb网页端的应用,还有很多丰富的内容,另外,wandb还对大模型提示训练做了专门的支持,教程链接在这里:docs.wandb.ai/guides/prom…, wandb官方还给出了许多绘图demo,点击run the code可以运行示例代码,方便更快上手。

wandb画精美的论文图

wandb不仅可以可视化实验过程,还可以画出能够直接用于论文的精美图片,以下是一些例子:

import wandb
import numpy as np
import  random
import math

wb = wandb.init(project='Learn_Wandb',
                        notes="Learn Wandb",
                        tags=['learn_wandb'],
                        name='learn_wandb',
                        config=None)


offset = random.random()
data = []
for i in range(100):
    data.append([i, random.random() + math.log(1 + i) + offset + random.random()])


table = wandb.Table(data=data, columns=["step", "height"])

line_plot = wandb.plot.line(table, x='step', y='height', title='Line Plot')
histogram = wandb.plot.histogram(table, value='height', title='Histogram')
scatter = wandb.plot.scatter(table, x='step', y='height', title='Scatter Plot')

wandb.log({'line_1': line_plot, 
            'histogram_1': histogram, 
            'scatter_1': scatter})


wb.finish()
 

这个demo对应的图片为:

image.png

image.png

image.png