发布于 3年前

Pytorch Dataloader的num_workers设置建议

Dataloader 参数设置示例:

Dataloader(dataset, num_workers=8, pin_memory=True)

Dataloader的num_worker设置多少才合适,这个问题是很难有一个推荐的值。有以下几个建议:

  1. num_workers=0表示只有主进程去加载batch数据,这个可能会是一个瓶颈。
  2. num_workers = 1表示只有一个worker进程用来加载batch数据,而主进程是不参与数据加载的。这样速度也会很慢。
  3. num_workers>0 表示只有指定数量的worker进程去加载数据,主进程不参与。增加num_works也同时会增加cpu内存的消耗。所以num_workers的值依赖于 batch size和机器性能。
  4. 一般开始是将num_workers设置为等于计算机上的CPU数量
  5. 最好的办法是缓慢增加num_workers,直到训练速度不再提高,就停止增加num_workers的值。
©2020 edoou.com   京ICP备16001874号-3