ML引擎未使用GPU

2024-06-23 03:24:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用gcloudml引擎训练一个模型,使用一台特斯拉K80。这个程序可以运行,但比没有GPU的笔记本电脑还要慢。在

有一条消息显示GPU没有运行任何进程。我没有更改任何在GPU中运行的代码,因为我认为Tensorflow为您决定哪些进程在CPU中运行,哪些进程在GPU中运行。在

在我第一次在云中运行代码之后,我试图将图形操作和优化器包装在with tf.device('/device:GPU:0')中,但是任何东西都改变了。在

我收到这样的信息:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.111 Driver Version: 384.111 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K80 Off | 00000000:00:04.0 Off | 0 |
| N/A 61C P8 29W / 149W | 1MiB / 11439MiB | 0% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
 +-----------------------------------------------------------------------------+

我不知道怎么解决这个问题,任何想法都欢迎。在

提前谢谢!在


Tags: 代码模型引擎程序消息gpu进程device
1条回答
网友
1楼 · 发布于 2024-06-23 03:24:00

要使用GPU进行训练,必须指定要使用的节点类型。这是在一个yaml文件中完成的,您必须在启动作业时引用该文件。在

config.yaml示例:

trainingInput:
  pythonVersion: "3.5"
  scaleTier: CUSTOM
  # standard_gpu provides 1 GPU. Change to complex_model_m_gpu for 4 GPUs
  masterType: standard_gpu

然后,在提交作业时,请按如下方式引用:

^{pr2}$

这将确保您使用python3.5在“标准的gpu”节点上运行。有关详细信息,请参阅here。在

你不需要使用上面提到的紫外线。这意味着,在您的setup.py文件中,不得将tensorflow指定为要求。相反,要么根本不指定tensorflow(它总是由平台提供的),要么指定tensorflow-gpu。在

有效的setup.py如下所示:

from setuptools import setup, find_packages

setup(name='SOME_NAME',
      version='0.1',
      packages=find_packages(),
      description='YOUR DESCRIPTION',
      install_requires=[
          'tensorflow-gpu'
      ],
      include_package_data=True,
      zip_safe=False)

如果你想确保你不是在CPU上运行整个工作,并花很多钱在家里的笔记本电脑上做一些事情,你也可以添加一个健全性检查。E、 g.:

import tensorflow as tf
if tf.test.gpu_device_name():
    print('Default GPU: {}'.format(tf.test.gpu_device_name()))
else:
    print('Failed to find default GPU.')
    sys.exit(1)

相关问题 更多 >

    热门问题