����λ�ã���ҳ > �����̳� > �̳� > ���ʹ�� Pytorch �е� DataSet �� DataLoader

���ʹ�� Pytorch �е� DataSet �� DataLoader

��Դ������������|��ʱ�䣺2024-10-30 09:48:34 |���Ķ���198��|�� ��ǩ�� a T S C ���ѧϰ �� �� |����������

���ʹ�����ݼ�DataSet�� �ڽ���DataLoader֮ǰ����Ҫ���˽����ݼ�DataSet��ʹ�á�Pytorch�м����˺ܶ��Ѿ������õ����ݼ�����pytorch��torchvision��torchtext��ģ����һЩ���͵����ݼ�������ͨ������������ʹ�á� ��CIFAR10 ���ݼ�Ϊ�����ĵ��Ѿ���

Pytorch�м����˴����Ѵ����õ����ݼ�����torchvision��torchtext��ģ���ж���һЩ���͵����ݼ����û�����ͨ�����������ز�ʹ����Щ���ݼ������磬CIFAR10 ���ݼ��Ѿ��������÷dz������ˡ�����Ҫע����� transform �������������������ͼ��ת��Ϊ����Ҫ�ĸ�ʽ�����罫PIL��ʽ��ͼ��ת��Ϊtensor��ʽ��ͼ��

ÈçºÎʹÓà Pytorch ÖÐµÄ DataSet ºÍ DataLoader

�ڽ��� DataLoader ֮ǰ����Ҫ���˽����ʹ�� DataSet��Pytorch �е�DataSet��һ���洢�������ݣ�����ͼ����Ƶ����������DataLoader ������һ�����и������ɹ��ܵ����������зָ������ܶ�С���䣬�����Լ��趨һ��С�����ж��ٸ����ݼ�����������ɣ�ÿ�ν����ݷŽ�����С�����ʱ��Ҫ��Ҫ��Դ���ݼ������ٽ������ɵȵȡ�

ÈçºÎʹÓà Pytorch ÖÐµÄ DataSet ºÍ DataLoader

������һ�����ݼ����û����Ծ�����δ����ݼ�������ȡ����������ѵ��������һ����ȡ����������Ϊһ�������������ݼ����зָ�����ݼ����зָ�֮ǰҪ��Ҫ�������ݼ��ȵȡ�DataLoader�Ľ������һ�������ݼ����зָ�Ĵ��ֵ��б����б��е�ÿ�������������õĶ��ٸ����ݼ��Ķ�����϶��ɵġ�

���ʹ�� DataLoader��

__getitem__����

������Ҫ������ __getitem__ ������__getitem__����Ϊħ����������Python�ж���һ�����ʱ�������Ҫͨ�������õ�������ֵ������Ҫ __getitem__ ������__getitem__ ���������þ����ڵ������ʱ���Զ������� __getitem__ ���������ݣ��ý�������ء�

    
        class Fib():
            def __init__(self,start=0,step=1):
                self.step=step
            def __getitem__(self, key):
                a = key+self.step
                return a
        s=Fib()
        s[1]
    

���磬��Pytorch�е�CIFAR10���ݼ��У����Կ���Դ���е� __getitem__ �����������ġ�

    
        def __getitem__(self, index: int) -> Tuple[Any, Any]:
            img, target = self.data[index], self.targets[index]
            img = Image.fromarray(img)
            if self.transform is not None:
                img = self.transform(img)
            if self.target_transform is not None:
                target = self.target_transform(target)
            return img, target
    

DataLoader �﷨

�û�������Pytorch��Documents�ĵ��в鿴DataLoader��ʹ�÷��������н��ܼ����Ƚϳ��õIJ��������� dataset��batch_size��shuffle��num_workers �� drop_last�����У�batch_size��ʾ�����ݼ�������һ����ȡ�������ݣ�shuffle��ʾ�Ƿ���ÿ�β�����ʱ��������ݼ���һ��ѡ��ΪTrue��num_workers��ʾ���߳̽�����ȡ���ݲ�����0��ʾֻ�����߳��в�����drop_last��ʾ�����ȡ�������������Ƿ������ʣ�µIJ��֡�

  • dataset�������û������ݼ������������ݼ�������뼴�ɡ�

  • shuffle���Ƿ���ÿ�β�����ʱ��������ݼ���һ��ѡ��ΪTrue��

  • num_workers: ���߳̽�����ȡ���ݲ�����0��ʾֻ�����߳��в�����

  • drop_last�������ȡ�������������Ƿ������ʣ�µIJ��֡�

���磬�ں���Ĵ����У�������� drop_last=False����ôһ����156��������ȡ���������һ��ʣ��IJ��ֲ��ᱻ������������� drop_last=True����ô���ʣ��IJ��ֱ�������������ȡ����Ҳ����һ�Ρ�

ÈçºÎʹÓà Pytorch ÖÐµÄ DataSet ºÍ DataLoader

ʹ�� DataLoader

����ʹ�õĴ������£�

    
        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())
        test_dataloader=DataLoader(dataset=test_data,batch_size=4,shuffle=True,num_workers=0,drop_last=True)
        writer=SummaryWriter("logs")
        step=0
        for data in test_dataloader:
            images,targets=data
            writer.add_images("test_03",images,step)
            step=step+1
        writer.close()
    

Ȼ�����ʹ��tensorboard�Ϳ���ֱ����ᵽ����ʹ�÷����ˡ�

С���Ƽ��Ķ�

�������������Ľ�Ϊ������Ϣ����������������ͬ���޹۵��֤ʵ��������

a 1.0
a 1.0
���ͣ���������������Ӫ״̬����ʽ��Ӫ�������ԣ����� ����

��Ϸ����

��Ϸ���

��Ϸ��Ƶ

��Ϸ����

��Ϸ�

��alittletotheleft������������һ��ܻ�ӭ����������������Ϸ����ҵ������Ƕ��ճ������еĸ���������

�����Ƶ����

����

ͬ������

����

ɨ��ά�����������ֻ��汾��

ɨ��ά����������΢�Ź��ںţ�

��վ�������������������ϴ��������ַ���İ�Ȩ���뷢�ʼ�[email protected]

��ICP��2022002427��-10 �湫��������43070202000427��© 2013~2025 haote.com ������