mindspore.dataset.dataloader.DataLoader
- class mindspore.dataset.dataloader.DataLoader(dataset, batch_size=1, shuffle=None, 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=None, persistent_workers=False, in_order=True)[源代码]
数据加载器为给定的数据集提供迭代器。
它支持可随机访问和可迭代类型的数据集,支持单进程或多进程数据加载。
- 参数:
dataset (Dataset) - 要从中加载数据的数据集。
batch_size (Union[int, None], 可选) - 每个 mini-batch 的样本数量。如果为
None
,则不进行批处理。默认值:1
。shuffle (Union[bool, None], 可选) - 是否打乱数据集。默认值:
None
,不打乱。sampler (Union[Sampler, Iterable, None], 可选) - 要使用的采样器。默认值:
None
,如果 shuffle 为False
则使用SequentialSampler
,否则使用RandomSampler
。batch_sampler (Union[Sampler[List], Iterable[List], None], 可选) - 要使用的批采样器。默认值:
None
,如果 batch_size 不为None
则生成内置BatchSampler
。num_workers (int, 可选) - 执行数据加载的工作进程数。默认值:
0
,使用主进程加载。collate_fn (Union[_CollateFnType, None], 可选) - 要使用的整理函数。默认值:
None
,使用默认整理函数。pin_memory (bool, 可选) - 是否将数据拷贝到锁页内存。默认值:
False
。drop_last (bool, 可选) - 是否丢弃最后一个不完整的 Batch 。默认值:
False
。timeout (float, 可选) - 等待工作进程处理数据的超时时间。默认值:
0.
,永久等待。worker_init_fn (Union[Callable[[int], None], None], 可选) - 要使用的工作进程初始化函数。默认值:
None
,不执行任何操作。multiprocessing_context (Union[multiprocessing.context.BaseContext, str, None], 可选) - 要使用的多进程上下文。默认值:
None
,使用mindspore.multiprocessing
。generator (Union[Generator, None], 可选) - 要使用的随机生成器。默认值:
None
,使用默认生成器。
- 关键字参数:
prefetch_factor (Union[int, None], 可选) - 工作进程预取样本数。默认值:
None
,当 num_workers 大于0
时使用2
。persistent_workers (bool, 可选) - 是否在迭代数据集完成后保持工作进程存活。默认值:
False
。in_order (bool, 可选) - 在多进程加载时是否保持样本顺序。默认值:
True
。