我是这样使用VG16的:
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')
我已经尝试加载权重并抛出错误
。。。返回此错误:
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
已知问题:https://github.com/keras-team/keras/issues/10417
有三种选择:1。重新创建模型架构并使用“
load_weights
”。这是好的,如果你只想做预测。2降级到Keras版本2.1.6.
3。此链接https://github.com/keras-team/keras/issues/10417#issuecomment-435620108提供了一个解决方法。我为VGG16改编了这个。这将更新h5文件。你知道吗相关问题 更多 >
编程相关推荐