如何检查Keras训练是否已在GPU上运行?

3
有时我会犯一个错误,尝试在同一个GPU上运行两个keras的训练过程(两个不同的脚本),导致我的机器崩溃或者两个训练都失败。我希望能够在我的脚本中测试是否有正在进行的训练,从而更改GPU或停止新的训练。我找到的唯一提示是使用nvidia-smi来检查在GPU上运行的进程?以下是nvidia-smi输出的示例:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 411.63                 Driver Version: 411.63                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  TITAN Xp           WDDM  | 00000000:03:00.0 Off |                  N/A |
| 42%   67C    P2    81W / 250W |  10114MiB / 12288MiB |     54%      Default |
+-------------------------------+----------------------+----------------------+
|   1  TITAN Xp           WDDM  | 00000000:04:00.0 Off |                  N/A |
| 35%   58C    P2   144W / 250W |  10315MiB / 12288MiB |     73%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     11660      C   ...\conda\envs\tensorflow18-gpu\python.exe N/A      |
|    1      1532    C+G   Insufficient Permissions                   N/A      |
|    1      5388    C+G   C:\Windows\explorer.exe                    N/A      |
|    1      6648    C+G   Insufficient Permissions                   N/A      |
|    1      7396    C+G   ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A      |
|    1      7688    C+G   ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A      |
|    1      9808      C   ...\conda\envs\tensorflow18-gpu\python.exe N/A      |
|    1     10820    C+G   Insufficient Permissions                   N/A      |
|    1     11232    C+G   ...x64__8wekyb3d8bbwe\Microsoft.Photos.exe N/A      |
+-----------------------------------------------------------------------------+

在这种情况下,GPU 0 和 GPU 1 中都有 python.exe 运行。
是否有更直接的解决方案?谢谢。

1
@Ghostcat 感谢您的建议,我更好地理解了,我刚刚重新阅读了帮助文档。由于我的不可挽回的选择受到制裁,因此我只在非常明确的示例中使用它。 - Daniel GL
问题是:整个系统一团糟。用来“测试”你的这些例子并不是精心挑选的。系统会选择被点赞或踩过的问题,并假设“点赞”意味着:好问题。所以,当你感觉到系统因为你正确投票而惩罚你时,自己记下来。如果你被禁言了,只需寻求管理员帮助并向他解释。如果有疑问:宁可跳过也不要冒险。 - GhostCat
但是话说回来:我认为至少60%或更多的分类问题都是应该关闭的糟糕问题。请记住:只有当你认为“我现在可以编辑这个问题使其可回答,但我没有时间”时,才会投票“编辑”。请放心:总会有足够的人会投票同意/编辑那些应该被关闭的问题 ;-{ - GhostCat
1个回答

1
你可以尝试使用这个Python包,GPUtil

谢谢,是的,就像这样。它使用nvidia-smi来检查内存和使用情况。我可能还会添加正在运行的进程以检查python实例... - Daniel GL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接