Я использую InceptionV3 с весами imagenet в Керасе.Версия Keras, которую я использую, - 2.2.4, а Keras-приложения - 1.0.8.Версия с тензорным потоком - 1.14.0.Я следую стандартному способу использования InceptionV3 для трансферного обучения, как указано здесь .Я получаю эту ошибку ValueError: Input 0 is incompatible with layer global_average_pooling2d_3: expected ndim=4, found ndim=2
.Я нашел GitHub post , где пользователь столкнулся с той же проблемой.Я последовал предложению, которое исправило проблему на посту GitHub, но мне не повезло.MWE ниже
from keras.layers import Input, Dense, Activation, GlobalAveragePooling2D
from keras.models import Model
from keras.applications.inception_v3 import InceptionV3
base_model = InceptionV3(weights='imagenet', include_top='False')
x = base_model.output
x = GlobalAveragePooling2D()(x) # Error appears here
x = Dense(1024, activation='relu')(x)
predictions = Dense(3, activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=predictions)