设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 文件
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

代码详解:用Pytorch训练快速神经网络的9个技巧(5)

发布时间:2019-08-19 04:12 所属栏目:21 来源:读芯术
导读:在Lightning中,通过将distributed_backend设置为ddp(分布式数据并行处理)并设置GPU的数量,这可以很容易实现。 #trainon4gpusonthesamemachineMUCHfasterthanDataParallel trainer=Trainer(distributed_backend='d

在Lightning中,通过将distributed_backend设置为ddp(分布式数据并行处理)并设置GPU的数量,这可以很容易实现。

  1. # train on 4 gpus on the same machine MUCH faster than DataParallel 
  2. trainer = Trainer(distributed_backend='ddp', gpus=[0, 1, 2, 3]) 

有关模型加速的思考和技巧

如何通过寻找瓶颈来思考问题?可以把模型分成几个部分:

  • 首先,确保数据加载中没有瓶颈。为此,可以使用上述的现有数据加载方案,但是如果没有适合你的方案,你可以把离线处理及超高速缓存作为高性能数据储存,就像h5py一样。
  • 接下来看看在训练过程中该怎么做。确保快速转发,避免多余的计算,并将CPU和GPU之间的数据传输最小化。最后,避免降低GPU的速度(在本指南中有介绍)。
  • 接下来,最大化批尺寸,通常来说,GPU的内存大小会限制批量大小。自此看来,这其实就是跨GPU分布,但要最小化延迟,有效使用大批次(例如在数据集中,可能会在多个GPUs上获得8000+的有效批量大小)。

但是需要小心处理大批次。根据具体问题查阅文献,学习一下别人是如何处理的!

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读