pytorch运算:torch张量值的并集和反转



我在cuda/GPU上有一组掩码,对应于图像中的不同对象(形状和大小如下(

masks.shape:            torch.Size([10, 240, 320, 1])
masks[0].shape:         torch.Size([240, 320, 1])
masks[0][:,:,0].shape:  torch.Size([240, 320])

1:我能用torch张量运算产生这些掩码的并集吗?这样我就可以在图像上应用所有这些?

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

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

谢谢。

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

t = torch.tensor([1., 0., 0., 1., 0., 1., 1.])

如果你不想改变类型,你可以从1中减去值

1 - t
tensor([0., 1., 1., 0., 1., 0., 0.])

或者更好的是,您可以将其转换为布尔类型,然后使用~

~t.type(torch.bool)
tensor([False,  True,  True, False,  True, False, False])

最新更新