首页 > 解决方案 > 如何在 AWS EC2 实例上激活 GPU 的使用?

问题描述

我正在使用 AWS 在自定义数据集上训练 CNN。我启动了一个 p2.xlarge 实例,将我的 (Python) 脚本上传到虚拟机,并通过 CLI 运行我的代码。

我使用 Python3(CUDA 10.0 和 Intel MKL-DNN)为 TensorFlow(+Keras2)激活了一个虚拟环境,这是 AWS 的默认选项。

我现在正在运行我的代码来训练网络,但感觉 GPU 没有“激活”。训练的速度与我使用 CPU 在本地运行时一样快(慢)。

这是我正在运行的脚本:

https://github.com/AntonMu/TrainYourOwnYOLO/blob/master/2_Training/Train_YOLO.py

我还尝试通过 with tf.device('/device:GPU: 0'):在解析器之后(第 142 行)并在下面缩进所有内容来更改它。然而,这似乎并没有改变任何东西。

有关如何激活 GPU(或检查 GPU 是否已激活)的任何提示?

标签: pythonamazon-web-servicestensorflowamazon-ec2gpu

解决方案


查看此答案以列出可用的 GPU。

from tensorflow.python.client import device_lib

def get_available_gpus():
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos if x.device_type == 'GPU']

您还可以使用 CUDA列出当前设备,并在必要时设置设备

import torch

print(torch.cuda.is_available())
print(torch.cuda.current_device())

推荐阅读