pytorch训练过程中的chunk_size及num_workers

pytorch训练过程中的chunk_size及num_workers作用。

Chunk_size:涉及到torch下的矩阵切片和划分,chunk_size有几个元素就占用几张显卡。

num_workers:多进程提取数据,用于dataloader

DataLoader(dataset, batch_size=1, shuffle=False, sampler=None,

num_workers=0, collate_fn=default_collate, pin_memory=False,

drop_last=False)

 

1.  dataset:加载的数据集(Dataset对象)

2.  batch_size:batch size

3.  shuffle::是否将数据打乱

4.  sampler: 样本抽样,后续会详细介绍

5.  num_workers:使用多进程加载的进程数,0代表不使用多进程

6.  collate_fn: 如何将多个样本数据拼接成一个batch,一般使用默认的拼接方式即可

7.  pin_memory:是否将数据保存在pin memory区,pin memory中的数据转到GPU会快一些

8.  drop_last:dataset中的数据个数可能不是batch_size的整数倍,drop_last为True会将多出来不足一个batch的数据丢弃

 

增加多线程并不是提高了运算速度,而是解决运行多个任务时使用。程序一直在执行这个多线程的循环,非常非常耗时。

https://www.jianshu.com/p/98d3a23a2d6

你可能感兴趣的:(学习笔记,HIK实习,深度学习)