Tensorboard不显示全部图像

文章讲述了用户在使用TensorBoard时遇到图像显示不全的问题,通过调整`--samples_per_plugin`参数设置,解决了默认采样导致的显示不完整步骤的问题,确保了所有步骤的图像都被显示出来。
摘要由CSDN通过智能技术生成


Tensorboard不显示全部图像,我看了b站一个up主的视频链接如下

Dataloader的使用–up主小土堆

但是其中用tensorboard 显示图片我发现显示不全,因为step是跳着的代码如下

import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

dataset_transform = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()
])

# 准备的测试数据集
test_dataset = torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=dataset_transform,download=True)

#batch_size:每次取多少个数据进行打包
# 参数shuffle true则随机抽取数据
# num_workers=0 是只使用主进程,不使用多进程方式读取数据,window 下使用多进程方式可能会报错
# drops_last是如果dataset内的样本个数不能被batch_size整除,true:舍弃最后不能被整除的数据,false:不舍弃最后的少部分数据(最后读取的一批数据数量比较少)

test_loader = DataLoader(dataset=test_dataset,batch_size=64,shuffle=False,num_workers=0,drop_last=False)

# 测试数据集中第一张图片
img,target = test_dataset[0]
print(img.shape)
print(target)
print(len(test_dataset))
step = 0
writer = SummaryWriter("dataloader_logs")
for data in test_loader:
    images, targets = data
    # print(imgs.shape)
    # print(targets)
    writer.add_images("test_data", images, step)
    print(step)
    step += 1

writer.close()

然后显示的图片如下
​可以发现step从3 开始,然后拉动这个拖动条,第二个step是24非常奇怪
在这里插入图片描述
我在命令行输入tensorboard --help 查询到了有个参数叫samples_per_plugin介绍如下:

–samples_per_plugin:
SAMPLES_PER_PLUGIN
An optional comma separated list of plugin_name=num_samples pairs to explicitly specify how many samples to keep per tag for that plugin. For unspecified plugins, TensorBoard randomly downsamples logged summaries to reasonable values to prevent out-of-memory errors for long running jobs. This flag allows fine control over that downsampling. Note that if a plugin is not specified in this list, a plugin-specific default number of samples will be enforced. (for example, 10 for images, 500 for histograms, and 1000 for scalars). Most users should not need to set this flag.

大概意思就是说没有指定这个参数的话,就会默认对你显示的样本进行采样,而不是显示所有的样本
所以如果要显示所有图片需要设置这个参数,我的命令如下

tensorboard --logdir=dataloader_logs --port=6007 --samples_per_plugin=images=10000

这里的10000我测试了应该是你想显示多少步,而不是显示多少张图片,当我设置了20的时候,他抽取了20个step的状态显示,如果你要显示全部的step只需要将这个数设置为大于step最终值就行。(错了勿喷)

结果:
现在可以显示所有的step了
step1:
在这里插入图片描述
step2:
在这里插入图片描述

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值