假設我的數據有25個特徵。在Keras中,我可以輕鬆地爲每個輸入特徵實現一個Embedding
圖層,並將它們合併到一起以供給後面的圖層。使用張量流實現嵌入層
我看到tf.nn.embedding_lookup
接受一個id
參數,它可能只是一個普通整數或一個整數數組([1,2,3,..])。然而,特徵輸入往往形狀
x = tf.placeholder(tf.float32, [None, in_feature_num])
我可能分裂特徵自身的是通過使用
X = tf.split(1,in_feature_num,x)
和每個功能輸入是形狀的[?,1]。但是embedding_lookup
沒有形成[?,1]的形狀,並且由於我們沒有指定的行長度,所以我不能將它的形狀設置爲[?],例如reshape
或unpack
。
所以,我怎麼能變換像
[[1],
[2],
[3],
...
]
一個輸入到嵌入表示這樣的:
[
[....], #a vector
[....], #a vector
[....], #a vector
...
]
SO崗位相關的:What does tf.nn.embedding_lookup function do?和TensorFlow Embedding Lookup 但這些職位不解決我的問題。
我不是100%確定你的意思是「你的數據有特徵」。我的理解是嵌入是你輸入數據的代表。所以他們是功能。您可以選擇在NN之前添加嵌入層,並學習權重以實際學習嵌入層,或者添加一個通用的預先訓練的嵌入層。 你能更具體地瞭解你的數據嗎? – roopalgarg
你是說你有一批25個功能,並且你希望每個功能都有自己的嵌入功能? – mazecreator