Изменение размера входного слоя в соответствующей модели Keras - PullRequest
0 голосов
/ 31 января 2019

Я использую модель Inception в Keras с предварительно обученными весами сети изображений.

Проблема заключается в том, что размер ввода по умолчанию для этой модели составляет 299x299 согласно документации Keras.В то время как мои изображения 230 * 350, и я не хочу изменять их размер, поскольку это приведет к искажению изображения.Поэтому я пытаюсь найти способ изменить размер входного слоя.

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

Любые идеи ..

input = Input(shape=(230, 350, 3), name='image_input')
base_model = InceptionV3(weights='imagenet', include_top=False, input_tensor=input)

x = base_model.output
x = GlobalAveragePooling2D()(x)
x = Dense(64, activation='relu')(x)
predictions = Dense(1, activation='sigmoid')(x)

model = Model(inputs=input, outputs=predictions)

for layer in base_model.layers:
    layer.trainable = True

model.compile(loss='binary_crossentropy',
              optimizer=Adam(lr=0.0001),
              metrics=['accuracy'])

1 Ответ

0 голосов
/ 31 января 2019

Inception V3 является полностью сверточной моделью.Вы используете глобальный пул на вершине сверточного кодера, поэтому небольшое отклонение от 299x299 не должно иметь большого значения.Если у вас нет сообщений об ошибках с вашим кодом, должно быть абсолютно нормально использовать его следующим образом.

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