gpt4 book ai didi

python - TensorFlow 中的 tf.nn.embedding_lookup_sparse 是什么意思?

转载 作者:行者123 更新时间:2023-11-28 18:29:08 29 4
gpt4 key购买 nike

我们花了很多时间阅读tf.nn.embedding_lookup_sparse的API文档. embedding_lookup_sparse 的含义比较困惑,似乎与embedding_lookup 有很大区别。

这是我的想法,如果我错了请纠正我。 wide 和 deep 模型的示例使用 contrib.layers API 并调用 embedding_lookup_sparse 获取稀疏特征列。如果它获得稀疏张量(例如,稀疏的国家/地区),它会创建实际上用于单主机编码的嵌入。然后调用to_weights_sum返回embedding_lookup_sparse的结果作为prediction,embedding作为variable

embedding_lookup_sparse的结果加上bias,成为损失函数和训练操作的logits。这意味着 embedding_lookup_sparse 对密集张量执行类似于 w * x(y = w * x + b 的一部分)的操作。

也许对于单热编码或 SparseTensor,embedding_lookup_sparse 中的 weight 实际上是 w * x 的值,因为查找数据始终为 1,无需添加其他 0

我说的也是一头雾水。谁能帮忙详细解释一下?

最佳答案

embedding lookup 和 embedding lookup sparse 之间的主要区别是稀疏版本期望 id 和权重是 SparseTensor 类型。

嵌入查找的工作原理:

您传入某个大小的张量,embedding_lookup_sparse 会将张量的切片(由 sp_ids 参数引用的切片)乘以某个权重(也作为 sp_weight 传入;默认值为 1),然后您将返回新的切片.

没有偏置项。您可以通过引用多个作为元素包含在输出中来将张量的切片添加在一起。

关于python - TensorFlow 中的 tf.nn.embedding_lookup_sparse 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38893526/

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