我注意到我保存到张量板日志文件中的图像数量无关紧要,张量板将只显示10个(每个标签)。
如何增加图像数量或至少选择显示哪些图像?
为了重现我的意思,请在MCVE之后运行:
import torch
from torch.utils.tensorboard import SummaryWriter
tb = SummaryWriter(comment="test")
for k in range(100):
# create an image with some funny pattern
b = [n for (n, c) in enumerate(bin(k)) if c == '1']
img = torch.zeros((1,10,10))
img[0, b, :] = 0.5
img =img + img.permute([0, 2, 1])
# add the image to the tensorboard file
tb.add_image(tag="test", img_tensor=img, global_step=k)
这将创建一个文件夹runs
,用于保存数据。在同一文件夹中执行tensorboard --logdir runs
,打开浏览器并转到localhost:6006
(或将6006
替换为启动后会出现的端口张量板)。然后转到名为“图像”的标签,并将滑块移至灰度图像上方。
就我而言,它仅显示步骤
中的图像k = 3, 20, 24, 32, 37, 49, 52, 53, 67, 78
这甚至不是一个很好的均匀间距,但是看起来很随机。我希望拥有
我该如何实现?
编辑:我刚刚找到选项--samples_per_plugin
,并尝试了tensorboard --logdir runs --samples_per_plugin "images=100"
。这确实增加了图像的数量,但是只显示了来自步骤k = 0,1,2,3....,78
的图像,而没有显示来自78
上方的图像。
答案 0 :(得分:0)
您可能需要等待更长的时间才能等待所有数据的加载,但这确实是正确的解决方案,请参见--help
:
-samples_per_plugin:plugin_name = num_samples对的可选逗号分隔列表,用于显式指定多少个样本 为该插件保留每个标签。对于未指定的插件,TensorBoard 将记录的摘要随机下采样到合理值以防止 长时间运行的作业的内存不足错误。该标志允许罚款 控制下采样。请注意,0表示保留所有 这种类型。例如,“标量= 500,图像= 0”保留500个标量,而 所有图片。大多数用户不需要设置此标志。 (默认:“”)
关于随机样本:这也是事实,它来自FAQ:
我的数据是否已下采样?我真的看到所有数据了吗?
TensorBoard使用reservoir sampling对数据进行降采样,以便对其进行采样 可以加载到RAM中。您可以修改元素数量 将每个标签保存在tensorboard / backend / application.py中。