Keras提供了多个预训练模型,如下所述:
https://keras.io/applications/
这些应用是预训练网络,包括以下几种:
- Xception
- VGG16
- VGG19
- ResNet50
- InceptionV3
- MobileNet
我知道,与其他模型相比,VGG16和VGG19是相当老的网络。然而,有没有简单的方法可以找出哪个模型最强大或拥有最多的权重?
可以通过执行类似以下代码来查看层的数量:
model = applications.ResNet50(...)print(len(model))
然而,这并不能提供关于提供的权重数量或复杂度的信息(例如,ResNet是残差网络,而VGG19不是)
回答:
这些模型是基于相应的原始论文实现的,你也可以在Keras文档中看到这些论文。
关于每个模型的详细优缺点,你应该阅读相关论文。较新的模型并不总是在所有应用中表现更好。
关于模型大小,你可以通过以下方式查看每层的权重数量:
[w.size for w in model.get_weights()]