Python 什么';在TensorFlow中嵌入查找稀疏是什么意思?

Python 什么';在TensorFlow中嵌入查找稀疏是什么意思?,python,tensorflow,embedding,Python,Tensorflow,Embedding,我们花了很多时间阅读的API文档。embedded\u lookup\u sparse的含义令人困惑,它似乎与embedded\u lookup大不相同 这是我的想法,如果我错了,请纠正我。宽深模型的示例使用contrib.layersapi,并调用embedded\u lookup\u sparse实现稀疏特征列。如果它得到SparseTensor(例如,country,它是稀疏的),它将创建一个实际上是针对一个主机编码的嵌入。然后调用to_weights\u sum,将embedded\u

我们花了很多时间阅读的API文档。
embedded\u lookup\u sparse
的含义令人困惑,它似乎与
embedded\u lookup
大不相同

这是我的想法,如果我错了,请纠正我。宽深模型的示例使用
contrib.layers
api,并调用
embedded\u lookup\u sparse
实现稀疏特征列。如果它得到SparseTensor(例如,country,它是稀疏的),它将创建一个实际上是针对一个主机编码的嵌入。然后调用
to_weights\u sum
,将
embedded\u lookup\u sparse
的结果作为
prediction
返回,将嵌入作为
变量返回

embedded\u lookup\u sparse
add
bias
的结果,并成为损失函数和训练操作的
logits
。这意味着
embedding\u lookup\u sparse
对稠密张量执行类似于
w*x
(y=w*x+b
的一部分)的操作

可能对于一个热编码或稀疏传感器,来自
embedded\u lookup\u sparse
weight
实际上是
w*x
的值,因为查找数据总是
1
,不需要添加其他
0
s


我所说的也令人困惑。有人能详细解释一下吗?

嵌入查找和嵌入查找稀疏的主要区别在于稀疏版本要求id和权重为SparseTensor类型

嵌入查找的工作原理:

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

不存在偏差项。您可以通过引用多个要包含在输出中的元素,将张量的切片添加到一起