Ненулевые координаты в PyTorch
Список позиций, где элемент не равен
нулю, даёт функция nonzero.
Каждая строка ответа - один набор
индексов: для таблицы это номер
ряда и номер столбца.
Создадим таблицу с пропусками в виде нулей и выведем координаты остальных ячеек:
import torch
marks = torch.tensor([[0, 1, 0], [2, 0, 3]])
places = torch.nonzero(marks)
print(places)
Первая строка таблицы координат
соответствует ячейке со значением
1, вторая - 2,
третья - 3. Для одномерного
тензора в каждой строке один
индекс:
import torch
signal = torch.tensor([0, 5, 0, 6, 0])
places = torch.nonzero(signal)
print(places) # выведет tensor([[1], [3]])
Создайте таблицу [[0, 0], [4, 0]]
и выведите таблицу координат
всех ячеек, где число не ноль.
Создайте ряд [0, 2, 0, 0, 7]
и выведите координаты ненулевых
элементов.
Создайте таблицу 3 на 3
из нулей, поставьте 1
в центральную ячейку и выведите
её координаты одной строкой таблицы.