DataLoader¶
- class DataLoader(dataset, sampler=None, transform=None, collator=None, num_workers=0, timeout=0, timeout_event=raise_timeout_error, divide=False, preload=False)[源代码]¶
可用于在给定数据集上遍历并取得数据。
DataLoader 将数据集与
Sampler
,Transform
和Collator
组合在一起,使其可以灵活地从数据集中连续获取小批量数据。- 参数
dataset (
Dataset
) – 需要从中分批加载的数据集。num_workers (
int
) – 加载、转换和整理批次的子进程数量。0
表示使用单进程。 默认:0timeout (
int
) – 如果为正,则表示从 worker 那里收集批次的超时值(秒)。 默认:0timeout_event (
Callable
) – 超时触发的回调函数,默认引发运行时错误。divide (
bool
) – 定义多进程模式下的并行策略。True
表示一个批次被分成num_workers
块,worker 将并行处理这些块。False
表示不同的子进程会处理不同的批次。 默认:Falsepreload (
bool
) – 定义是否应用 dataloader 的预加载策略,并在 kernel 执行时并行化 host2device 以提高加载速度。 默认设置为 False,输出将从 np.ndarry 更改为 dtype 张量。 预加载支持的 dtype 是 int,float,list[int,float],tuple[int,float],不支持其他类型。