簡體   English   中英

pytorch 操作:火炬張量中值的並集和反轉

[英]pytorch operations: union and inversion of values in torch tensor

我在 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.tensor 操作生成這些面具的並集嗎? 以便我可以在圖像上應用所有這些一次?

2:如何反轉火炬張量中的值? 我的意思是 1,變成 0,反之亦然。 我試過 ~mytensor 但它說該運算符僅適用於整數或布爾值。 我的張量中有浮點值,即 [1.] 等。

我打算在 GPU 上執行所有這些操作,而不將數據移回 CPU。

謝謝你。

2:如何反轉火炬張量中的值?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM