在tensorflow中选择满足特定条件的索引

在tensorflow中选择满足特定条件的索引,tensorflow,Tensorflow,我希望选择矩阵中元素的坐标满足一定条件的元素。例如,条件可以是:(y_坐标-x_坐标)=-4 因此,将选择坐标满足此条件的元素。如何在不遍历每个元素的情况下高效地执行此操作 也许您需要: iterSession=tf.InteractiveSession() VAL=tf.常数([[1,2,3],[4,5,6],[7,8,9]) arr=tf.常数([[x,y]表示范围(3)中的x)表示范围(3)中的y),如果-1数组([[0,0], # >> [0, 1], # >>

我希望选择矩阵中元素的坐标满足一定条件的元素。例如,条件可以是:(y_坐标-x_坐标)=-4 因此,将选择坐标满足此条件的元素。如何在不遍历每个元素的情况下高效地执行此操作

也许您需要:

iterSession=tf.InteractiveSession()
VAL=tf.常数([[1,2,3],[4,5,6],[7,8,9])
arr=tf.常数([[x,y]表示范围(3)中的x)表示范围(3)中的y),如果-1数组([[0,0],
# >>        [0, 1],
# >>        [1, 0],
# >>        [1, 1],
# >>        [1, 2],
# >>        [2, 1],
#>>[2,2]],dtype=int32)
tf.gather_nd(VAL,arr).eval()
#>>数组([1,2,4,5,6,8,9],dtype=int32)

或:

iterSession=tf.InteractiveSession()
VAL=tf.常数([[1,2,3],[4,5,6],[7,8,9])

arr=tf.constant([[-1谢谢,但我不能用于循环,因为我的矩阵形状是动态的。@ray.r.chua随着神经网络的运行,矩阵的大小会发生变化。你能提供更多细节吗?或者你的意思是以动态方式计算索引吗?我的矩阵的大小会随着输入矩阵没有固定大小而变化。