我是靠谱客的博主 飞快汉堡,这篇文章主要介绍每天学一点tensorflow——tf.image.non_max_suppress(Non-max suppression)与K.gather()当a为张量时,更好理解:重点理解下面的张量认真注意区别!!!!,现在分享给大家,希望可以做个参考。
复制代码
1
2
3
4
5
6
7
8
9tf.image.non_max_suppression( boxes, scores, max_output_size, iou_threshold=0.5, name=None )
-
参数说明:
-
boxes
: 2维张量[num_boxes, 4]
. -
scores
: 一维张量[num_boxes],代表每个boxes的分数/概率
. -
max_output_size
: 非极大值抑制最多输出boxes的数量. -
iou_threshold
: IOU阈值,大于阈值被删除 -
name
: (optional). -
返回的是selected_indices:表示的是一个1-D的整数张量,大小为[M],代表的是选出来的留下来的边框下标,M小于等于max_output_size.
复制代码
1K.gather(reference,selected_indices)
-
参数说明:
-
reference
:给定的张量. -
selected_indices
: tf.image.non_max_suppress的返回值selected_indices,表示要查询的元素下标
. -
返回值对要查询元素
selected_indices
对应的reference.
复制代码
1
2
3
4
5
6
7
8
9
10nms_indices = tf.image.non_max_suppression( boxes, scores, max_boxes, iou_threshold) ##在给定的张量中搜索给定下标的向量,scores,boxes,classes为给定张量 scores = K.gather(scores, nms_indices) boxes = K.gather(boxes, nms_indices) classes = K.gather(classes, nms_indices)
例子如下:
复制代码
1
2
3
4
5
6
7
8import numpy as np import tensorflow as tf from keras import backend as K a = [[1,2],[3,4],[5,6],[7,8]] b = [[0,4],[0,4],[1,5],[2,6],[3,7]] sess =tf.Session() with tf.Session() as sess: print(sess.run(K.gather(a,b)))
输出结果如下:
复制代码
1
2
3
4
5[[1 2] [1 2] [3 4] [5 6] [7 8]]
当a为张量时,更好理解:重点理解下面的张量
例子:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17import numpy as np import tensorflow as tf from keras import backend as K a = tf.constant([[2,4,4,1], [6,8,2,1]],tf.float32) #b = tf.reduce_max(a,-1) c= np.array([True, True]) print("a="+str(sess.run(a))) #print("b="+str(sess.run(b))) print("c="+str(c)) d=tf.boolean_mask(a,c)#重点博客days2有讲解https://blog.csdn.net/qq_29444571/article/details/84574526 print("d="+str(d.eval(session=sess))) d b=tf.constant([0,0,1],tf.int32) print('K.gather ='+str(sess.run(K.gather(a,b)))) print('K.gather ='+str(sess.run(K.gather(d,b))))
输出结果:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12a=[[2. 4. 4. 1.] [6. 8. 2. 1.]] c=[ True True] d=[[2. 4. 4. 1.] [6. 8. 2. 1.]] K.gather =[[2. 4. 4. 1.] [2. 4. 4. 1.] [6. 8. 2. 1.]] K.gather =[[2. 4. 4. 1.] [2. 4. 4. 1.] [6. 8. 2. 1.]]
认真注意区别!!!!
最后
以上就是飞快汉堡最近收集整理的关于每天学一点tensorflow——tf.image.non_max_suppress(Non-max suppression)与K.gather()当a为张量时,更好理解:重点理解下面的张量认真注意区别!!!!的全部内容,更多相关每天学一点tensorflow——tf.image.non_max_suppress(Non-max内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复