Как работает пользовательский input_shape для Inception V3 в Keras? - PullRequest
0 голосов
/ 04 февраля 2019

Я знаю, что input_shape для Inception V3 - (299,299,3).Но в Keras можно создать версии Inception V3, которые имеют пользовательский input_shape, если include_top равен False.

"input_shape: необязательный кортеж формы, только для указания, если include_top is False (иначе входная форма должна быть (299, 299, 3)'channels_last' форматом данных) или (3, 299, 299)'channels_first' форматом данных). Она должна иметь ровно 3 входных канала, а ширина и высота должныбыть не меньше 75. Например, (150, 150, 3) будет одним допустимым значением "- https://keras.io/applications/#inceptionv3

Как это возможно и почему он может иметь собственный input_shape, только если include_top равен false?

1 Ответ

0 голосов
/ 04 февраля 2019

Это возможно, потому что модель полностью сверточная.Свертки не заботятся о размере изображения, это «скользящие фильтры».Если у вас большие изображения, у вас есть большие выходы, если маленькие изображения, маленькие выходы.(Однако фильтры имеют фиксированный размер, определяемый kernel_size и входными и выходными фильтрами)

Вы не можете сделать это, когда используете include_top, потому что эта модель, вероятно, использует слой Flatten(), за которым следуетDense слоев в конце.Dense слоям требуется фиксированный размер ввода (заданный сглаживанием на основе размера изображения), в противном случае было бы невозможно создать обучаемые веса (иметь переменное количество весов не имеет смысла)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...