这是我参与8月更文挑战的第7天
前言
今日给大家带来的是图像识别技术——小狗分类器
工具使用
开发环境:win10、python3.6
开发工具:pycharm
工具包 :keras,numpy, PIL
效果展示
训练集的准确率为0.925,但测试集只有0.7
说明过拟合了,可以再增加一些图片,或者使用数据增强,来减少过拟合。
测试了两张图片,全都识别对了!
思路分析
- 1 准备数据集
- 2 数据集的预处理
- 3 搭建卷积神经网络
- 4 训练
- 5 预测
1、准备数据集
我们可以通过爬虫技术,把4类图像(京巴、拉布拉多、柯基、泰迪)保存到本地。总共有840张图片做训练集,188张图片做测试集。
2 数据集的预处理
1 统一尺寸为1001003(RGB彩色图像)
1 | python复制代码# 统一尺寸的核心代码 |
2 由于数据是自己下载的,需要制作标签(label),可提取图像名称的第一个数字作为类别。(重命名图片)
1 | python复制代码kind = 0 |
3 划分数据集
840张图片做训练集,188张图片做测试集。
4 把图片转换为网络需要的类型
1 | python复制代码# 只放了训练集的代码,测试集一样操作。 |
3 搭建卷积神经网络
Keras是基于TensorFlow的深度学习库,是由纯Python编写而成的高层神经网络API,也仅支持Python开发。
它是为了支持快速实践而对Tensorflow的再次封装,让我们可以不用关注过多的底层细节,能够把想法快速转换为结果。
1 | python复制代码# 1.搭建模型(类似于VGG,直接拿来用就行) |
4 训练
训练的过程,就是最优解的过程。
对上图来说,就是根据数据集,不断的迭代,找到一条最近似的直线(y = kx + b),把参数k,b保存下来,预测的时候直接加载。
1 | python复制代码# 编译模型 |
5 预测
此时k、b(参数)和x(小狗的图像)都是已知的了,求k(类别)就完了。
1 | python复制代码# 1.上传图片 |
文章到这里就结束了,感谢你的观看,Python数据分析系列,下个系列分享Python小技巧
为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。
干货主要有:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
All done~详见个人简介或者私信获取完整源代码。。
往期回顾
本文转载自: 掘金