Pytorch学习笔记(二)
一、Torchvision数据集
数据集可以在Pytorch官网上下载
1、torchvision.datasets
参数:
root(数据集存放在什么位置)
train(数据集是训练集还是测试集,输入为bool类型)
transform(对数据集当中的所有数据进行什么样的变换 )
target_transform
download(是否在网上下载数据集,输入为bool类型,如果数据集下载慢可以使用迅雷下载,下载链接可以打开数据集的官方文档进行查看,下载后将数据集放在dataset里面,此时download仍然为True以便对数据集进行检验以及解压)
train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True, download=True) #在当前目录下创建一个dataset的文件夹,将下载的训练集放在文件夹中
test_set = torchvision.datasets.CIFAR10(root="./dataset", train=False, download=True) #下载测试集放在dataset文件夹中
将数据集进行transform
dataset_transform = torchvision.transforms.Compose([torchvision.transforms.ToTensor()]) #后面可以根据需要添加其他的transform
train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True,transform=dataset_transform, download=False) #对一整个训练集进行transform
test_set = torchvision.datasets.CIFAR10(root="./dataset", train=False,transform=dataset_transform, download=False) #列表中已经下载过数据集就不需要下载了
#用SummaryWriter可视化
writer = SummaryWriter("p10")
for i in range(10):
img, target = test_set[i]
writer.add_image("test_set", img, i)
writer.close()
二、DataLoader
之前只是简单介绍了一下dataloader并没有说明怎么使用dataloader,这里介绍一下他的用法
#准备测试集
test_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor()) #返回值为img,target
test_loader = Dataloader(dataset=test_data, batch_size=64, shuffle=True, num_workers=0, drop_last=False)
#将dataset中的图片4个为一组进行打包,打包时将img,target分别打包,shuffle参数为是每轮打包数据的时候是否重新打乱顺序,drop_last参数是按batch_size一组一组打包后,剩余的数据是否drop
writer = SummaryWriter("dataloader")
step = 0
for data in test_loader:
imgs, target = data
writer.add_images("test_data", imgs, step)
step = step + 1
writer.close()
结束
到这儿基础的数据集的加载就结束了,所以这一节比较短,从下节开始学习神将网络的搭建!