torchvision中的数据集使用和DATALODAER使用

import torchvision
from torch.utils.tensorboard import SummaryWriter

data_transform = torchvision.transforms.Compose([torchvision.transforms.ToTensor()])
train_set = torchvision.datasets.CIFAR10(root="./datasets", transform=data_transform, train=True, download=True)
test_set = torchvision.datasets.CIFAR10(root="./datasets", transform=data_transform, train=False, download=True)

writer = SummaryWriter("logs")
for i in range(10):
    img, target = test_set[i]
    writer.add_image("test_img", img, i)

writer.close()

如何去下载和使用一些标准的数据集呢?

首先,可以根据pytorch的官网里面有各个数据集使用的介绍,主要就是用到了torchvision视觉相关的数据集如COCO等,如上述代码我我们加载了CIFAR10的数据集,CIFAR10是一个类,第一个参数为root主要是指定数据集存放的路径,第二个参数是,transfroms类型,主要是对加载后的数据集金进行怎么样的transfrom,第三个参数是指定你要获取的是数据集里面的训练集,还是测试集,第四个参数是要不要进行下载,第一次加载该数据集肯定要进行下载的,之后默认TURE即可。

我们也可以进行断点,然后debug,查看它的一些属性。

DATALOADER的使用:

        dataloader相当于是对数据集进行一个抓取的作用,对整个数据集进行设置batchsize为每个batch进行处理,相当于数据集是一副牌,而dataloader的作用就是如何对这副牌进行发牌。

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

test_set = torchvision.datasets.CIFAR10(root="./datasets", train=False, transform=torchvision.transforms.ToTensor())
test_loader = DataLoader(dataset=test_set, batch_size=64, shuffle=True, num_workers=0, drop_last=False)
# img, target = test_set[0]
# print(img.shape)
# print(target)
writer = SummaryWriter("logs")
for epoch in range(2):
    step = 0
    for data in test_loader:
        imgs, targets = data
        # print(imgs.shape)
        # print(targets)
        writer.add_images("epoch{}".format(epoch), imgs, step)
        step = step + 1

writer.close()

首先DATALOADER是一个类,其初始化方法包含很多的参数,主要参数有数据集的指定,batch_size的大小,shuffle参数是决定在每个epoch抓取数据时,顺序是否一样,如果TURE表示每次抓取的顺序不同,也就是随机打乱,num_workers时关于线程的一个参数,一般设置为0,drop_last表示是否丢弃最后不满足batch_size大小的那些图片,Ture表示丢弃

通过上诉操作我们对,数据集进行了batch_size的划分,以及每个epoch的划分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值