tf.where()的使用,该函数会返回满足条件的索引。经验证,发现返回均是二维矩阵,可以说明该函数用二维
矩阵给出满足条件的位置索引。(若有错误,欢迎指正。)
代码如下:
import tensorflow as tf
sess=tf.Session()
import numpy as np
print('验证一维矩阵,tf.where()返回的索引:')
target_class_ids=np.array([4,5,3,6,2])
positive_roi_ix = tf.where(target_class_ids > 0)
positive_roi_ix=sess.run(positive_roi_ix)
print(positive_roi_ix)
print('验证三维矩阵,tf.where()返回的索引:')
target_class_ids=np.array([[4,5,3,6,2],[4,5,3,6,-2]])
positive_roi_ix = tf.where(target_class_ids > 0)
positive_roi_ix=sess.run(positive_roi_ix)
print(positive_roi_ix)
print('验证三维矩阵,tf.where()返回的索引:')
target_class_ids=np.array([[[4,5,3,6,2],[4,5,3,6,-2]],[[4,5,3,6,2],[4,5,3,6,-2]]])
positive_roi_ix = tf.where(target_class_ids > 0)
positive_roi_ix=sess.run(positive_roi_ix)
print(positive_roi_ix)
结果如下:
验证一维矩阵,tf.where()返回的索引:
[[0]
[1]
[2]
[3]
[4]]
验证三维矩阵,tf.where()返回的索引:
[[0 0]
[0 1]
[0 2]
[0 3]
[0 4]
[1 0]
[1 1]
[1 2]
[1 3]]
验证三维矩阵,tf.where()返回的索引:
[[0 0 0]
[0 0 1]
[0 0 2]
[0 0 3]
[0 0 4]
[0 1 0]
[0 1 1]
[0 1 2]
[0 1 3]
[1 0 0]
[1 0 1]
[1 0 2]
[1 0 3]
[1 0 4]
[1 1 0]
[1 1 1]
[1 1 2]
[1 1 3]]