Учитывая массив и маску одинаковых фигур, я хочу получить маскированный вывод той же формы, содержащий 0, где маска - Ложь.
Например,
# input array
img = torch.randn(2, 2)
print(img)
# tensor([[0.4684, 0.8316],
# [0.8635, 0.4228]])
print(img.shape)
# torch.Size([2, 2])
# mask
mask = torch.BoolTensor(2, 2)
print(mask)
# tensor([[False, True],
# [ True, True]])
print(mask.shape)
# torch.Size([2, 2])
# expected masked output of shape 2x2
# tensor([[0, 0.8316],
# [0.8635, 0.4228]])
Проблема:маскировка изменяет форму вывода следующим образом:
#1: shape changed
img[mask]
# tensor([0.8316, 0.8635, 0.4228])