本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com
本文展示pytorch中DataLoader的全部入参,
并对每个入参进行简要说明,以方便使用时进行查阅
本节展示DataLoader的全部入参,并对每个入参进行简要说明
1.DataLoader参数说明
DataLoader的完整入参如下:
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, *, prefetch_factor=2,
persistent_workers=False)
各个参数的意义如下:
1. dataset :数据集
2. batch_size :每批数据的包含的样本个数,默认为1
3. shuffle :是否将dataSet的数据打乱再装载到DataLoader,为True时则打乱
4. sampler :采样器,用于指定DataLoader如何在DataSet中采样
在设定了sampler时,shuffle是无效的
5. batch_sampler :批采样器,用于指定DataLoader每批数据具体是如何在DataSet中采样的,
在设定了batch_sampler时,sampler与shuffle是无效的
6. num_workers :数据加载的子流程数量
0表示将在主进程中加载数据(默认值:0)
7. collate_fn :批数据装载时的回调函数,collate_fn 的入参为当前批的数据,出参为返回的批数据
8. pin_memory :是否锁定内存
9. drop_last :是否删掉最后一个数据批次
例如101个样本,每批10个,那最后一批只有1个样本,drop_last为True时,将丢弃它
10. timeout :收集一批数据的超时时间,默认为0
11. worker_init_fn :每个worker子进程在加载数据前独立调用的函数
12. prefetch_factor :加载器预备缓冲区Size系数,2代表总的预备缓冲区大小为2*num_workers*批数据大小
13. persistent_workers:如果设为True,worker子进程将成为常驻进程,不会每次用完就关掉
本节展示在使用DataLoader时如何获取一些常用属性
1. DataLoader的常用属性
(1).DataLoader共有多少批数据?
方法:len(dataloader)
(2).DataLoader每批数据有多少个样本?
方法:dataloader.batch_size
参考文献
pytorch官方关于DataLoader的说明: https://pytorch.org/docs/stable/data.html#torch.utils.data.DataLoader
collate_fn 的使用: https://blog.csdn.net/qq_35812205/article/details/120794077
关于pin_memory:https://zhuanlan.zhihu.com/p/561544545
好了,以上就是pytorch的DataLoader的参数详细说明了~
End