PyTorch - 33 - PyTorch DataLoader Num_workers - 深度学习速度限制增加

Speeding Up The Training Process

为了加快培训过程,我们将使用DataLoader类的num_workers可选属性。

num_workers属性告诉数据加载器实例要用于数据加载的子进程数。 默认情况下,num_workers值设置为零,零值告诉加载程序在主进程内部加载数据。

这意味着培训过程将在主要过程中按顺序进行。 在训练过程中使用了一批并且需要另一批之后,我们从磁盘读取了批数据。

现在,如果我们有一个工作进程,我们就可以利用我们的机器具有多个内核的事实。 这意味着在主流程准备好另一个批次时,已经可以加载下一个批次并准备好运行。 这就是速度的来源。 批处理使用其他工作进程加载,并在内存中排队。

Optimal Value For The num_workers Attribute

随之而来的自然问题是,我们应该添加多少个工人流程? 这里有很多因素会影响最佳数量,因此找出答案的最佳方法是进行测试。

Testing Values For The num_workers Attribute

要设置此测试,我们将创建一个num_workers值列表以进行尝试。 我们将尝试以下值:

  1. 0(默认)
  2. 1
  3. 2
  4. 4
  5. 8
  6. 16

对于这些值中的每一个,我们将通过尝试以下值来更改批量大小ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值