模型训练时GPU利用率太低的原因及解决

 更新时间:2023年02月22日 08:55:07   作者:. 小王同学.  
这篇文章主要介绍了模型训练时GPU利用率太低的原因及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

模型训练时GPU利用率太低的原因

最近在训练SSD模型时发现GPU的利用率只有8%,而CPU的利用率却非常高。

后来了解到,一般使用CPU进行数据的读取和预处理,而使用GPU进行模型的正向传播和反向传播。由于CPU数据读取跟不上(读到内存+多线程+二进制文件),而GPU的处理速度太快,导致GPU的利用率不高。

最后总结一下,有的时候模型训练慢并不是因为显卡不行或者模型太大,而是在跑模型过程中有一些其他的操作导致速度很慢,尤其是文件的IO操作,这会导致GPU得不到连续性使用,整体速度特别慢。

问题的解决办法

1,关闭一些日志记录,减少日志IO操作频率。

2,NVIDA提供了DALI库,可以将数据处理转移到GPU上。

模型训练GPU利用率低,占用低怎么破

GPU 的显存占用和算力利用直接影响模型的训练速度

GPU 显存占用低问题

1、提高batch_size

2、提高模型输入尺寸

3、增加模型深度

推荐:优先提高batch_size, 其他方法会对模型结构产生影响

GPU利用率低问题

1、提高线程数

2、打开pin_memory

# 在pytorch 加载数据时提高线程数,打开pin_memory
torch.utils.data.DataLoader(image_datasets[x],
                            batch_size=batch_size, 
                            shuffle=True,
                            num_workers=8,
                            pin_memory=True)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Python求解最大公约数的实现方法

    使用Python求解最大公约数的实现方法

    这篇文章主要介绍了使用Python求解最大公约数的实现方法,包括用Python表示欧几里得算法和Stein算法的求解原理,需要的朋友可以参考下
    2015-08-08
  • 浅谈python字典多键值及重复键值的使用

    浅谈python字典多键值及重复键值的使用

    下面小编就为大家带来一篇浅谈python字典多键值及重复键值的使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Python3进制之间的转换代码实例

    Python3进制之间的转换代码实例

    这篇文章主要介绍了Python3进制之间的转换代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • pyinstaller将python程序打包为可执行文件

    pyinstaller将python程序打包为可执行文件

    这篇文章主要介绍了pyinstaller将python程序打包为可执行文件,pyinstaller是一个python打包工具,它将python程序及所需依赖都打包成一个可执行文件
    2022-08-08
  • Python打工人必备之windows倒计时锁屏功能的实现

    Python打工人必备之windows倒计时锁屏功能的实现

    每个人的电脑里都会有不想让别人知道的隐私,或者是上班时间偷偷摸鱼怕被发现的小秘密。那怎么办?就干脆把隐私锁起来!从源头上杜绝被他人偷窥自己的隐私。本文就来用Python实现一个windows倒计时锁屏功能,需要的可以参考一下
    2023-04-04
  • python多进程下实现日志记录按时间分割

    python多进程下实现日志记录按时间分割

    这篇文章主要为大家详细介绍了python多进程下实现日志记录按时间分割,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 基于Python制作B站视频下载小工具

    基于Python制作B站视频下载小工具

    这篇文章主要为大家介绍一个小工具,可以用于B站视频的下载,只需要输入对应视频的网页地址就可以进行下载到本地了。感兴趣的可以了解一下
    2022-01-01
  • python浪漫表白源码

    python浪漫表白源码

    今天你表白了吗? 这篇文章主要为大家分享了python浪漫表白源码 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • python生成器generator:深度学习读取batch图片的操作

    python生成器generator:深度学习读取batch图片的操作

    这篇文章主要介绍了python生成器generator:深度学习读取batch图片的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 利用python写api接口实战指南

    利用python写api接口实战指南

    api接口在我们开发中的重要性相信大家都这篇文章主要给大家介绍了关于利用python写api接口实战的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05

最新评论