是否有一个函数可以在pytorch的布尔矩阵中找到每一行的OR?

问题描述 投票:0回答:1

我有一个大小为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上完成。

python pytorch gpu boolean-logic
1个回答
0
投票

请参见torch.anytorch.any

都采用torch.all参数,因此可以计算行的torch.all / dim

© www.soinside.com 2019 - 2024. All rights reserved.