美文网首页
pytorch dataloader读取原理及加速方法

pytorch dataloader读取原理及加速方法

作者: 加油11dd23 | 来源:发表于2021-08-03 16:54 被阅读0次

    内容以后更

    https://www.cnblogs.com/pprp/p/14199865.html#5-data-prefetch
    https://zhuanlan.zhihu.com/p/66145913
    https://yey.world/2020/12/10/Pytorch-06/
    http://www.cxyzjd.com/article/rosefun96/87947590
    https://www.zhihu.com/question/307282137
    https://zhuanlan.zhihu.com/p/91521705
    https://www.cnblogs.com/ranjiewen/p/10128046.html
    https://cloud.tencent.com/developer/article/1090614
    https://yichengsu.github.io/2019/08/pytorch-with-big-dataset/

    pytorch dataloader 常年有一个多 worker 的问题,不知道楼主在用的时候有没有遇到。
    如果没有的话,一方面可以尝试着开更多的 worker 来并发读取。同时也可以把一些 transformation、data augmentation 放到 GPU 上做,减少 cpu 的压力。另外,是不是也要看看读取数据本身的 I/O 够不够快,比如本地的化,是不是放在了 hdd 上,是不是小文件然后经常执行 ls 操作等。

    线程数num_workers的选择其实是根据经验来的,网上的经验认为4比较合理。具体的参数选择最好是在训练中做下测试,找到最优性能的num_workers。另外克服GPU等待数据预处理的时间还有以下两种方式:
    1、预加载数据,设置pin_memory为True
    2、加快数据预处理逻辑,如果是CV领域,可以考虑使用NVIDIA DALI库将CPU操作转移到GPU上进行

    相关文章

      网友评论

          本文标题:pytorch dataloader读取原理及加速方法

          本文链接:https://www.haomeiwen.com/subject/rhdevltx.html