使用theano后端将Alexnet权重加载到keras模型中

时间:2017-07-14 11:29:02

标签: python-2.7 keras theano pre-trained-model

我正在使用预先训练好的模型,例如Alexnet,在这种情况下也会出现同样的错误。

我从这里下载了alexnet_weights - > https://github.com/heuritech/convnets-keras

然后我尝试了这个

来自keras.models的

导入load_model

base_model = load_model( 'alexnet_weights.h5')

我最终得到了

ValueError:配置文件中找不到模型。

请帮我摆脱它。

1 个答案:

答案 0 :(得分:0)

AlexNet不是Keras中支持的默认模型。也许您可以先尝试使用VGG16:

from keras.applications.vgg16 import VGG16
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input
import numpy as np
model = VGG16(weights='imagenet', include_top=False)
img_path = 'elephant.jpg'
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)

features = model.predict(x)

然后你可以转向使用AlexNet,但是你需要先构建模型结构并将其存储为你的“base_model”。你只有我相信的重量文件。然后你可以加载你拥有的重量文件。