DataLoader
它是PyTorch中数据读取的一个重要接口,该接口定义在dataloader.py中,只要是用PyTorch来训练模型基本都会用到该接口(除非用户重写…),该接口的目的:将自定义的Dataset根据batch size大小、是否shuffle等封装成一个Batch Size大小的Tensor,用于后面的训练。
torch.utils.data.DataLoader( dataset,#数据加载 batch_size = 1,#批处理大小设置 shuffle = False,#是否进项洗牌操作 sampler = None,#指定数据加载中使用的索引/键的序列 batch_sampler = None,#和sampler类似 num_workers = 0,#是否进行多进程加载数据设置 collat??e_fn = None,#是否合并样本列表以形成一小批Tensor pin_memory = False,#如果True,数据加载器会在返回之前将Tensors复制到CUDA固定内存 drop_last = False,#True如果数据集大小不能被批处理大小整除,则设置为删除最后一个不完整的批处理。 timeout = 0,#如果为正,则为从工作人员收集批处理的超时值 worker_init_fn = None )
dataset(Dataset) - 从中??加载数据的数据集。
batch_size(int,optional) - 每个批次要加载的样本数量(默认值:)1。
shuffle(bool,optional) - 设置为True在每个重新调整数据(默认值:) False。
sampler(Sampler,optional) - 定义从数据集中绘制样本的策略。如果指定,shuffle必须是False。
batch_sampler(Sampler,optional) - like sampler,但一次返回一批索引。互斥有batch_size, shuffle,sampler,和drop_last。
num_workers(int,optional) - 用于数据加载的子进程数。0表示数据将加载到主进程中。(默认值:0)
collat??e_fn(callable ,optional) - 合并样本列表以形成一小批Tensor。从映射样式数据集使用批量加载时使用。
pin_memory(bool,optional) - 如果True,数据加载器会在返回之前将Tensors复制到CUDA固定内存中。如果您的数据元素是自定义类型,或者您collate_fn返回的是自定义类型的批处理,请参阅下面的示例。
drop_last(bool,optional) - True如果数据集大小不能被批处理大小整除,则设置为删除最后一个不完整的批处理。如果False且数据集的大小不能被批量大小整除,则最后一批将更小。(默认值:False)
timeout(数字,optional) - 如果为正,则为从工作人员收集批处理的超时值。应始终是非负面的。(默认值:0)
worker_init_fn(callable ,optional) - 如果没有None,则在播种后和数据加载之前,将在每个worker子进程上调用 this,并将worker id(int in )作为输入。(默认值:)[0, num_workers - 1]None
原文:https://www.cnblogs.com/oliyoung/p/pytorch_DataLoader.html