模型经过训练测试之后,我们往往用一两张图对模型预测结果进行分析讨论,那么下面介绍在keras中用已训练的模型经过测试的方法。
下面是以利用预训练的ResNet来展示预测的效果,选了一张狗的图片,是来自一个kaggle比赛的。
预测结果第一个是一种苏格兰品种的狗,我也不知道准不准 == 。
import numpy as np from keras.applications.imagenet_utils import decode_predictions from keras.preprocessing import image from keras.applications import * import os # 忽略硬件加速的警告信息 os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' file_path = 'images/0a70f64352edfef4c82c22015f0e3a20.jpg' img = image.load_img(file_path, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) model = ResNet50(weights='imagenet') y = model.predict(x) # print(np.argmax(y)) print('Predicted:', decode_predictions(y, top=3)[0])
讲几点:
1.输入img转成numpy数组,shape处理成(224,224,3)一般来讲,对于预训练模型是有一个最小的尺寸值,比最小尺寸大就可以了。在ResNet中,尺寸最小大于等于197即可。
2.要对输入shape扩维变成(None,224,224,3),第一个None是batches,模型并不知道你输入的batches是多少,但是维度必须和ResNet的输入要一致。
3.虽然用的是ResNet,自己设计的模型也一个道理,保留一下训练的权重,把model模块和预测模块分开写,这个时候load一下权重,再预测即可。
补充知识:keras:怎样使用 fit_generator 来训练多个不同类型的输出
这个例子非常简单明了,模型由1个输入,2个输出,两个输出的分支分别使用MSE作为损失。
x = Convolution2D(8, 5, 5, subsample=(1, 1))(image_input) x = Activation('relu')(x) x = Flatten()(x) x = Dense(50, W_regularizer=l2(0.0001))(x) x = Activation('relu')(x) output1 = Dense(1, activation='linear', name='output1')(x) output2 = Dense(1, activation='linear', name='output2')(x) model = Model(input=image_input, output=[output1, output2]) model.compile(optimizer='adam', loss={'output1': 'mean_squared_error', 'output2': 'mean_squared_error'})
产生训练数据的生成器,这里y=[y1,y2].
batch_generator(x, y, batch_size): ....transform images ....generate batch batch of size: batch_size yield(X_batch, {'output1': y1, 'output2': y2} ))
之后,调用fit_generator
model.fit_generator(batch_generator(X_train, y_train, batch_size))
原问题链接。
以上这篇在keras中对单一输入图像进行预测并返回预测结果操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]