情人节选花神器——深度学习指南

大鹏说 :本文约1200字,阅读需要4分钟。本文讲述了利用深度学习原理实现自动识别花卉品种的过程。成果优秀,令人惊奇,绝对是情人节选花神助手~

关键词:阿里云 Python 邮件 星座

p.s.文末有源代码分享

转眼,一年一度的情人节又到了。每个情人节我总要面临一个问题:如何给我的女盆友们买花?花店里琳琅满目的花,我又不认识,万一买错品种了,我将会永远失去她们。我决定搞一个模型来帮我完成花的识别工作。

1. 学习素材准备

为了掌握花卉的鉴别能力,我特地找了海量的花卉图片以供赏析。

一共14个品种的花:

每个品种共1000张艳照,共计14000张:

如何让机器能够准确识别这些花的品种,很简单,一遍一遍反复的学习,直到能认准为止——“一遍一遍反复学习”这一行为,我们称之为深度学习。

学习要讲究方法,比如如何区分玫瑰和菊花,很简单,玫瑰一般为红色,花朵是卷起来的,而菊花是黄灿灿的,花朵的形状…大家都懂的。这种提取特征的学习方法,我们通常称之为卷积。

2. 模型建立

先导入用于深度学习的python包,我们使用Keras框架

from keras.models import Sequential
from keras.layers import Conv2D,MaxPool2D,Activation,Dropout,Flatten,Dense
from keras.optimizers import Adam
from keras.preprocessing.image import ImageDataGenerator,img_to_array,load_img
from keras.models import load_model

因为Keras框架本身是基于tensorflow构建的,性能卓著,又不需要tensorflow超高难度的代码编写,封装十分彻底,用法与skitlearn类似。

在开始组织神经网络前,我们先定义一些参数,方便调试与修改。

IMG_W = 224 #定义裁剪的图片宽度
IMG_H = 224 #定义裁剪的图片高度
CLASS = 14 #图片的分类数
EPOCHS = 5 #迭代周期
BATCH_SIZE = 64 #批次大小
TRAIN_PATH = 'data/train' #训练集存放路径
TEST_PATH = 'data/test' #测试集存放路径
SAVE_PATH = 'flower_selector' #模型保存路径
LEARNING_RATE = 1e-4 #学习率
DROPOUT_RATE = 0 #抗拟合,不工作的神经网络百分比

下面是每个参数的解释:

IMG_W,IMG_H:用于模型学习的图片尺寸。
因为我们的样本图片尺寸各不相同,而模型学习需要大小统一的图片,所有这里设定其宽高。研究表明正方形的图片在模型拟合方面,效果优于长方形的图片,所以这里长宽设置相同。特别注意,图片尺寸越大,训练花费时间越久,所以千万不要设置如1920*1920分辨率大小,否则就算等到天荒地老模型也训练不完。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值