官方链接:https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/layers_cn/gather_cn.html
paddle.fluid.layers.
gather
(input, index, overwrite=True)
根据索引 index
获取输入(input)的最外层维度的条目,并将它们拼接在一起。功能和tensorflow中的embedding_lookup相似。
示例:
import paddle.fluid as fluid
import numpy as np
x = fluid.data(name='x', shape=[4, 5], dtype='float32')
index = fluid.data(name='index', shape=[2, 1], dtype='int32')
output = fluid.layers.gather(x, index)
place = fluid.CPUPlace()
exe = fluid.Executor(place)
exe.run(fluid.default_startup_program())
x = np.random.random(size=(4, 5)).astype('float32')
print(x)
y = np.array([[1], [3]]).astype('int32')
output = exe.run(feed={"x": x, "index": y}, fetch_list = [output])
print()
print(output)
结果: