P14 torchvision数据集的使用
CIFAR10数据集介绍
https://www.cs.toronto.edu/~kriz/cifar.html
The CIFAR-10 dataset consists of 60000 32x32 colour images in 10 classes, with 6000 images per class. There are 50000 training images and 10000 test images.
import torchvision
train_set=torchvision.datasets.CIFAR10(root="./dataset",train=True,download=True)
test_set=torchvision.datasets.CIFAR10(root="./dataset",train=False,download=True)
print(test_set[0]) #3 是指target
print(test_set.classes)
img,target=test_set[0] #测试集中的第一个数据
print(img)
print(target) #显示类别class
img.show() #展示图片
- 转成tensor使用tensorboard查看图片
import torchvision
from torch.utils.tensorboard import SummaryWriter
dataset_transform=torchvision.transforms.Compose([torchvision.transforms.ToTensor()]) #转成tensor 使用tensorboard查看
train_set=torchvision.datasets.CIFAR10(root="./dataset",train=True,transform=dataset_transform,download=True)
test_set=torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=dataset_transform,download=True)
# print(test_set[0]) #3 是指target
# print(test_set.classes)
# img,target=test_set[0] #测试集中的第一个数据
# print(img)
# print(target) #显示类别class
# img.show() #展示图片
print(test_set[0])
writer=SummaryWriter("P10")
for i in range(10): #查看前十张图片
img,target=test_set[i]
writer.add_image("test_set",img,i)
writer.close()
P15 dataloader的使用
dataloader取数据的方式(打包,随机…)
import torchvision
from torch.utils.data import DataLoader
test_data=torchvision.datasets.CIFAR10("./dataset",train=False,transform=torchvision.transforms.ToTensor())
test_loader=DataLoader(test_data,batch_size=4,shuffle=True,num_workers=0,drop_last=False) #num_workers进程数 drop_last最后不够分batch时是否舍弃 shuffle是否洗牌
img,target=test_data[0] #测试集中的第一张图片及target
print(img.shape)
print(target)
for data in test_loader:
imgs,targets=data
print(imgs.shape)
print(targets)
使用tensorboard查看
writer=SummaryWriter("dataloader")
step=0
for data in test_loader:
imgs,targets=data
writer.add_images("test_data",imgs,step)
step=step+1
# print(imgs.shape)
# print(targets)
writer.close()