如前文所述,采用海量数据训练出来的神经网络模型,可以保存和下载。
你所需要的,仅仅是类似这样一段指令:
fromkeras.applications.resnet50importResNet50
并不复杂,对吗?很多时候,难与易的分水岭,往往在于多一点点的好奇心。
指令中的Keras,便是本专栏为你推荐的第一件“AI利器”。
简单科普:
Keras是一个神经网络工具集,底层支持包括谷歌的Tensorflow、微软的CNTK等工具,它可以帮助我们更直观地构建神经网络,进行AI应用的快速验证。
ResNet是Google提出的多层神经网络模型之一,曾获ImageNet挑战赛冠军。
“工欲善其事,必先利其器”,有了工具与模型,你已经可以像百度AI开放平台一样,实现自己的图像识别!
我们把《零基础AI-揭秘图像识别》中的车图片作为输入x,用ResNet50作为识别模型,看看得到什么样的输出y。
核心指令也非常简单:
model = ResNet50(weights='imagenet')
y = model.predict(x)
识别结果如下:
该模型以37.57%的置信度认为是运动轿车,35.98%的置信度认为是跑车,22.45%的置信度认为图片中有轮胎!
后文中,我们将介绍如何用Keras搭建神经网络,并训练自己的模型。
附赠示例源码test.py
$ python test.py 可运行结果(有问题可私信)
from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.applications.resnet50 import preprocess_input, decode_predictions
import numpy as np
model = ResNet50(weights='imagenet')
img_path = './Lykan.jpeg'
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)
preds = model.predict(x)
# decode the results into a list of tuples (class, description, probability)
# (one such list for each sample in the batch)
print('Predicted:', decode_predictions(preds, top=3)[0])
领取专属 10元无门槛券
私享最新 技术干货