1

我正在使用库权重和偏差。我的模型输出曲线(时间序列)。我想看看这条曲线在整个训练过程中是如何变化的。所以,我需要某种滑块,我可以在其中选择纪元,它会显示该纪元的曲线。它可能与使用直方图所做的非常相似(它显示跨时期的直方图图像,当您将鼠标悬停时,它会显示与该时期相对应的直方图)。有没有办法做到这一点或使用类似的东西wandb

目前我的代码如下所示:

for epoch in range(epochs):
   output = model(input)
   #output is shape (37,40) (lenght 40 and I have 37 samples)
   #it's enough to plot the first sample
   xs = torch.arange(40).unsqueeze(dim=1)
   ys = output[0,:].unsqueeze(dim=1)
   wandb.log({"line": wandb.plot.line_series(xs=xs, ys=ys,title="Out")}, step=epoch)

我会很感激任何帮助!谢谢!

4

1 回答 1

3

您可以wandb.log()与 matplotlib 一起使用。使用 matplotlib 创建绘图:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 50)
for i in range(1, 4):
    fig, ax = plt.subplots()
    y = x ** i
    ax.plot(x, y)
    wandb.log({'chart': ax})

然后,当您在 wandb 仪表板上查看运行时,您将看到该图呈现为 plotly plot。单击左上角的齿轮可查看一个滑块,可让您滑过训练步骤并查看每个步骤的图。

于 2021-05-07T22:35:00.467 回答