【问题标题】:After creating an embedding layer using a tensorflow placeholder, how is the tf.nn.embedding_lookup() function used with it?使用 tensorflow 占位符创建嵌入层后,如何使用 tf.nn.embedding_lookup() 函数?
【发布时间】:2019-11-23 04:15:03
【问题描述】:

我正在尝试将预训练的 word2vec 词嵌入添加到我的 tensorflow 代码中。现在在创建嵌入矩阵之后,添加这一层的一种方法是创建一个 tensorflow 变量,但这会导致计算重复,因此效率不高。 另一种方法是创建一个占位符并通过它传递数据。

W = tf.Variable(tf.constant(0.0, shape=[vsize, 200]),
                trainable=False, name="W")
embedding_init = W.assign(self._embedding)
#self._embedding is the placeholder

sess = tf.Session()
sess.run(embedding_init,feed_dict={self._embedding:emb_matrix})

现在我希望能够通过调用 tf.nn.embedding_lookup() 函数将数据传递给该嵌入,我究竟将什么张量传递给查找函数?

tf.nn.embedding_lookup(?,list(word2id),input_data)

【问题讨论】:

    标签: tensorflow nlp word-embedding


    【解决方案1】:

    试试这个

    tf.nn.embedding_lookup(W,input_data)
    

    【讨论】:

      猜你喜欢
      • 2017-02-28
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 2016-11-20
      • 2017-04-18
      • 2019-03-07
      相关资源
      最近更新 更多