在TensorFlow中,如何将渐变固定到某个GPU?

2024-10-01 19:18:57 发布

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

我创建了一个模型,在CPU上有一个嵌入层,一个LSTMgpu:0和softmax层gpu:1。在

然后我创建了一个培训计划,如下所示:

optim = tf.train.GradientDescentOptimizer(LEARNING_RATE)
train_op = optim.minimize(final_loss)

训练因内存不足而失败。启用设备放置日志会显示softmax的渐变已放置在gpu:0比gpu:1。如何让TensorFlow正确放置它?在


Tags: 模型gpuratetftraincpuoptim计划
1条回答
网友
1楼 · 发布于 2024-10-01 19:18:57

要将渐变放置在与原始(向前传递)操作相同的设备上,应该将可选参数colocate_gradients_with_ops=True传递给^{}。你的代码看起来像:

optim = tf.train.GradientDescentOptimizer(LEARNING_RATE)
train_op = optim.minimize(final_loss, colocate_gradients_with_ops=True)

相关问题 更多 >

    热门问题