在 keras(VGG16 等)中的预实现模型中,指定我们可以更改模型输入的形状并仍然加载预训练的 imagenet 权重。
我感到困惑的是,第一层权重会发生什么?如果输入张量具有不同的形状,那么权重的数量将与预训练模型不同,不是吗?
这里是 Keras VGG16 模型的实现,供参考。
在 keras(VGG16 等)中的预实现模型中,指定我们可以更改模型输入的形状并仍然加载预训练的 imagenet 权重。
我感到困惑的是,第一层权重会发生什么?如果输入张量具有不同的形状,那么权重的数量将与预训练模型不同,不是吗?
这里是 Keras VGG16 模型的实现,供参考。
第一层是卷积和池化层:
这就是为什么您可以独立于输入张量形状重用权重的原因。
对于密集层(即最终层),您需要匹配形状,因此如果它们不匹配,您将无法重复使用它们。