Предположим, у меня есть массив [0, 2], я хотел бы вывести матрицу, состоящую из одного горячего вектора на основе [0, 2], например [[1, 0, 0] [0, 0, 1] ] (Обратите внимание, что второе измерение выходной матрицы предполагается равным 3, но оно может быть любым числом, превышающим argmax ([0,2]), равным 2.
Я могу думать только о том, как этого добиться функция. Есть ли более простой способ.
t = torch.tensor([0,2])
dim2_size = 3
id_t = torch.zeros(t.shape[0], dim2_size)
row_idx = 0
for i in t:
col_idx = i.item()
id_t[row_idx, col_idx] = 1
row_idx += 1
id_t