首页 > 解决方案 > 为什么 Keras 模型仅使用 imagenet 权重实例化?

问题描述

如果我们查看此处显示的 Keras 中可用模型的列表,我们会发现几乎所有模型都使用weights='imagenet'. 例如:

model = VGG16(weights='imagenet', include_top=False)

为什么总是imagenet?是因为它是基线吗?如果没有,还有哪些其他可用选项?

谢谢

标签: tensorflowkerasdeep-learningconv-neural-networkpre-trained-model

解决方案


Imagenet 是图像分类的事实标准。每年都会举办一场比赛,有 1000 个类别的数百万张训练图像。imagenet 分类竞赛中使用的模型是相互衡量的性能。因此,它为模型对图像分类的好坏提供了一个“标准”度量。很多常用的迁移学习模型模型都使用 imagenet 权重。如果您使用迁移学习,您的模型可以通过向模型添加额外的层来为您的应用程序定制。您不必使用 imagenet 权重,但它通常是有益的,因为它有助于模型在更少的时期内收敛。我使用它们,但我还将所有层设置为可训练的,这有助于使模型的权重适应您的应用程序。


推荐阅读