gpt4 book ai didi

tensorflow - 如何加载微调的 keras 模型

转载 作者:行者123 更新时间:2023-12-04 11:02:44 25 4
gpt4 key购买 nike

我正在关注 this使用 VGG16 模型尝试微调的教程,我训练了模型并保存了 .h5文件使用 model.save_weights

vgg_conv = VGG16(include_top=False, weights='imagenet', input_shape=(image_size, image_size, 3))

# Freeze the layers except the last 4 layers
for layer in vgg_conv.layers[:-4]:
layer.trainable = False

model = Sequential()
model.add(vgg_conv)
model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(11, activation='softmax'))

然后我尝试使用以下方法重建架构并加载权重
def create_model(self):
model = Sequential()
vgg_model = VGG16(include_top=False, weights='imagenet', input_shape=(150, 150, 3))
model.add(vgg_model)
model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(11, activation='softmax'))
model.load_weights(self.top_model_weights_path) # throws error
return model

但它然后抛出这个错误
ValueError: Cannot feed value of shape (512, 512, 3, 3) for Tensor 'Placeholder:0', which has shape '(3, 3, 3, 64)'

我究竟做错了什么?

最佳答案

问题来自两个模型之间的可训练差异。如果您卡住 create_model 函数中的最后 4 个层,它将起作用。

但正如 Igna 所说,model.save 和 model.load_model 更简单。

关于tensorflow - 如何加载微调的 keras 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58693138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com