Как выбрать размер входного изображения для видимого слоя CNN в кератах - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть данные изображений (jpg) со следующим распределением по ширине и высоте:

enter image description here

Средняя ширина и высота:

print(width.mean());print(height.mean())

1060.6722738386309
1577.478630806846

Я не понимаю, какой ввод я должен подавать в видимом слое CNN:

Я начал со следующей конфигурации:

model = Sequential()
model.add(Conv2D(16,(3,3),activation='relu',input_shape=(400,300,3)))

Является ли размер ввода i выбрал разумный (я просто пошел с тем фактом, что сначала взяли среднюю ширину и высоту @ 1/3. Для этого есть какой-то разумный способ выбора input_shape?

1 Ответ

0 голосов
/ 13 апреля 2020

Есть 2 способа сделать это.

1> Фиксированный размер ввода: в этом случае вам нужно изменить размер изображения до фиксированного размера, скажем (400,300,3), используя opencv или подушку

или

2> Создание полностью сверточной сети, просто определите слой следующим образом:

model = Sequential()
model.add(Conv2D(16,(3,3),activation='relu',input_shape=(None,None,3)))
...