Embedding方法

 

方式1:

target_vocab_size = len(target_letter_to_int)

decoder_embeddings=tf.Variable(tf.random_uniform([target_vocab_size,decoding_embedding_size]))

decoder_embed_input = tf.nn.embedding_lookup(decoder_embeddings, decoder_input)

 

方式2

在Embedding中,我们使用tf.contrib.layers.embed_sequence,它会对每个batch执行embedding操作。

对序列数据执行embedding操作,输入[batch_size, sequence_length]的tensor,返回[batch_size, sequence_length, embed_dim]的tensor。

features = [[1,2,3],[4,5,6]]

outputs = tf.contrib.layers.embed_sequence(features, vocab_size, embed_dim)

如果embed_dim=4,输出结果为(2*3*4)

[[[0.1,0.2,0.3,0.1],[0.2,0.5,0.7,0.2],[0.1,0.6,0.1,0.2]], [[0.6,0.2,0.8,0.2],[0.5,0.6,0.9,0.2],[0.3,0.9,0.2,0.2]] ]

原文地址:https://www.cnblogs.com/yongfuxue/p/10095886.html