如何从Tensorflow中的训练模型中删除最后一层

时间:2019-03-28 07:56:23

标签: tensorflow keras

我想删除从https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md下载的“ faster_rcnn_nas_lowproposals_coco”模型的最后一层。 我知道在Keras中,我们可以使用model.layers.pop()删除最后一层。

但是我在Internet上搜索,并且在tensorflow中没有等效功能。 如果张量流中没有等效函数,有谁能告诉我如何加载Keras训练有素的Model Zoo?

1 个答案:

答案 0 :(得分:1)

您无需“弹出”图层,只需不必加载它:

以Mobilnet为例(但将下载的模型放在此处):

model = mobilenet.MobileNet()
x = model .layers[-1].output 

第一行加载整个模型,第二行加载最后一层之前的输出。 您可以更改“ layer [-x]”,其中x是所需图层的输出!

然后可以像这样使用它:

x = Dense(256)(x)
predictions = Dense(15, activation = "softmax")(x)
model = Model(inputs = model.input, outputs = predictions)

我希望我能帮忙!

相关问题