Да, я привык сталкиваться с той же ошибкой: «Ошибка загрузки модели keras при попытке загрузить файл весов, содержащий 17 слоев, в модель с 0 слоями», потому что выглядит, как будто это примерно 2 куска »в функции Load_model из Keras. Но если вместо load_model = "file" вы бросаете вызов модели, а затем загружаете веса. Это работает. Проблема возникает только при попытке загрузить load_model.

тоящее время я работаю над моделью vgg16 с керасом. Я тонко настраиваю модель VGG с некоторыми моими слоями. После подгонки моей модели (тренировки) я сохраняю свою модель сmodel.save('name.h5'), Это может быть сохранено без проблем. Тем не менее, когда я пытаюсь перезагрузить модель сload_model функция, она показывает ошибку:

Вы пытаетесь загрузить файл весов, содержащий 17 слоев, в модель с 0 слоями

Кто-нибудь сталкивался с этой проблемой раньше? Моя версия keras 2.2.

Вот часть моего кода ...

from keras.models import load_model
vgg_model = VGG16(weights='imagenet',include_top=False,input_shape=(224,224,3))    
global model_2
model_2 = Sequential()
for layer in vgg_model.layers:
    model_2.add(layer)
for layer in model_2.layers:
    layer.trainable= False
model_2.add(Flatten())
model_2.add(Dense(128, activation='relu'))
model_2.add(Dropout(0.5))
model_2.add(Dense(2, activation='softmax'))
model_2.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model_2.fit(x=X_train,y=y_train,batch_size=32,epochs=30,verbose=2)
model_2.save('name.h5')
del model_2
model_2 = load_model('name.h5')

На самом деле я не удаляю модель, а затемload_model немедленно, просто чтобы показать мою проблему.

Ответы на вопрос(2)

Ваш ответ на вопрос