我正在浏览 vgg16 模型并看到了这个:
model = VGG16(weights='imagenet')
和
model = VGG16()
- 以上两者有什么区别?
- 第二次初始化是否也会在导入的 vgg16 模型中加载权重?
- 如何在不加载权重的情况下只导入 vgg16 ?
这两者之间没有区别,因为根据文档,默认情况下weights
参数设置为'imagenet'
:
keras.applications.vgg16.VGG16(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
因此,如果您在实例化VGG16
类时未设置此参数,则默认情况下将设置为'imagenet'
,因此将加载 ImageNet 权重。
但是,如果您想只加载没有任何预训练权重的 VGG16 模型,则可以weights=None
在实例化VGG16
类时通过。阅读有关 VGG16 的文档以获取有关参数的更多信息。