【发布时间】:2020-06-28 00:57:44
【问题描述】:
我想使用基于 MobileNetV2(在 Keras 上预训练)的微调模型。但我需要添加顶层以便将我的图像分为 2 个类。我想知道如何选择我需要的层的“架构”? 在某些示例中,人们使用 SVM 分类器或一系列具有特定数量神经元的 Dense 层作为顶层。
以下代码(默认情况下),它可以工作:
self.base_model = base_model
x = self.base_model.output
x = GlobalAveragePooling2D()(x)
x = Dense(1024, activation='relu')(x)
predictions = Dense(2, activation='softmax')(x)
是否有任何方法可以找到最佳解决方案?
【问题讨论】:
-
我认为您的解决方案很棒,真正的力量在于预训练模型。 2 或 3 个
Dense层,就像你做的那样,应该很棒。 -
它们是我必须选择的神经元数量的标准吗? (减少数量,增加,...)
-
这是参数调优,一定要测试看看。 Chompakorn 的回答实际上比我的评论要好。
标签: keras deep-learning neural-network conv-neural-network