我想將word2vec用於卷積神經網絡。我是新的Tensorflow。這是我的前訓練層代碼。用於卷積神經網絡的字嵌入
W = tf.Variable(tf.constant(0.0, shape=[vocabulary_size, embedding_size]),
trainable=False, name="W")
embedding_placeholder = tf.placeholder(tf.float32, [vocabulary_size, embedding_size])
embedding_init = W.assign(embedding_placeholder)
sess = tf.Session()
sess.run(embedding_init, feed_dict={embedding_placeholder: final_embeddings})
我想我應該使用embedding_lookup
但不知道如何使用它。我真的喜歡它有人可以提供一些建議。
謝謝
謝謝Frobb,我很高興聽到這個消息。我試圖使用「embedding_lookup」,但我有一個麻煩傳遞參數。我有訓練數據被標記,我用word2vec_basic.py來預訓練我的數據。我在很多網站上看過任何一些說我必須將單詞矢量映射到字典。像這樣 'embedded_chars = tf.nn.embedding_lookup(W,字典)' 但它給了錯誤的東西與張量的尺寸,我試圖改變變量「詞典」與「數據」或「reverse_dictionary」,但沒有幫助。你能給我一些建議嗎?謝謝 – ngoduyvu
'embedding_lookup'的第二個參數應該是包含你輸入數據的張量。看看@Kashyap提供的博文,你會發現第二個參數是(批量)輸入的佔位符張量。您只需確保輸入數據的單詞已根據前面提到的字對索引方案轉換爲整數。 – Frobb
在博客中,作者說「將詞彙詞索引映射到低維向量表示中」。在「word2vec_basic.py」變量「data」中存儲了distionary的索引。所以我這樣做: 'embedded_chars = tf.nn.embedding_lookup(W,data)' 我運行它,它沒有給出任何錯誤。你認爲這是一種正確的方式嗎? 謝謝 – ngoduyvu