如何在pytorch中实现DataLoader的加载以及数据可视化

1.DataLoader作用

dataset作为数据集,可以通过标签和索引查看数据集中对应的数据

dataloader作为加载器,可以将数据加载到对应模型中,从dataset中取数据,如何取,取多少等等这些过程,由dataloader中的参数决定

2.准备数据集:选取测试集,测试集数目相对较少,减少程序运行时间

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

test_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())
transform=torchvision.transforms.ToTensor():代表将图片从PIL类型转换为tensor类型,用于实现最后TensorBoard可视化数据展示

3.建立DataLoader加载器,设置相应参数

test_loader = DataLoader(dataset=test_data, batch_size=64, shuffle=True, num_workers=0, drop_last=True)
 相应参数
batch_size=64:代表每次从test_data中取64个数据,并且进行打包
shuffle=True:代表打乱数据集,每次都会以不同的顺序返回,在每个epoch中对整个数据集dataset进行shuffle重排,默认为False
num_workers=0:num_workers代表运行选取的是单进程还是多进程来加载数据;默认为0代表采用主进程来加载数据
drop_last=True:代表当你的数据集长度不能够整除你的batch_size时,选择是否舍去最后一个不完整的batch,为True代表舍去

4.使用SummaryWriter()实现TensorBoard数据可视化

writer = SummaryWriter("dataloader")
step = 0  
# 从test_loader中选取数据集data,其中data数据集是由dataloader加载器生成的以batch_size=64为单位的数据集
    for data in test_loader:
        imgs, targets = data # imgs、targets是由单个img、target的数据打包合成的,数量为64个
        writer.add_images("dataloader_test", imgs, step)
        step = step + 1
writer.close()

5.TensorBoard数据可视化

打开终端输入:tensorboard --logdir="dataloader"实现数据可视化

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