Keras InceptionV3砝码有问题吗?关于在Keras中使用预训练模型的问题

时间:2019-10-15 08:34:04

标签: python tensorflow keras transfer-learning

这更多是“问题”,而不是问题,但是,今天我在尝试使用Keras进行迁移学习时注意到了一些东西。我发现Francois Chollet's repository上的InceptionV3模型和预训练权重与Kaggle one不同。我使用diff命令进行了检查。 不仅如此,当我使用如下代码块时

from keras.applications.inception_v3 import InceptionV3

Inception_pretrained_weight = '../pre_weight/inception_v3_weights_tf_dim_ordering_tf_kernels_chollet.h5'

pre_trained_model = InceptionV3(input_shape=(160, 160, 3), 
                           include_top=False, 
                           weights=Inception_pretrained_weight)

for lr in pre_trained_model.layers:
    lr.trainable = False


for layr in pre_trained_model.layers:
    print("layer names: ", layr.name)

我收到一条错误消息-

ValueError: Layer #0 (named "conv2d_753" in the current model) was found to correspond to layer convolution2d_1 in the save file. However the new layer conv2d_753 expects 1 weights, but the saved weights have 2 elements.

在Kaggle页面上可用的模型不会发生这种情况。有人注意到吗?有谁知道这些模型有何不同以及为什么不同?我在此here上找到了另一篇文章,但这并没有帮助。任何建议,将不胜感激。

0 个答案:

没有答案