TensorFlow - tf.nn.embedding_lookup
flyfish
tf.nn.embedding_lookup(params, ids, name=None)
类似在np.array中用下标获取数据
params: A list of tensors with the same shape and type.
ids: A Tensor with type int32 containing the ids to be looked up in params.
name: A name for the operation (optional).
ids:可训练
示例代码1
import tensorflow as tf
import numpy as np
params = [0.1, 0.2, 0.3,0.4,0.5]
params = np.asarray(params)
result= tf.nn.embedding_lookup(params, [1, 3])
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(result))
#结果选择索引1和3的元素 输出 [0.2 0.4]
示例代码2
import tensorflow as tf
import numpy as np
params = [[0.1, 0.2, 0.3],
[1.1, 1.2, 1.3],
[2.1, 2.2, 2.3],
[3.1, 3.2, 3.3],
[4.1, 4.2, 4.3]]
params= np.asarray(params)
ids = tf.Variable([0, 2, 3, 1], tf.int32)
result = tf.nn.embedding_lookup(params, ids)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(result))
#结果选择索引0, 2, 3, 1的元素 输出
[[0.1 0.2 0.3]
[2.1 2.2 2.3]
[3.1 3.2 3.3]
[1.1 1.2 1.3]]