参考链接:官网
CLASStorch.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和一个sampler组合到一起,并且提供一个在dataset上的可迭代对象。
- dataset(Dataset)-从这个数据集里加载数据
- batch_size(int, optional)-每个batch里面加载多少样本(default:1)
- shuffle(bool, optional)-设置为True时,在每一个epoch都重新洗牌数据。
- sampler(Sampler or iterable, optional)-定义从数据集提取样本的策略,可以是任何带有__len__()实现的可迭代对象。如果sampler被指定了,那么shuffle一定不能被指定。
- batch_sampler(Sampler or iterable, optional)-像sampler一样,但是一次返回一批索引。与batch_size、shuffle、sampler和drop_last互斥。
- num_workers(int, optional)-使用多少子进程用于数据加载,0意味着使用主进程加载数据。(default:0)
- collate_fn(callable, optional)-合并样本列表形成一小批张量。当从map-style数据集中加载批量数据时,使用这个参数。
- pin_memory(bool, optional)-如果设置为True,数据加载器将会在返回张量之前,将它们复制到CUDA的固定内存中。如果你的数据元素是定制类型,或者返回定制类型的batch,请看下面的例子。
- drop_last(bool, optional)-若为True,当数据集大小不能被batch size整除时,丢掉最后不完整的batch;若为False,当数据集大小不能被batch size整除时,最后一个batch会小些。(default:false)
- timeout(numeric, optional) - if positive, the timeout value for collecting a batch from workers. Should always be non-negative. (default:
0
) - worker_init_fn(callable, optional)If not
None
, this will be called on each worker subprocess with the worker id (an int in[0, num_workers - 1]
) as input, after seeding and before data loading. (default:None
) - prefetch_factor(int, optional,keyword-only arg) - 每个进程提前加载的样本数,2意味着在所有的进程中总共有2*num_workers个样本提前获得。
- persistent_workers(bool, optional) - If
True
, the data loader will not shutdown the worker processes after a dataset has been consumed once. This allows to maintain the workers Dataset instances alive. (default:False
)