【问题标题】:How to double the size of a boolean mask with "False"- elements in Tensorflow如何使用“False”将布尔掩码的大小加倍 - Tensorflow 中的元素
【发布时间】:2018-05-02 21:52:29
【问题描述】:

在 TensorFlow 中有没有一种方法可以将带有“False”元素的布尔掩码张量的大小加倍?换句话说,我想在每个元素之后附加一个“False”元素。

例如,我的布尔掩码如下所示:

Mask = [True False True False]

使用“False”元素将大小加倍后,它应该如下所示:

Mask = [True False False False True False False False]

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    创建一个形状相同的False蒙版,与原来的mask叠加,然后与reshape压平:

    import tensorflow as tf
    tf.InteractiveSession()
    
    mask = tf.constant([True, False, True, False])
    
    mask_false = tf.constant(False, shape=mask.shape)
    mask_stack = tf.stack((mask, mask_false), axis=1)
    tf.reshape(mask_stack, (-1,)).eval()
    
    # array([ True, False, False, False,  True, False, False, False], dtype=bool)
    

    【讨论】:

    • 对于没有得到它的人(比如我)axis=1 在堆栈中会产生一个由 2 列组成的矩阵,其中包含与 False 配对的掩码元素。
    猜你喜欢
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 2021-05-21
    • 2017-11-07
    • 2013-05-17
    • 1970-01-01
    相关资源
    最近更新 更多