Pytorch'ta üst üste binen indislerle başka bir tensöre bir indeks seçilmiş tensör ekleyin
Jan 06 2021
Bu, bu sorunun ardından gelen bir sorudur . Ben de aynısını ateşte yapmak istiyorum. Bunu yapmak mümkün mü? Varsa nasıl?
import torch
image = torch.tensor([[246, 50, 101], [116, 1, 113], [187, 110, 64]])
iy = torch.tensor([[1, 0, 2], [1, 0, 2], [2, 2, 2]])
ix = torch.tensor([[0, 2, 1], [1, 2, 0], [0, 1, 2]])
warped_image = torch.zeros(size=image.shape)
Bunun gibi torch.add.at(warped_image, (iy, ix), image)
çıktıya ihtiyacım var
[[ 0. 0. 51.]
[246. 116. 0.]
[300. 211. 64.]]
Not bu endeks ile (0,1)
ve (1,1)
nokta aynı konuma (0,2)
. Yani istiyorum warped_image[0,2] = image[0,1] + image[1,1] = 51
.
Yanıtlar
3 Ivan Jan 06 2021 at 01:23
Ne arıyorsun olduğu torch.Tensor.index_put_ile accumulate
argüman setine True
:
>>> warped_image = torch.zeros_like(image)
>>> warped_image.index_put_((iy, ix), image, accumulate=True)
tensor([[ 0, 0, 51],
[246, 116, 0],
[300, 211, 64]])
Veya yer dışı sürümü kullanarak torch.index_put
:
>>> torch.index_put(torch.zeros_like(image), (iy, ix), image, accumulate=True)
tensor([[ 0, 0, 51],
[246, 116, 0],
[300, 211, 64]])
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'