GPU Memory-Usage拉满,Volatile GPU-Util却为0的问题

使用PyTorch训练模型时竟然没有听见服务器的响声(震惊!)而且训练速度特别慢,所以查看了一下GPU的利用率,发现是0%!!!经过各种查之后终于找到了问题所在:
原来pytorch加载数据是要将数据从CPU中处理,然后送到GPU中,GPU拥有非常块的计算能力,但是受限于带宽,CPU送入的数据远远达不到GPU满载的需要。就像你给个一口能吃5个馒头的大胖子,一次只给吃指甲盖大小的馒头,根本感受不到好吧!所以为了解决这个问题,有两种办法:
1、几个人同时喂这个胖子。也就是把DataLoader中的num_works设置的大一点,eg.4,8,16…
2、把所有馒头都给胖子,让他自己吃。对应的就是把DataLoader中的pin_memory设为True,把数据映射到GPU中,这样就没有了搬运的过程,但是要求GPU有足够的空间。

  • 7
    点赞
  • 0
    评论
  • 10
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值