我有一个大小为n x m的矩阵A,所有条目都是布尔值。我希望所有计算都在GPU上,并且我将矩阵A存储为张量,每个条目都是pytorch的bool数据类型。我希望单个向量b的输出是一个1 x m张量,用于存储A中所有行的OR。
我想要的是:矩阵=[a 1,1,a 1,2 、、 a 1,3,...,a 1,m][a 2,1,a 2,2 、、 a 2,3,...,a 2,m]...[a n,1,a n,2 、、 a n,3,...,a n,m]
b = [b 1,b 2,,b 3,,...,b m]
s.t。 b i = a 1,i | a 2,i | a 3,i | ... | a n,i其中|是Pytorch中的OR运算符
本质上,我想要一个应用行或列明智的布尔运算的函数。我知道可以使用.__OR__
,并且Pytorch的OR函数将两个布尔张量用作输入,我需要遍历所有行以获得所需的b向量。由于OR是可交换的(a |(b | c)=(a | b)| c),我认为pytorch将具有一些不错的功能,可以通过| |来加快速度。并行或以某种“分而治之”的方法进行操作,而不是通过循环来完成。欢迎任何使用pytorch加快应用可通信行/列明智布尔运算的过程的想法或参考。最好是所有操作都在GPU上完成。