【keras】加载VGG16模型的预训练权重

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time: 2018/8/15
# @Author: xfLi
#加载模型的预训练权重

import numpy as np

from keras.applications.vgg16 import VGG16
from keras.models import Model
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input


#加载VGG16预训练
base_model = VGG16(weights='imagenet', include_top=True)
for i, layer in enumerate(base_model.layers):
    print(i, layer.name, layer.output_shape)

model = Model(inputs=base_model.inputs, outputs=base_model.get_layer('block4_pool').output)

img_path = 'cat,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)
print(features)

猜你喜欢

转载自blog.csdn.net/qq_30159015/article/details/81709019