pytorch深度学习框架-训练模型时GPU占用率太低怎么办?如何尽量榨干我们的GPU性能?

本文介绍如何正确查看GPU运行状态及提高GPU利用率的方法,包括通过任务管理器和nvidia-smi命令监测GPU占用率,以及调整batch-size大小来优化GPU内存使用。
部署运行你感兴趣的模型镜像

零、参考来源

torch | gpu 利用率低怎么办 | 犀牛的博客

一、怎么正确地查看GPU运行状态(比如占用率)?

1.1 任务管理器

Windows系统自带的任务管理器显示默认的copy、3D、video引擎下的占用率,不代表训练时需要的CUDA引擎占用率。

将某一个小窗口的引擎设置为CUDA,才会真正显示训练模型的实际占用率。

 

1.2 nvidia-smi

在CMD窗口中输入nvidia-smi后,回车,就会显示GPU占用率、温度、占用内存大小等信息。注意,如果此命令回车后提示错误,可能是因为显卡驱动程序未安装。

下图的Memory-usage是内存使用情况,GPU-Util是Gpu利用率;注意内存占用高不代表利用率高,详见下面的链接。

GPU显存占满利用率GPU-util为0_吨吨不打野的博客-优快云博客_gpu util

 如果想要每隔1秒刷新一次GPU使用情况,可以使用命令【watch -n 1 -d nvidia-smi】。

二、如何尽量榨干我们的GPU性能?

2.1 更改batch-size的大小

batch-size的大小和GPU memory占用大小成线性关系。比如下面用batch size=2时占了1.15Gb,而我的显卡GTX 1650显存有4GB,我还能把batch size定义为4。

batch size调成4后,gpu_mem变成了 2.42gb,已经榨得差不多了。

这里有一个疑惑,我把batch size调成1和调成4,在任务管理器中cuda占用率都是70%左右。

 

2.2 神经网络深度

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值