Что такое b, y, x и c, которые сглаживаются и возвращаются вместе с функциями max-pooled в tf.nn.max_pool_with_argmax?

Я просмотрел документацию tf.nn.max_pool_with_argmax, где написано

Performs max pooling on the input and outputs both max values and indices.

The indices in argmax are flattened, so that a maximum value at position [b, y, x, c] becomes flattened index ((b * height + y) * width + x) * channels + c.

The indices returned are always in [0, height) x [0, width) before flattening, even if padding is involved and the mathematically correct answer is outside (either negative or too large). This is a bug, but fixing it is difficult to do in a safe backwards compatible way, especially due to flattening.

Переменные b, y, x и c не были явно определены, поэтому у меня возникли проблемы с реализацией этого метода. Может ли кто-нибудь предоставить то же самое.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
60
1

Ответы 1

Я не могу комментировать из-за репутации.

Но я думаю, что переменные ссылаются на положение и размер окна Max Pooling. x и y - координаты x и y ядра при его перемещении вдоль входной матрицы, а b и c - ширина и высота ядра. Вы должны установить b и c в размере ядра.

Если у вас возникла проблема с реализацией максимального пула с помощью argmax, это не имеет ничего общего с этими переменными. Возможно, вы захотите указать проблему, с которой вы столкнулись с Max Pooling.

Как вы могли видеть, эти значения возвращаются в плоском формате. Поэтому для их извлечения мне пришлось бы применить математику вроде: c = ((return_value)% channels) и так далее, после этого мне пришлось использовать координаты полученного пикселя для выполнения операции кластеризации. Теперь моя проблема в том, являются ли x и y координатами пикселя в исходном изображении или (b, c) координатами. Я просмотрел исходный код github и до сих пор не могу найти, что такое b, c, x и y.

Anubhav Pandey 25.12.2018 06:18

Другие вопросы по теме