Ввод переменных размера предварительно обученной модели Keras VGGnet

Я хочу извлечь особенности изображения размером 368x368 с предварительно обученной моделью VGG. Согласно документации, VGGnet принимает изображения размером 224x224. Есть ли способ предоставить Keras VGG ввод переменного размера?

Вот мой код:

# VGG Feature Extraction
x_train = np.random.randint(0, 255, (100, 224, 224, 3))
base_model = VGG19(weights='imagenet')
modelVGG = Model(inputs=base_model.input, outputs=base_model.get_layer('block4_conv2').output)
block4_conv2_features = modelVGG.predict(x_train)

Отредактированный код (Работает!)

# VGG Feature Extraction
x_train = np.random.randint(0, 255, (100, 368, 368, 3))
base_model = VGG19(weights='imagenet', include_top=False)
modelVGG = Model(inputs=base_model.input, outputs=base_model.get_layer('block4_conv2').output)
block4_conv2_features = modelVGG.predict(x_train)

person mkocabas    schedule 24.05.2017    source источник


Ответы (1)


Размер ввода влияет на количество нейронов в полностью связанных (Dense) слоях. Итак, вам нужно создать свои собственные полностью связанные слои.

Вызовите VGG19 с include_top=False, чтобы удалить полностью связанные слои, а затем добавьте их самостоятельно. Проверьте этот код для справки.

person Fábio Perez    schedule 24.05.2017