机器学习学习笔记--使用Keras实现图片预测

Keras 是一个基于 Python 的高层神经网络库,其可以使用 Tensorflow、Theano 以及 CNTK 等著名深度学习框架作为后端。


最好在Linux Ubuntu下操作,搭建环境,这样可以省很大功夫。这里我基于windows10下操作。


使用工具:Pycharm + anaconda3.4  


环境安装

1.conda install tensorflow-gpu

2.conda install tensorflow

3.conda install keras

4.conda install numpy

确保这些库都安装了

注意:anaconda 里的Pandas 库 在这里要用 0.19.2版本的 ,如果你的版本已经是0.2以上的请回退到 0.19.2的版本 

不然会报这个错:AttributeError: module 'pandas' has no attribute 'computation'


预训练模型下载:

 Keras里有很多已经训练好的模型,供我们使用。如:Xception、VGG16、ResNet50、InceptionV3、MobileNet等等。

使用这些训练集可以帮我们识别大多数图片。这里我们使用InceptionV3

由于这个本来是在国外网站的,我已经把文件上传到百度云了,去获取就好。

链接:http://pan.baidu.com/s/1jId4tWq 密码:hmmy


下载后请新建一个文件夹 Keras 在里面在新建model 文件夹 把刚刚下载的文件放在里面    Keras文件夹在源代码旁边


这样训练集就获取到了


打开IPython

from keras.applications.inception_v3 import InceptionV3
import keras
model = InceptionV3()
model.summary()

得到这个图 代表你已经成功导入数据集了 



这里训练集有2千万条


再导入这些库

import numpy as np
from keras.preprocessing import image
from keras.applications.inception_v3 import InceptionV3
from keras.applications.inception_v3 import preprocess_input
from keras.applications.inception_v3 import decode_predictions


准备一个要识别的图片 这里我选择爱衣的图片   


输入以下代码

img = image.load_img('timg.jpg',target_size=(299,299))
x = image.img_to_array(img)
x = np.expand_dims(x,axis=0)   #这三行的意思是提取 图片特征
x = preprocess_input(x)
preds = model.predict(x)
print('Predicted:',decode_predictions(preds,top=3)[0])


得到结果:Predicted: [('n03534580', 'hoopskirt', 0.77724248), ('n03770439', 'miniskirt', 0.12247533), ('n03866082', 'overskirt', 0.0047637392)]



意思是 77%的概率是 hoopskirt 也就是长外裙  12%的概率是miniskirt超短裙 0.04%的概率是罩群

这里我只输出了前三个可能 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值