当 Keras 包含权重时,为什么人们要为 DenseNet 导入权重?

数据挖掘 神经网络 喀拉斯 美国有线电视新闻网
2022-03-04 19:43:52

在几个 Kaggle 内核中,我看到人们经常将他们的权重导入 Keras 的 DenseNet。在以下情况下,我相信权重来自这个github repo,并且包含 ImageNet 数据集上的预训练权重。

densenet = DenseNet121(
    weights='../input/densenet-keras/DenseNet-BC-121-32-no-top.h5',
    include_top=False,
    input_shape=(im_size,im_size,3)
)

weights='imagenet'当您可以通过以下方式指定在 Keras 中使用 ImageNet 权重时,为什么人们会从文件中加载权重?

keras.applications.densenet.DenseNet121(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)

是否有我应该注意的区别,还是仅仅是个人喜好问题?

1个回答

因为它必须是仅内核的比赛,必须满足以下条件:“必须关闭互联网”。

当我们使用 "weights='imagenet'" 时,笔记本会连接到互联网来下载权重。由于该特定比赛用户无法连接到互联网,因此最好将权重作为数据源上传,然后将其导入以供使用。