Выполните свертку 2D + средний пул в Tensorflow / Keras - PullRequest
0 голосов
/ 19 июня 2020

Известно, что свертка обладает ассоциативным свойством: (A * B) * C = A * (B *C), где (*) обозначает оператор свертки. В keras выполнение двухмерной свертки + двухмерный средний пул (с шагами = (2,2)) дешевле, чем выполнение только одной свертки с шагами = (1,1). Я думаю, что это возможно, применив ассоциативное свойство и сначала выполнив свертку ядра B и C, но я пытаюсь достичь того же результата, что и keras через A * (B *C) вместо (A * B ) *C, где A - ввод изображения, а B и C - ядра, но результат отличается от keras.

Действительно возможно сначала свернуть ядро, K = B *C и, наконец, свернуть ввод с помощью K: A * K?

1 Ответ

0 голосов
/ 19 июня 2020
  • (A * B) * C не равно A * (B * C)
  • (A * B) матричное умножение, но (B * C) не 't, вы не можете просто отменить процесс
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...