import numpy as np
import tensorflow as tf
sess=tf.InteractiveSession()
a=tf.constant([5,5,6,6,3,3])
b=tf.reshape(tf.range(6),(3,2))
b=tf.tile(b,[2,3])
sess.run(b)
array([[0, 1, 0, 1, 0, 1],
[2, 3, 2, 3, 2, 3],
[4, 5, 4, 5, 4, 5],
[0, 1, 0, 1, 0, 1],
[2, 3, 2, 3, 2, 3],
[4, 5, 4, 5, 4, 5]])
d=tf.gather(a,b)
sess.run(d)
array([[5, 5, 5, 5, 5, 5],
[6, 6, 6, 6, 6, 6],
[3, 3, 3, 3, 3, 3],
[5, 5, 5, 5, 5, 5],
[6, 6, 6, 6, 6, 6],
[3, 3, 3, 3, 3, 3]])
sess.run(a)
array([5, 5, 6, 6, 3, 3])
如果 gather的 第二个参数是多维的 那么它表示 第一个参数在axis轴的索引