1

So habe ich das hier beschriebene Modell geändert Multi-Class-Textklassifikation anstelle einer binären Klasse Klassifizierung auszuführen. http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/Wie trainiert Word-Einbettungen in Tensorflow

Mein Modell überanstrengt sich selbst nach der Anwendung der L2-Regularisierung, so dass ich ein vortrainiertes word2vec-Modell verwenden möchte. Aber ich bin sehr neu & tief Lernen Tensorflow & ist nicht sicher, wo ich anfangen soll.

Code: https://github.com/dennybritz/cnn-text-classification-tf/blob/master/text_cnn.py#L27

Hier ist der relevante Code, den ich die Google vortrainiert word2vec Modell zu verwenden, ändern möchten:

 # 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) 

Es wird sehr hilfreich, wenn mir jemand zu, wie zeigen kann Kann ich das in den Code einbauen? Ich schaute auf den embedding_lookup doc, aber das scheint nicht die Informationen zu haben, nach denen ich suche.

Antwort

1
+0

ich schon den ersten Beitrag gesehen haben und machte folgende Änderung ohne Glück: 'Modell = word2vec. Word2Vec.load_word2vec_format (‘./ word2vec/vortrainierte/Googlenews-Vektoren-negative300.bin', binary = True) Einbettungs =model.synvocab_size = embedding.shape [0] embedding_dim = embedding.shape [1] '. Aber die oben gibt mir die folgende Meldung: 'UserWarning: Konvertieren spärliche IndexedSlices zu einem dichten Tensor mit 900000000 Elementen. Dies kann eine große Menge an Speicher verbrauchen und das Training scheint bei diesem Schritt hängen zu bleiben – Rookie

Verwandte Themen