tf.contrib.layers.embed_sequence()
tf.contrib.layers.embed_sequence()函数
一般用于Seq2Seq网络,可完成对输入序列数据的嵌入工作。一般只需给出前三个参数。
embed_sequence( ids, # 输入的形状为[batch_size, max_seq_len] vocab_size=None, # 输入数据的总词汇量,不重复的词的个数 embed_dim=None, # 嵌入矩阵的维度大小 unique=False, initializer=None, regularizer=None, trainable=True, scope=None, reuse=None )
例子:
import tensorflow as tf batch = 2 sequence_length = 5 ids = [[1,2,3,4,5],[6,7,8,9,10]] vocab_size =32 embed_dim = 10 a = tf.contrib.layers.embed_sequence(ids=ids,vocab_size=vocab_size, embed_dim=10) with tf.Session() as sess: sess.run(tf.global_variables_initializer()) l = sess.run(a) print(l.shape) ''' 输出是尺寸为[batch_size,sequence_length ,embed_dim]的三阶张量,相当于初始化每个词向量。 我们会得到一个2 x 5 x 10的输出,其中ids 中的每个数字都被embed成了一个10维向量 '''