PyTorch-DataLoader

DataLoader

功能 : 创建可以迭代的数据装载器
参数:

dataset : Dataset类对象, 决定数据从哪读取以及如何读取
batchsize: 决定数据批次大小 
num_works: 多进程读取数据的线程数
shuffle: 每个 epoch 是否乱序
当样本数不能被batchsize整除时, 是否舍去最后一个batch的数据

示例:每四张图片打包一次

import torchvision.datasets
from torch.utils.data import DataLoader
from torchvision import transforms
from torch.utils.tensorboard import SummaryWriter
img_tensor=transforms.ToTensor()
test_set=torchvision.datasets.CIFAR10("dataset2",train=False,transform=img_tensor)
test_loader=DataLoader(dataset=test_set,batch_size=4,shuffle=True,num_workers=0,drop_last=False)

for data in test_loader:
    img,target=data
    print(img.shape)
    print(target)

PyTorch-DataLoader_第1张图片
从上面可以看到,在size里,显示4张图片,然后是通道数,长与宽
tensor指的是target中指向事物的下标,例如,规定飞机是1,然后如果这个图片是飞机,就会显示1
示例:每64张图片一打包,然后l利用tensorboard可视化

import torchvision
from torch.utils.data import DataLoader
from torchvision import transforms
from torch.utils.tensorboard import SummaryWriter
img_tensor=transforms.ToTensor()
test_data=torchvision.datasets.CIFAR10("dataset2",train=False,transform=img_tensor)
test_loader=DataLoader(dataset=test_data,batch_size=64,shuffle=True,num_workers=0,drop_last=True)
writer=SummaryWriter("logs")
step=0
for data in test_loader:
    imgs,targets=data
    writer.add_image("test",imgs,step,dataformats='NCHW')
    step+=1
writer.close()

PyTorch-DataLoader_第2张图片

你可能感兴趣的:(PyTorch,pytorch,深度学习,python)