tensorflow - 为什么 Keras 模型仅使用 imagenet 权重进行实例化?

标签 tensorflow keras deep-learning conv-neural-network pre-trained-model

如果我们查看 Keras 中的可用模型列表,如图所示 here我们看到几乎所有这些都是用 weights='imagenet' 实例化的。例如:

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

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

谢谢

最佳答案

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

关于tensorflow - 为什么 Keras 模型仅使用 imagenet 权重进行实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62739893/

相关文章:

python - Keras 模型中特定于层的学习率

python - 断言 'GDK_IS_DISPLAY (display)' 失败 - 无法确定以下参数 : data 的类型

tensorflow:一级分类

performance - Tensorflow:高效的多项式采样(Theano x50 更快?)

python - 第一批后 Tensorflow ResourceExhaustedError

python - 如何读取整个 CSV 文件作为 tensorflow 中的一个训练示例?

python - Tensorflow 对象检测培训最佳实践问题

python - 我该如何解决 KERAS 的问题

python - 如何循环遍历Keras fit函数?

python - Keras:指定始终保持某些特征的输入丢失层