【发布时间】:2020-08-14 15:41:42
【问题描述】:
有什么方法可以检查 Keras 框架是使用 GPU 还是 CPU 来训练模型?
我正在使用 keras 在 GPU 上训练我的模型,但它太慢了,我不确定它是使用 CPU 还是 GPU 进行训练。
【问题讨论】:
标签: python tensorflow keras tensorflow2.0
有什么方法可以检查 Keras 框架是使用 GPU 还是 CPU 来训练模型?
我正在使用 keras 在 GPU 上训练我的模型,但它太慢了,我不确定它是使用 CPU 还是 GPU 进行训练。
【问题讨论】:
标签: python tensorflow keras tensorflow2.0
首先,您需要找到 GPU 设备:
physical_device = tf.config.experimental.list_physical_devices('GPU')
print(f'Device found : {physical_device}')
然后您可以使用以下代码检查您的 GPU 设备是否已用于训练:
tf.config.experimental.get_memory_growth(physical_device[0])
如果此代码返回 False 或不返回任何内容,那么您可以在下面运行此代码来设置 GPU 进行训练
tf.config.experimental.set_memory_growth(physical_device[0],True)
【讨论】:
set_memory_growth(device1,True) 会将训练设备更改为 device1,它将使用 gpu 内存。 get_memory_growth 用于检查您是否为设备设置了内存增长。
首先让我们确保 tensorflow 正在检测您的 GPU。运行下面的代码。如果 GPU 数量 = 0,则表示未检测到您的 GPU。要让 tensorflow 使用 GPU,您需要安装 Cuda 工具包和 Cudnn。如果没有检测到 GPU,并且您正在使用 Anaconda,请重新安装带有 Conda 的 tensorflow。它会自动安装工具包和 Cudnn。当你使用 Pip 安装 tensorflow 时,Pip 不会安装这些。
import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
print(tf.__version__)
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
tf.test.is_gpu_available()
!python --version
【讨论】:
这里是参考演示:
import tensorflow as tf
physical_device = tf.config.experimental.list_physical_devices('GPU')
print(f'Device found : {physical_device}')
【讨论】: