thi*_*vin 5 input embedding deep-learning tensorflow
我几乎所有的项目都在使用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 是否在不同类型的输入数据上做类似的事情(例如输入 - [0,1,2] for keras.layers.Embedding 及其单热编码代表。[[1, 0,0],[0,1,0],[0,0,1] 为 feature_column.embedding_column)?
在查看了这两个操作的源代码后,我发现:
tensorflow.python.ops.embedding_ops;所以,你的猜测似乎是正确的:这两个做类似的事情,依赖于不同的输入表示,包含一些不会改变他们所做事情本质的逻辑。