0
点赞
收藏
分享

微信扫一扫

设计模式:抽象工厂

DataLoader的使用

在这里插入图片描述

测试DataLoader,batch_size大小为4

import torchvision.datasets
from torch.utils.data import DataLoader

test_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())
test_loader = DataLoader(dataset=test_data, batch_size=4, shuffle=False, num_workers=0, drop_last=False)

# 测试数据集中第一张图片及target
img, target = test_data[0]
print(img.shape)  # 3通道, 32x32
print(target)

for data in test_loader:
    imgs, targets = data
    print(imgs.shape)
    print(targets)

在这里插入图片描述

将batch_size的大小改为64,创建日志文件

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

test_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())
test_loader = DataLoader(dataset=test_data, batch_size=64, shuffle=True, num_workers=0, drop_last=False)

# 测试数据集中第一张图片及target
img, target = test_data[0]
print(img.shape)  # 3通道, 32x32
print(target)

writer = SummaryWriter("dataloader")
step = 0
for data in test_loader:
    imgs, targets = data
    # print(imgs.shape)
    # print(targets)
    writer.add_images("test_data", imgs, step)
    step = step + 1

writer.close()

运行后,在文件目录中生成dataloader文件夹
在Terminal中输入:

tensorboard --logdir="learn_pytorch/dataloader"

在这里插入图片描述
点开链接,每一步为8x8张图片
在这里插入图片描述

drop_last的作用

最后一步为8x2张图片,这是由于最后一组图片不足64张,并且drop_last=False,这个参数表示最后一步不足batch_size大小时,仍然保留图片
在这里插入图片描述
若改为drop_last=True
最后一步为第155步,有8X8张图片,删掉了最后一组的图片
在这里插入图片描述
在这里插入图片描述

shuffle的作用

当重复运行两轮时,决定第一轮数据和第二轮数据是否一样

shuffle=False:一样

在这里插入图片描述
在这里插入图片描述

shuffle=True:不一样

在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论