каково выходное измерение начала и vgg16 - PullRequest
1 голос
/ 11 июля 2019

Я использовал две обученные модели сети изображений, то есть VGG16 и начало, используя следующие строки в python с использованием Keras API; где x - входное изображение, а размер пакета для простоты = 1.

VGGbase_model = InceptionV3(weights='imagenet', include_top=False, 
input_shape=(299,299,3))
Inceptionbase_model = VGG16(weights='imagenet', include_top=False, 
input_shape=(224,224,3))
predictVgg16= VGGbase_model.predict_on_batch(x)
predictinception= Inceptionbase_model.predict_on_batch(x)

Я заметил, что модель VGG16 предсказывает с выходным измерением (1,512), я понимаю, что 512 - это Функции, предсказанные VGG16. однако начальная модель выдает измерение 1,8,8,2048. Я понимаю, что 2048 - это вектор признаков, предсказанный в начале, но что такое 8,8, и почему VGG16 имеет только два измерения, а начало - 3. Любые комментарии, пожалуйста.

1 Ответ

0 голосов
/ 11 июля 2019

Вы можете просмотреть все размеры слоев, просто набрав:

print(Inceptionbase_model.summary())
print(VGGbase_model.summary())

из вас могут увидеть это здесь: InceptionV3 , vgg16

InceptionV3 имеет форму (None,8,8,2048) на последнем сверточном слое и vgg16 (None, 7, 7, 512). Если вы хотите получить функции от каждой модели, вы можете сделать это, вызвав модель с include_top=False и pooling='avg' или pooling='max' (это добавит слой объединения в конце и выдаст 2048 объектов для модели InceptionV3 и 512 для vgg16.

ех.

img_shape=(299,299,3)
Inceptionbase_model = InceptionV3(input_shape=img_shape, weights='imagenet', include_top=False, pooling='avg')
...