Pytorch学习(六)Dataset, DataLoader,Sampler的理解

1. Dataset

Dataset表示的是静态的数据集,DataLoader的侧重点在于Loader加载器,将Dataset中的数据按照一定的规则加载到神经网络中

2. DataLoader用法详解

DataLoader类涉及到的参数如下:

torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, 
collate_fn=None, pin_memory=False, drop_last=False, timeout=0, worker_init_fn=None, multiprocessing_context=None, 
generator=None, *, prefetch_factor=2, persistent_workers=False)
  • dataset: 指的是待加载的数据集
  • batch_size: 每次加载数据集中的几个sample
  • shuffle: 是否打乱(每个batch的)顺序,默认值是False,但通常我们会设置为True
  • num_workers: 加载数据是是否采用多进程,采用多进程的话,加载数据更快。默认值为0,即使用主进程来加载数据。
    但在有些情况下,比如在windows系统中,num_workers>0可能会出现问题,如果出现错误BrokenPipeError的话,可以考虑把num_workers设置为0.
  • drop_last: 是否将最后一个不能被整除的batch的数据社区,比如对于35张图片,batch_size=8,那么35%8=3,如果drop_last=Ture,那么将不使用最后3张图片来训练模型。

你可能感兴趣的:(Pytorch系列学习,Python,深度学习与神经网络,pytorch)