模型训练-----数据处理

 

参考链接:https://blog.csdn.net/lqz790192593/article/details/89762081
https://www.cnblogs.com/qyh1499816254/p/11356887.html

在DataLoader 中,iter(dataloader) 返回的是一个 DataLoaderIter 对象, 这个才是我们一直 next的 对象。
#
# 这个DataLoaderIter其实就是DataLoader类的__iter__()方法的返回值:

DataLoader()的各个参数含义如下:

1.  dataset:加载的数据集,这个从DataSet()函数而来。
2.  batch_size:batch size,设定每次训练迭代时加载的数据量。
3.  shuffle::是否将数据打乱
4.  sampler: 样本抽样
5.  num_workers:使用多进程加载的进程数,0代表不使用多进程,设定多进程可以使得加载数据时更加快速。
6.  collate_fn: 如何将多个样本数据拼接成一个batch,一般使用默认的拼接方式即可

7.  pin_memory:是否将数据(tensor)保存在pin memory区,pin memory中的数据转到GPU中会快一些
8.  drop_last:dataset中的数据个数可能不是batch_size的整数倍,drop_last为True会将多出来不足一个batch的数据丢弃,False表示不丢弃。

 

from multiprocessing import Queue

multiprocessing.Queue()

Queue([maxsize])
创建共享的进程队列。maxsize是队列中允许的最大项数。如果省略此参数,则无大小限制。底层队列使用管道和锁定实现。另外,还需要运行支持线程以便队列中的数据传输到底层管道中。

 

posted on 2020-10-10 21:21  cltt  阅读(165)  评论(0编辑  收藏  举报

导航