【问题标题】:What is the work of "tf.nn.embedding_lookup"“tf.nn.embedding_lookup”的工作是什么
【发布时间】:2018-05-19 08:00:47
【问题描述】:

我正在尝试使用 CNN 实现用于文本分类的嵌入层。
嵌入层
with tf.device('/cpu:0'), tf.name_scope("embedding"): self.W = tf.Variable(tf.random_uniform([vocab_size, embedding_size], -1.0, 1.0),name="W") self.embedded_chars = tf.nn.embedding_lookup(self.W, self.inputTensor) self.embedded_chars_expanded = tf.expand_dims(self.embedded_chars, -1)

我无法理解 tf.nn.embedding_lookup 工作。

【问题讨论】:

    标签: tensorflow text-classification word-embedding embedding-lookup


    【解决方案1】:

    此函数用于对 params 中的张量列表执行并行查找。

    tf.gather的广义形式。此示例将清除 tf.gathertf.nn.embedding_lookup 的工作。

    假设您有一个形状为 (1) 的张量,其中包含字符串。我们称之为参数。

    参数

    |。 0。|。 1. |。 2. |。 3. |。 4. |。 5. |

    |。 1。 |。 a2。 |。一个3。 |一个4。 |。 5。 | a6 |

    令 Id 为 int32 或 int64 的另一个张量

    IDS

    [2, 3]

    然后此函数将参数中这些索引处的值作为另一个张量返回。

    在上述情况下,它返回。 [a3, a4]

    This image should make it clear

    所以在上面的例子中, self.W 在 self.InputTensor 指向的索引处的值由 tf.nn.embedding_lookup 函数提取。

    【讨论】:

    • 所以在我的例子中,self.W 是参数,self.InputTensor 是索引!!
    • 是 W 是参数,输入张量是索引
    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 2011-06-29
    • 2014-06-18
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多