如何在tensorflow中计算两个数组元素的差集?
例如:我想从a中减去所有b的元素。
可能可以使用
在numpy中,你可以像这样做,但是我想要一个tensorflow解决方案来将此操作卸载到GPU设备上,因为对于大型数组来说,此操作的计算成本很高。
例如:我想从a中减去所有b的元素。
import numpy as np
a = np.array([[1, 0, 1], [2, 0, 1], [3, 0, 1], [0, 0, 0]])
b = np.array([[1, 0, 1], [2, 0, 1]])
期望结果:
array([[3, 0, 1],
[0, 0, 0]])
可能可以使用
tf.sets.set_difference()
完成,但我不知道如何做。在numpy中,你可以像这样做,但是我想要一个tensorflow解决方案来将此操作卸载到GPU设备上,因为对于大型数组来说,此操作的计算成本很高。
tf.sets.set_difference
仅在张量的最低维度上操作,并且允许两个输入张量中仅有最后一个维度不同。如果您尝试删除整行,即在集合的维度-2
上进行操作,则无法使用set_difference
。 - GPhilo