python - 为什么微调的 vgg-16 在相同的数据集上比微调的 inception-v3 表现更好?
问题描述
我有一个我在现场收集的植物图像数据集。我用这个数据集训练了一个微调的 inception-v3 和一个 vgg16 模型。
这对于两个数据集都是一样的
opt = SGD(lr=0.001, momentum=0.09)
# Fine-tuning with a small learning rate
model.compile(loss = 'categorical_crossentropy',optimizer = opt,
metrics=['accuracy'])
VGG16
我冻结了基础模型中的所有层,并训练了 50 个 epoch 以进行预热。然后我从层索引 15 开始解冻层并训练 100 个 epoch。
初始v3
我冻结了基础模型中的所有层并训练了 20 个 epoch。接下来,我解冻层索引 249 以下的所有层,如keras 文档中所述,并训练了 100 多个 epoch。
这就是结果。
很明显,vgg16 的性能优于 inceptionv3。这是什么原因?
解决方案
推荐阅读
- laravel-5 - 如何从最后一行数值设置自动增量+1
- reactjs - React 中的全局变量/状态(使用 React 路由器)
- php - Laravel 6:不在实时服务器中通过 smtp 发送电子邮件
- mysql - 为什么 59.95 可以精确存储双精度数?
- sql - 我正在尝试计算每个具有多个预订位置 ID 的唯一订单号
- python - 如何在 Python 函数中使用 try-except 返回布尔值?
- android - 向约束布局添加圆角会留下白色背景
- android - 导航组件:如何从活动导航到片段
- scala - Scala Tour 隐式转换示例
- php - 当我尝试在 laravel 中使用播种机时如何解决问题?