【发布时间】:2020-01-25 17:35:14
【问题描述】:
我正在像这样使用 vgg16:
model = VGG16()
data, labels = ReadImages(TRAIN_DIR)
vgg16 = VGG16()
model = Sequential()
#Converting VGG16 into Sequential model
for layer in vgg16.layers[:-1]:
model.add(layer)
#Freezing all layers except last layer for transfer learning
for layer in model.layers:
layer.trainable = False
#Adding custom softmax layer
model.add(Dense(1,activation='sigmoid'))
#Compiling our model
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
model.fit(np.array(data), np.array(labels), batch_size=32, epochs=3)
model.save('model.h5')
当我尝试将此模型加载到另一个 py 文件中时..:
model = load_model('model.h5')
我已经尝试过 load_weights 并且也抛出了错误
...返回此错误:
ValueError: You are trying to load a weight file containing 16 layers into a model with 0 layers
我应该如何加载这个模型来进行预测?
版本:keras 2.2.4 tensorflow 1.14.0
【问题讨论】:
-
首先检查 Keras 版本,如果您一定要使用旧版本,请尝试定义 input_shape。看here。
标签: python machine-learning image-processing keras vgg-net