这更多是“问题”,而不是问题,但是,今天我在尝试使用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上找到了另一篇文章,但这并没有帮助。任何建议,将不胜感激。