vincular vinculados vinculado ventaja power objetos objeto insertar incrustar incrustados incrustación incrustacion entre diferencia desventaja desde archivo tensorflow

tensorflow - vinculados - ventaja o desventaja de la incrustación de objetos



inicialización de la incrustación de Seq2seq con word2vec preconfigurado (2)

Creo que ha obtenido su respuesta en la lista de correo pero la estoy poniendo aquí para la posteridad.

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

Puedes inicializarlo al azar y luego hacer: session.run (embedding.assign (my_word2vec_matrix))

Esto anulará los valores init.

Esto parece funcionar para mí. Creo que trainable=False es necesario para mantener los valores corregidos?

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

Estoy interesado en inicializar la implementación de tensorflow seq2seq con word2vec preestablecido.

He visto el código. Parece que la inserción está inicializada

with tf.variable_scope(scope or "embedding_attention_decoder"): with tf.device("/cpu:0"): embedding = tf.get_variable("embedding", [num_symbols, cell.input_size])

¿Cómo cambio esto para inicializar con word2vec pre-entrenamiento?


Puede cambiar el tokanizer presente en tensorflow/models/rnn/translate/data_utils.py para usar un modelo de word2vec preformado para tokenizar. Las líneas 187-190 de data_utils.py :

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

usa basic_tokenizer . Puede escribir un método de tokenizer que utiliza un modelo de word2vec preentrenado para tokenizar las oraciones.