2017-12-11 2 views
0

행렬과 벡터가 주어지면 행렬의 해당 행에있는 값의 인덱스를 찾고 싶습니다.Tensorflow는 텐서에서 값의 인덱스를 얻습니다.

m = tf.constant([[0, 2, 1],[2, 0, 1]]) # matrix 
y = tf.constant([1,2]) # values whose indices should be found 

y의 첫 번째 값 1은 m의 첫 번째 벡터의 인덱스 2에 있기 때문에 이상적인 출력은 [2,0]입니다. y의 2 번째 값인 2는 m의 두 번째 벡터의 인덱스 0에있다.

답변

0

하나의 해결책을 찾았습니다. 그러나 더 좋은 것들이 있는지 나는 모른다.

m = tf.constant([[0, 2, 1],[2, 0, 1]]) # matrix 
y = tf.constant([1,2]) # values whose indices should be found 
y = tf.reshape(y, (y.shape[0], 1)) # [[1], [2]] 
cols = tf.where(tf.equal(m, y))[:,-1] # [2,0] 

init = tf.global_variables_initializer() 
with tf.Session() as sess: 
    init.run() 
    print(sess.run(cols)) 
관련 문제