У меня большой тензор с размером (128, 64, 1, 1). Для каждых двух маленьких тензоров размера (1, 1) в этом большом тензоре я хочу случайным образом присвоить одному значение 1, а другому - 0.
Мой следующий код работает, но он очень медленный.
# a is a big tensor of size (128, 64, 1, 1)
for i in range(a.size()[0]):
j = 0
while j < a.size()[1] - 1:
r = int(torch.randint(0, 2, (1,)))
a[i][j + r] = 1
a[i][j + 1 - r] = 0
j += 2
Есть ли способ избежать циклов for и выполнять каждое назначение параллельно? Спасибо.