1
所以我已經改變了這裏所描述的,而不是執行二進制類分類的多類文本分類模型。 http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/如何培養字曲面嵌入在Tensorflow
我的模型,即使在應用L2正則化,所以我想用一個預先訓練word2vec模型後的過度擬合。但我對Tensorflow &深度學習&非常新,我不知道從哪裏開始。
代碼:https://github.com/dennybritz/cnn-text-classification-tf/blob/master/text_cnn.py#L27
這裏是我想改變使用谷歌預訓練word2vec模型的相關代碼:
# Embedding layer
with tf.device('/cpu:0'), tf.name_scope("embedding"):
W = tf.Variable(
tf.random_uniform([vocab_size, embedding_size], -1.0, 1.0),
name="W")
self.embedded_chars = tf.nn.embedding_lookup(W, self.input_x)
self.embedded_chars_expanded = tf.expand_dims(self.embedded_chars, -1)
這將是非常有益的,如果有人能指點如何我可以將它合併到代碼中嗎?我看着embedding_lookup文檔,但似乎沒有我正在尋找的信息。
我已經看到了第一後並提出沒有運氣以下變化:'模型= word2vec。 Word2Vec.load_word2vec_format('./ word2vec/pre-trained/GoogleNews-vectors-negative300.bin',binary = True) embedding = model.syn0 vocab_size = embedding.shape [0] embedding_dim = embedding.shape [1]'。但是,上面給了我以下信息:'UserWarning:將稀疏IndexedSlices轉換爲900000000個元素的密集張量。這可能會消耗大量的內存,並且培訓似乎在這一步驟中被暫停 – Rookie