您当前的位置:首页 > IT编程 > cnn卷积神经网络
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:keras中对单一输入图像进行预测并返回预测结果

51自学网 2020-03-04 09:06:04
  cnn卷积神经网络
这篇教程keras中对单一输入图像进行预测并返回预测结果写得很实用,希望能帮到您。
模型经过训练测试之后,我们往往用一两张图对模型预测结果进行分析讨论,那么下面介绍在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一下权重,再预测即可。



github地址 ,欢迎关注!!
原文链接:https://blog.csdn.net/u012193416/article/details/79375832
keras中对多张输入图片进行预测并返回预测结果
利用keras加载训练好的.H5文件,并预测图片
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1