因为dataset中的getitem方法是返回img,target,
所以 DataLoader(batch_size=4)取出了dataset中的4个数据
img0,target0 = dataset[0]
img1,target1 = dataset[1]
img2,target2 = dataset[2]
img3,target3 = dataset[3]
然后DataLoader将img0-3,target0-3分别打包成imgs和targets进行返回
那么我们怎么取出这些返回呢?
利用for循环
代码如下:
from torch.utils.data import DataLoader
import torchvision
dataset_transform = torchvision.transforms.Compose([
torchvision.transforms.ToTensor()
])
train_set = torchvision.datasets.CIFAR10(root="./dataset",train=True,transform=dataset_transform,download=False)
test_set = torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=dataset_transform,download=False)
test_loader = DataLoader(test_set,batch_size=4,shuffle=True,num_workers=0,drop_last=False)
for data in test_loader:
imgs,targets = data
print(imgs.shape)
print(targets)