Python 3.x pytorch运算:torch张量中值的并集和反转

Python 3.x pytorch运算:torch张量中值的并集和反转,python-3.x,opencv,image-processing,pytorch,tensor,Python 3.x,Opencv,Image Processing,Pytorch,Tensor,我在cuda/GPU上设置了一组对应于图像中不同对象的遮罩(形状和尺寸如下) 1:我能用torch.tensor操作生成这些面具的并集吗?这样我就可以在图像上应用所有这些 2:如何反转torch张量中的值?我的意思是,1变成0,反之亦然。我试过使用~mytensor,但它说运算符只适用于整数值或布尔值。我的张量中有浮点值,比如[1]等等 我打算在GPU上执行所有这些操作,而不将数据移回CPU 多谢各位 2:如何反转torch张量中的值 t=火炬张量([1,0,0,1,0,1,1,1.])) 如

我在cuda/GPU上设置了一组对应于图像中不同对象的遮罩(形状和尺寸如下)

1:我能用torch.tensor操作生成这些面具的并集吗?这样我就可以在图像上应用所有这些

2:如何反转torch张量中的值?我的意思是,1变成0,反之亦然。我试过使用~mytensor,但它说运算符只适用于整数值或布尔值。我的张量中有浮点值,比如[1]等等

我打算在GPU上执行所有这些操作,而不将数据移回CPU

多谢各位

2:如何反转torch张量中的值

t=火炬张量([1,0,0,1,0,1,1,1.]))
如果不想更改类型,可以从1中减去值

1-t
张量([0,1,1,0,1,0,0,0.]))
或者,您可以将其转换为布尔类型,然后使用
~

~t.type(torch.bool)
tensor([False,  True,  True, False,  True, False, False])
1.(torch.sum(masks,dim=0)>0)。astype('float')会起作用
~t.type(torch.bool)
tensor([False,  True,  True, False,  True, False, False])