关于Keras Tensorflow后端GPU

时间:2018-02-08 03:51:09

标签: tensorflow keras gpu

我正在尝试在GPU上运行LSTM代码。我已将keras后端设置为tensorflow。我知道tensorflow会自动在GPU上运行。但是我仍然添加以下行以使其在GPU上运行。有没有其他方法我可以确认它是使用GPU?我是这个学习的新手,所以你的建议对我很有帮助。

import os
os.environ['CUDA_DEVICE_ORDER']='PCI_BUS_ID'
os.environ['CUDA_VISIBLE_DEVICES'] = "0"

要禁用/屏蔽GPU / force以使其在CPU上运行,我会这样做:

os.environ['CUDA_VISIBLE_DEVICES'] = " "

可用的设备是:

from tensorflow.python.client import device_lib

device_lib.list_local_devices()

Out[2]: 
[name: "/cpu:0"
 device_type: "CPU"
 memory_limit: 268435456
 locality {
 }
 incarnation: 629258381829369248, name: "/gpu:0"
 device_type: "GPU"
 memory_limit: 324403200
 locality {
   bus_id: 1
 }
 incarnation: 7545755248924255940
 physical_device_desc: "device: 0, name: Tesla K80, pci bus id: 0000:00:1e.0"]

1 个答案:

答案 0 :(得分:0)

是的,您的案例中的Tensorflow后端使用GPU,device_lib.list_local_devices()确认了这一点。

但是,请注意使用list_local_devices()的副作用。它为Tensorflow分配GPU上的所有内存。如果您计划一次使用GPU运行多个脚本,那可能会搞砸了。

以下是有关详细信息:#9374#8021