我遇到了一些答案,说当我们在 .keras / models / 目录中声明预训练的模型权重文件时,它们会自动下载。 vgg=VGG16(weights='imagenet')
我设法从目录中找到文件并将其复制到我的工作目录中。当我尝试加载模型时,脚本返回错误
ValueError: You are trying to load a weight file containing 16 layers into
a model with 0 layers.
我该怎么办?
我的源代码如下
model=Sequential()
model.add(Concatenate([image_model, language_model]))
model.add(LSTM(1000, return_sequences=False))
model.add(Dense(vocab_size))
model.add(Activation('softmax'))
model.load_weights('./models/vgg16_weights.h5')
model.compile(loss='categorical_crossentropy', optimizer=Nadam(),
metrics=['accuracy'])
model.summary()
model.fit([images, captions], next_words, batch_size=512, epochs=50)
答案 0 :(得分:0)
我认为在较新版本的Keras中,您不需要定义模型架构和加载权重,而是可以像这样直接从Keras中加载VGG16模型
from keras.applications.vgg16 import VGG16
Here是指向其他模型的链接