3

假设我想要在 TensorBoard 中绘制一个通用散点图,该散点图绘制batch[:, 0], batch[:, 1]每个时代的第一个。

如何在 TensorBoard 中做到这一点?

一个类似的老问题(2017 年 1 月)有一个解决方法,但我希望我们现在(2020 年 12 月)拥有真正解决方案的技术。

我的尝试还不够:

if self._current_epoch == 0:
    self.logger.experiment.add_scalars("epoch", {"batch": batch[:, 1]}, batch[:, 0])

给了我奇妙的错误

assert(scalar.squeeze().ndim == 0), '标量应该是 0D'

4

1 回答 1

1

如果我正确理解您的问题,您可以使用add_images,add_figure将图像或图形添加到张量板(文档)。

示例代码:

from torch.utils.tensorboard import SummaryWriter
import numpy as np
import matplotlib.pyplot as plt

# create summary writer
writer = SummaryWriter('lightning_logs')

# write dummy image to tensorboard
img_batch = np.zeros((16, 3, 100, 100))
writer.add_images('my_image_batch', img_batch, 0)

# write dummy figure to tensorboard
plt.imshow(np.transpose(img_batch[0], [1, 2, 0]))
plt.title('example title')
writer.add_figure('my_figure_batch', plt.gcf(), 0)
writer.close()
于 2022-01-14T09:42:34.523 回答