Загрузите веса Alexnet в модель keras с помощью бэкэнда theano

Я использую предварительно обученную модель, такую ​​как Alexnet, и в этом случае также возникает та же ошибка.

Я загрузил alexnet_weights отсюда -> https://github.com/heuritech/convnets-keras < / а>

тогда я попробовал вот так

из keras.models импортировать load_model

base_model = load_model ('alexnet_weights.h5')

Я закончил с

ValueError: в файле конфигурации не найдена модель.

пожалуйста, помогите мне избавиться от этого.


person Rajesh    schedule 14.07.2017    source источник


Ответы (1)


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» в вашем случае. Думаю, у вас есть только файл с весами. Затем вы можете загрузить имеющийся у вас файл веса.

person circuitdesigner5172    schedule 14.07.2017
comment
Спасибо за предложение. Я уже делал это с VGG-16. которая является моделью по умолчанию в keras. Но в случае Alexnet (не по умолчанию в keras) я пытаюсь загрузить - alexnet_weights.h5. это выдает ошибку - person Rajesh; 16.07.2017
comment
можно мне еще одно предложение - person Rajesh; 17.07.2017
comment
Вы должны построить модель Alexnet. Например, если у VGG-16 есть 16 слоев, а у AlexNet более 17 слоев, куда пойдут эти дополнительные? Это похоже на попытку налить 1 л воды в чашку 0,25 л. Это не будет работать правильно! - person circuitdesigner5172; 17.07.2017