通过TensorFlow输出2D布尔掩蔽值



i有一个[n,m]输入和[n,m]布尔蒙版。如何输出a [n,x]过滤的矩阵,而不是[x]数组?
例如,输入

x = [[1,2,3],[4,5,6]]

和布尔面具

bm = [[1,0,1],[1,0,0]]

我尝试使用tf.boolean_mask((,然后得到[1,3,4]。我怎么能得到

的2D结果
result =  [[1,3],[4]]

谢谢!

在TF中不存在此操作,因为TF在张张子上操作并返回张量。您收到的结果具有不同数量的元素,而不是张量。

无法在TF中执行此操作。但是,您可以考虑使用numpy中的蒙版数组。你可以做

之类的事情
>>> import numpy as np, numpy.ma as ma
>>> x = ma.array([1., -1., 3., 4., 5., 6.], mask=[0,0,0,0,1,0])
>>> y = ma.array([1., 2., 0., 4., 5., 6.], mask=[0,0,0,0,0,1])
>>> print np.sqrt(x/y)
[1.0 -- -- 1.0 -- --]

最新更新