为什么tensorboard显示的图像不完整
import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
test_data = torchvision.datasets.CIFAR10(root="../torvision/dataset_test", train=False,transform=torchvision.transforms.ToTensor())
test_loader = DataLoader(test_data, batch_size=64, shuffle=False, num_workers=0, drop_last=False)
writer = SummaryWriter("loader_log")
step = 0
for data in test_data:
img, target = data
writer.add_image("test_data", img, step)
step += 1
step_2 = 0
for data_2 in test_loader:
img_2, target_2 = data_2
writer.add_images("test_loader", img_2, step_2)
step_2 += 1
writer.close()
data_loader 应显示 64 张图像
test_data
,迭代数据集并单独添加每个图像,并为每个图像添加唯一的标签。
test_loader
,迭代数据加载器并使用 add_images 将整批图像添加为网格。
import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
test_data = torchvision.datasets.CIFAR10(root="../torvision/dataset_test", train=False, transform=torchvision.transforms.ToTensor())
test_loader = DataLoader(test_data, batch_size=64, shuffle=False, num_workers=0, drop_last=False)
writer = SummaryWriter("loader_log")
# Add images from the test_data one by one
for i, (img, target) in enumerate(test_data):
writer.add_image(f"test_data/{i}", img, i)
# Add images from the test_loader as batches
for i, (batch_img, batch_target) in enumerate(test_loader):
writer.add_images("test_loader", batch_img, i)
writer.close()