Pytorch学习(四)Dataloader

Dataloader()从Dataset当中取数据。可以通过参数设置。

num_wokers是否采用多线程,win系统一般只能设置为0.

drop_last,为true的话,则舍去最后的不能除的数据,为false则不舍去。

Pytorch学习(四)Dataloader_第1张图片

DataLoader是把所有img,target打包

输出DataLoader中的数据:

Pytorch学习(四)Dataloader_第2张图片

 

import torchvision

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

test_data = torchvision.datasets.CIFAR10("./datasets", train = False, transform = torchvision.transfoms.ToTensor())

test_loader = DataLoader(dataset = test_data, batch_size = 4, shuffle = True, num_worker = 0, drop_last = False)

# 测试集中第一张图片及其target
img, target = test_data[0]
print(img.shape)
print(target)

# 图片变为张量,可以使用tensorboard进行观察
writer = SummaryWriter("dataloader")
step = 0
for data in test_loader:
    #  每次打包的4张batch_size图片,变为一个张量
    imgs.targets = data
    # print(imgs.shape)     (4,3,32,32)
    # print(targets)        (3,4,7,8)

    writer.add_images(test_data", imgs, step)
    step = step + 1

你可能感兴趣的:(神经网络)