是否可以使用2D数组在图形模式下掩盖张量像素?

时间:2019-10-13 03:13:25

标签: python numpy tensorflow keras mask

我想用1和0的数组遮盖像素数组。 我在图形模式下使用Keras,因此仅使用可以在张量上执行的操作。

大多数符号运算符似乎在图形模式下工作,并且有a subset of numpy operations in keras.backend.,但是不支持不进行迭代或枚举

例如,我有:

    arr = [[(1,2,3),(2,3,4),(4,5,6)],[(5,6,7),(6,7,8),(7,8,9)]]
    mask = [[1, 0, 1],[0, 0, 1]]
    # and I want
    arr * mask == [[(1,2,3),(0,0,0),(4,5,6)],[(0,0,0),(0,0,0),(7,8,9)]]

实际数组是图像,比本示例大得多。 是否有合理的方法掩盖这样的点?

1 个答案:

答案 0 :(得分:0)

从您提供的代码中,最简单的方法之一就是使用广播,例如注释中提到的@ user1318499。由于mask的形状为(2,3),而arr的形状为(2,3,3),因此mask可以扩展为一个暗度,以便与{{1} }。

arr