tf.boolean_mask()

在看yolov3的keras实现时,在loss中见到这个函数,

true_box = tf.boolean_mask(y_true[l][b,...,0:4], object_mask_bool[b,...,0])

boolean_mask(a,b) 将使a (m维)矩阵仅保留与b中“True”元素同下标的部分。使用tf.boolean_mask用来过滤概率值比较低的锚盒,这个函数的一个参数b为滤波器掩模,并且当a和b的维度相同时,输出1维矩阵。
例子:

import tensorflow as tf
a = tf.constant([
    [[2, 4], [4, 1]],
    [[6, 8], [2, 1]]
], tf.float32)

c = a > 2
'''
c=[[[False  True]
  [ True False]]

 [[ True  True]
  [False False]]]
'''
d = tf.boolean_mask(a, c)#[4. 4. 6. 8.]
with tf.Session() as sess:
    print('c', sess.run(c))
    print('d',sess.run(d))#[4. 4. 6. 8.]
    print(d.shape)#(?,)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值