删除部分模型后训练预训练模型

时间:2019-03-07 13:14:05

标签: tensorflow keras

我想进一步训练一个预训练模型,但是要删除3-4个最后一层。到目前为止的代码是这样的,其中“ tunedmodel”是微调模型。

from keras.models import load_model

model=load_model('TunedModel.h5')

model.layers.pop()
model.layers.pop()
model.layers.pop()

x=model.output
print(x)

model.summary()


x=UpSampling2D()(x)
x=SeparableConv2D(32,(3,3), padding='same', depth_multiplier=3)(x)
x=Conv2D(64,(1,1), padding='same')(x)
x=Activation('relu')(x)
#14x14x64

model.summary()

model=Model(inputs=model.input,outputs=x)

model.compile(optimizer='adam', loss='binary_crossentropy')


from keras.callbacks import TensorBoard

model.fit(train_images,train_images,batch_size=4, epochs=10,validation_data=(test_images,test_images))
model.save('end-to-end.h5')

但是问题在于,删除某些图层后,由于模型中的输出图层可能是固定的,所以我仍然得到低秩矩阵的错误。请告诉我如何删除一些图层,然后将输出提供给下一层。

0 个答案:

没有答案