tf.nn.embedding_lookup(a,b)的作用主要在于通过索引b去选取张量a当中的向量,如果b是两行矩阵,则选取出a中的两组向量组成两个矩阵返回,每个矩阵通过b的每行元素值去选取a中的对应向量,示例如下:
import tensorflow as tf
import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([[0,1],[1,2]])
c = tf.nn.embedding_lookup(a,b)
with tf.Session() as sess:
print(sess.run(c))
上示代码从a中选取第0,1个向量组成第一个矩阵,第1,2个向量组成第二个矩阵,返回这两个矩阵组成的三维数组,输出如下
[[[1 2 3]
[4 5 6]]
[[4 5 6]
[7 8 9]]]
Process finished with exit code 0