Почему расширенный слой свертки не уменьшает разрешение рецептивного поля?

Почему бы вам не сделать это с регулярным выражением? Согласно документации , что-то вроде этого должно работать:

import re

def anti_vowel(s):
    result = re.sub(r'[AEIOU]', '', s, flags=re.IGNORECASE)
    return result

Если вы часто используете эту функцию, вы можете скомпилировать регулярное выражение и использовать скомпилированную версию.

1
задан Anwarvic 5 March 2019 в 18:59
поделиться

1 ответ

Что ж, без заполнения выходной сигнал стал бы меньше входного. Эффект сравним с эффектом уменьшения нормальной свертки.

Представьте, что у вас есть 1d-тензор с 1000 элементами и расширенное ядро ​​свертки 1x3 с коэффициентом расширения 3. Это соответствует «общей длине ядра», равной 1 + 2free + 1 + 2free + 1 = 7. Учитывая ход из 1 выход будет 1d-тензор с 1000 + 1-7 = 994 элементов. В случае нормальной свертки с ядром 1x3 и коэффициентом шага 1 выход будет иметь 1000 + 1-3 = 998 элементов. Как видите, эффект можно рассчитать аналогично обычной свертке:)

В обеих ситуациях выходной сигнал станет меньше без заполнения. Но, как вы можете видеть, коэффициент расширения не влияет на масштабирование выходного размера, как в случае с коэффициентом шага.

Как вы думаете, почему в рамках Deeplab не выполняется заполнение? Я думаю, что в официальной реализации тензорного потока используется заполнение.

Лучший Франк

0
ответ дан FranklynJey 5 March 2019 в 18:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: