2015-11-22 16 views

cevap

0

Jetonlama için önceden eğitilmiş bir word2vec modelini kullanmak üzere tensorflow/models/rnn/translate/data_utils.py'da bulunan tokanizer'i değiştirebilirsiniz. hatlar data_utils.py ait 187-190:

if tokenizer: 
    words = tokenizer(sentence) 
else: 
    words = basic_tokenizer(sentence) 

kullanım basic_tokenizer. Cümleleri jetonlamak için önceden eğitilmiş bir word2vec modeli kullanan bir tokenizer yöntemi yazabilirsiniz.

7

Cevabınızı posta listesinde aldığınızı düşünüyorum, ancak buraya postercilik için veriyorum.

https://groups.google.com/a/tensorflow.org/forum/#!topic/discuss/bH6S98NpIJE

Sen rastgele ve sonradan başlatabilir

yapın: session.run (embedding.assign (my_word2vec_matrix))

Bu, başlat değerleri geçersiz kılar.

Bu benim için işe yarıyor gibi görünüyor. Değerleri sabit tutmak için trainable=False'a ihtiyaç olduğuna inanıyorum?

# load word2vec model (say from gensim) 
model = load_model(FILENAME, binary=True) 

# embedding matrix 
X = model.syn0 
print(type(X)) # numpy.ndarray 
print(X.shape) # (vocab_size, embedding_dim) 

# start interactive session 
sess = tf.InteractiveSession() 

# set embeddings 
embeddings = tf.Variable(tf.random_uniform(X.shape, minval=-0.1, maxval=0.1), trainable=False) 

# initialize 
sess.run(tf.initialize_all_variables()) 

# override inits 
sess.run(embeddings.assign(X)) 
+0

index hakkında ne var: model.index2word? Bunu tensorflow'a nasıl iletiyorsun? – vgoklani

İlgili konular