删除最后一层并在Keras中插入三个Conv2D层

我在Keras中有一个用于分类的模型,已经在某个数据集上进行了训练。我们称这个模型为“classification_model”。该模型被保存为“classification.h5”。用于检测的模型与此相同,只是我们删除了最后一个卷积层,并添加了三个大小为(3,3)Conv2D层。因此,我们的检测模型“detection_model”应该如下所示:

detection_model = classification_model[: last_conv_index] + Conv2d + Conv2d + Conv2d.

我们如何在Keras中实现这个操作呢?


回答:

好吧,加载你的分类模型,并使用Keras函数式API来构建你的新模型:

model = load_model("classification.h5")last_conv_layer_output = model.layers[last_conv_index].outputconv = Conv2D(...)(last_conv_layer_output)conv = Conv2D(...)(conv)output = Conv2D(...)(conv)new_model = Model(model.inputs, output)# 编译新模型并保存它 ...

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注