Да, я привык сталкиваться с той же ошибкой: «Ошибка загрузки модели 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
немедленно, просто чтобы показать мою проблему.