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])
意思是 77%的概率是 hoopskirt 也就是长外裙 12%的概率是miniskirt超短裙 0.04%的概率是罩群
这里我只输出了前三个可能