gpt4 book ai didi

Tensorflow embedding_lookup 梯度在CPU上注册?

转载 作者:行者123 更新时间:2023-12-02 05:02:06 25 4
gpt4 key购买 nike

我有一些相当于稀疏softmax的东西:

...
with tf.device('/gpu:0'):
indices = tf.placeholder(tf.int32, [None, dimsize])
self._W = weight_variable([self._num_nodes, input_layer_size])
self._b = bias_variable([self._num_nodes])
sampled_W = tf.transpose(tf.nn.embedding_lookup(self._W, indices), [0,2,1]) # [batchsize, inputlayersize, dim1size]
sampled_b = tf.nn.embedding_lookup(self._b, indices) # [batchsize, dim1size]
...

但是,当我启用放置日志记录时,我看到多个渐变实例被放置在 CPU 上,例如:

gradients/.../embedding_lookup_1_grad/Size: /job:localhost/replica:0/task:0/cpu:0

I tensorflow/core/common_runtime/simple_placer.cc:819] gradients/.../embedding_lookup_1_grad/Size: /job:localhost/replica:0/task:0/cpu:0

无论我选择什么优化器,都会发生这种情况。我在这里遗漏了什么吗?

最佳答案

如果你使用

tf.Session(config=tf.ConfigProto(allow_soft_placement=False))

你应该得到一个错误。这是因为 embedding_lookup 目前尚未在 GPU 上实现。

关于Tensorflow embedding_lookup 梯度在CPU上注册?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42170998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com