1

그래서 이진 클래스 분류 대신 다중 클래스 텍스트 분류를 수행하기 위해 여기에 설명 된 모델을 변경했습니다. http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/Tensorflow에서 Word Embedding을 학습하는 방법

L2 정규화를 적용한 후에도 내 모델이 오버 피팅되어 있으므로 미리 훈련 된 word2vec 모델을 사용하고 싶습니다. 그러나 나는 Tensorflow에 매우 익숙하지 않다. & 깊은 학습 & 어디에서 시작해야할지 모르겠다.

코드 : 사람이 어떻게 날 지점 수 있다면 그것은 매우 도움이 될 것입니다

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

: 여기

https://github.com/dennybritz/cnn-text-classification-tf/blob/master/text_cnn.py#L27 내가 구글 사전 훈련 word2vec 모델을 사용하여 변경하려는 관련 코드 이 코드에 통합 할 수 있습니까? embedding_lookup 문서를 살펴 봤지만 찾고있는 정보가없는 것 같습니다. 이러한 링크에

답변

1
+0

:'모델 = word2vec을. Word2Vec.load_word2vec_format ('./word2vec/ 사전 교육/GoogleNews-vectors-negative300.bin', 이진 = True) embedding = model.syn0 vocab_size = embedding.shape [0] embedding_dim = embedding.shape [1]'. 그러나 위의 내용은 다음과 같은 메시지를줍니다 :'UserWarning : 900000000 엘리먼트를 가진 조밀 한 텐서로 희소 IndexedSlices 변환. 이것은 많은 양의 메모리를 소비 할 수 있고 훈련은이 단계에서 매달린 것처럼 보인다. – Rookie

관련 문제