NVIDIA系列文章目录
文章目录
- NVIDIA系列文章目录
- 前言
- 一、查看GPU占用率的方法
- 使用终端命令nvidia-smi -l 1查看GPU使用情况
- 二、解决神经网络训练过程中GPU占用率低的问题
前言
查看GPU占用率方法以及解决神经网络训练过程中GPU占用率低的问题
一、查看GPU占用率的方法
使用终端命令nvidia-smi -l 1查看GPU使用情况
(base) xl@xiaole:~/temp$ nvidia-smi -l 1
Tue May 9 09:38:35 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.39.01 Driver Version: 510.39.01 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:01:00.0 Off | N/A |
| N/A 49C P0 N/A / N/A | 9MiB / 2048MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
其中命令末尾的1表示1秒刷新一次,时间可自行修改。
二、解决神经网络训练过程中GPU占用率低的问题
GPU占用率过低可以根据自己显存的大小来调节batchsize和num_workers参数
通过调大workers以及batchsize的大小很好地提高了GPU的占用率,但是CPU的占用率依然是拉满,这是因为在训练神经网络的过程中在CPU主要负责对数据进行预处理以及记录训练日志,GPU主要负责进行前向传播与反向传播,CPU没有执行完步骤GPU无法开始执行任务,因此CPU总是占用率拉满而GPU无法获得很好的利用,可以通过将记录训练日志的代码注释达到释放CPU占用率从而提升训练速度的效果。