迁移学习,载入自己数据训练好的模型并测试

vgg16的载入自己训练模型测试代码如下,resnet以及inceptionV可以替换掉vgg


import numpy as np
from keras.applications.imagenet_utils import decode_predictions
from keras.preprocessing import image
from keras.applications.vgg16 import VGG16
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input
import glob
from keras.models import Model 
import os
from keras.models import load_model
from keras.preprocessing.image import ImageDataGenerator

base_conv = VGG16(weights='imagenet',
                include_top = False,
                input_shape=(224, 224, 3))
#predictions=Dense(3, activation='softmax')(base_conv.output) # 定义模型
#model = Model(inputs=base_conv.input, outputs=predictions)

model=load_model('./vgg_cell.h5') 
#model.summarry()
file_path = '/home/customer/Desktop/vgg/vgg_cell/data1/test2/'
f_names = glob.glob(file_path + '*.png')
 
img = []
# 把图片读取出来放到列表中
for i in range(len(f_names)):
    images = image.load_img(f_names[i], target_size=(224, 224,3))
    x = image.img_to_array(images)
    x = np.expand_dims(x, axis=0)
    img.append(x)
    #print('loading no.%s image' % i)
    x = preprocess_input(x) 
    # 把图片数组联合在一起
    #x = np.concatenate([x for x in img])
    
    y = model.predict(x)
    print('picture%s image' % f_names[i],'Predicted:', y)

 

你可能感兴趣的:(图像分类,Python,CNN)