我在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])