我正在运行 Keras 模型,提交截止日期为 36 小时,如果我在 cpu 上训练我的模型大约需要 50 小时,有没有办法在 gpu 上运行 Keras?
我正在使用 Tensorflow 后端并在我的 Jupyter 笔记本上运行它,但没有安装 anaconda。
原文由 Ryan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在运行 Keras 模型,提交截止日期为 36 小时,如果我在 cpu 上训练我的模型大约需要 50 小时,有没有办法在 gpu 上运行 Keras?
我正在使用 Tensorflow 后端并在我的 Jupyter 笔记本上运行它,但没有安装 anaconda。
原文由 Ryan 发布,翻译遵循 CC BY-SA 4.0 许可协议
2.0 兼容答案:虽然上面提到的答案详细解释了如何在 Keras 模型上使用 GPU,但我想解释一下如何为 Tensorflow Version 2.0
完成。
要知道有多少 GPU 可用,我们可以使用以下代码:
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
要找出您的操作和张量分配给了哪些设备,请将 tf.debugging.set_log_device_placement(True)
作为程序的第一条语句。
启用设备放置日志记录会导致打印任何张量分配或操作。例如,运行以下代码:
tf.debugging.set_log_device_placement(True)
# Create some tensors
a = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
b = tf.constant([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])
c = tf.matmul(a, b)
print(c)
给出如下所示的输出:
在设备 /job:localhost/replica:0/task:0/device:GPU:0 中执行 op MatMul tf.Tensor( [[22. 28.] [49. 64.]], shape=(2, 2), dtype=float32)
有关更多信息,请参阅 此链接
原文由 Tensorflow Support 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
是的,您可以在 GPU 上运行 keras 模型。您必须先检查几件事。
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
对于 TF > v2.0
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True))
(感谢@nbro 和@Ferro 在评论中指出这一点)
或者
输出将是这样的:
完成所有这些后,您的模型将在 GPU 上运行:
检查 keras(>=2.1.1) 是否正在使用 GPU:
一切顺利。