我一直在几乎所有项目中使用keras.layers.Embedding。但是,最近,我想摆弄tf.data并找到feature_column.embedding_column。
从文档中:
feature_column.embedding_column-从稀疏分类输入转换的DenseColumn
。输入稀疏但要转换为密集输入时使用表示形式(例如,用于馈送至DNN)。
keras.layers.Embedding-将正整数(索引)转换为固定大小的密集向量。例如[[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]
该层只能用作模型的第一层。
[我的问题是,两种api在不同类型的输入数据上是否都做类似的事情(例如,对于keras.layers.Embedding及其单编码的rep [例如,输入-[0,1,2]-[[ 1,0,0],[0,1,0],[0,0,1]用于feature_column.embedding_column)?
查看了这两种操作的源代码后,发现的是:
tensorflow.python.ops.embedding_ops
的功能性;所以,您的猜测似乎是正确的:这两个正在做类似的事情,依赖于不同的输入表示形式,包含一些不会改变其本质的逻辑。