0
点赞
收藏
分享

微信扫一扫

ResNet 和 DenseNet 区别

Raow1 2023-12-13 阅读 33

CNN史上的一个里程碑事件是ResNet模型的出现,ResNet可以训练出更深的CNN模型,从而实现更高的准确度。ResNet模型的核心是通过建立前面层与后面层之间的“短路连接”(shortcuts,skip connection),这有助于训练过程中梯度的反向传播,从而能训练出更深的CNN网络。

DenseNet模型,建立的是前面所有层与后面层的密集连接(dense connection),它的名称也是由此而来。DenseNet的另一大特色是通过特征在channel上的连接来实现特征重用(feature reuse)。这些特点让DenseNet在参数和计算成本更少的情形下实现比ResNet更优的性能。

示例代码如下:

base_model = DenseNet121(weights='imagenet',
include_top=False,
input_shape=(150, 150, 3)
)
base_model = models.Model(inputs=base_model.inputs, outputs=base_model.output)

model = models.Sequential()
model.add(base_model)
model.add(layers.Flatten())
model.add(layers.BatchNormalization())
model.add(layers.Dense(2048, activation='relu'))
model.add(layers.Dropout(0.2))
model.add(layers.Dense(1, activation='sigmoid'))

for layer in base_model.layers:
layer.trainable = False


举报

相关推荐

Densenet(2018)

densenet keras 实现

0 条评论