Я пытаюсь найти максимальное количество точек в 2D-тензоре для данного размера ядра, но у меня возникают проблемы с особым случаем, когда все значения одинаковы. Например, в следующем примере я хотел бы отметить каждую точку как максимальную точку:
+---+---+---+---+
| 5 | 5 | 5 | 5 |
+---+---+---+---+
| 5 | 5 | 5 | 5 |
+---+---+---+---+
| 5 | 5 | 5 | 5 |
+---+---+---+---+
| 5 | 5 | 5 | 5 |
+---+---+---+---+
Если я запускаю torch.nn.functional.max_pool2d с размером ядра = 3, шаг = 1 и заполнение = 1, я получаю следующие признаки:
+---+---+---+----+
| 0 | 0 | 1 | 2 |
+---+---+---+----+
| 0 | 0 | 1 | 2 |
+---+---+---+----+
| 4 | 4 | 5 | 6 |
+---+---+---+----+
| 8 | 8 | 9 | 10 |
+---+---+---+----+
Какие изменения мне нужно учитывать, чтобы вместо этого получить следующие признаки?
+----+----+----+----+
| 1 | 2 | 3 | 4 |
+----+----+----+----+
| 5 | 6 | 7 | 8 |
+----+----+----+----+
| 9 | 10 | 11 | 12 |
+----+----+----+----+
| 13 | 14 | 15 | 16 |
+----+----+----+----+