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文檔,但似乎沒有我正在尋找的信息。

回答

1
+0

我已經看到了第一後並提出沒有運氣以下變化:'模型= 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