欢迎来到天天文库
浏览记录
ID:28111636
大小:1.09 MB
页数:38页
时间:2018-12-08
《用Keras创造一个卷积神经网络来识别神奇宝贝妙蛙种子的填充玩具.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、用Keras创造一个卷积神经网络来识别神奇宝贝妙蛙种子的填充玩具 用Keras创造一个卷积神经网络来识别神奇宝贝妙蛙种子的填充玩具 简用Keras创造一个卷积神经网络来识别神奇宝贝妙蛙种子的填充玩具 用Keras创造一个卷积神经网络来识别神奇宝贝妙蛙种子的填充玩具 简介 本文内容是构建完整端对端图像分类+深度学习应用系列的第二部分,你将会了解如何在你自己的数据库中建立、训练并评估一个卷积神经网络。 为了让这个系列轻松、愉快,我决定实现我童年的一个梦想,那就是构造一个神奇宝贝图鉴。神奇宝贝图鉴是于神奇宝贝(一部很火的动画片、电子游戏和集换卡系列)世界中的一个设备(我曾经是以及
2、现在还是神奇宝贝的大粉丝)。 如果你对于神奇宝贝不了解,你可以把神奇宝贝图鉴想象成一个可以识别神奇宝贝(一个长得像动物、存在于在神奇宝贝世界的生物)的智能手机app。 当然你也可以换成你自己的数据,我只是觉得很有趣并且在做一件很怀旧的事情。 想要知道如何在你自己的数据库中用Keras和深度学习训练一个卷积神经网络,继续往下读就行了。 目录 1.Keras和卷积神经网络 我们的深度学习数据库 卷积神经网络和Keras项目的结构 Keras和CNN结构 完成我们的CNN+Keras训练脚本 用Keras训练CNN 创造CNN和Keras训练脚本 用CNN和Keras分类图片
3、 该模型的局限性 我们能否使用这个Keras深度学习模型建一个RESTAPI? Keras和卷积神经网络 在上周的博文中,我们学习了如何能快速建立一个深度学习的图像数据库——我们使用了博文中的过程和代码来收集、下载和组织电脑上的图像。 既然已有下载并组织好的图像,下一步就是在数据上训练一个卷积神经网络(CNN)。 我将会在今天的博文中向你展示如何用Keras和深度学习来训练你的CNN。下周将要发布这个系列的最后一部分,将会向你展示你如何仅用几行代码将你训练好的Keras模型应用在一个智能手机(特别是iPhone)app上。 这个系列的最终目的是帮助你建立一个能够运行的深度学习ap
4、p——用这个系列的文章作为发灵感启发,并且开始帮助你建立自己的深度学习应用。 现在让我们开始用Keras和深度学习训练一个CNN。 我们的深度学习数据库 图1:神奇宝贝深度学习数据库中的样本示意图。它展示了神奇宝贝的每个种类。正如我们所见,数据库的内容范围很大,包含了插画、电影/电视节目截图、模型、玩具等。 我们深度学习的数据库有1191个神奇宝贝)的图片。 我们的目标是用Keras和深度学习训练一个卷积神经网络来识别和分类这些神奇宝贝。 我们将要识别的神奇宝贝包括这几种: 妙蛙种子(234张图片) 小火龙(238张图片) 杰尼龟(223张图片) 皮卡丘(234张图片)
5、 超梦(239张图片) 每个种类的训练图片的示意图在图1中可见。 正如你所见,我们的训练图片包括: 电视节目和电影中的截图 集换卡 模型 玩具 粉丝的画作和艺术表达 我们的CNN将从这些涵盖范围很广的使N一大堆图片中识别出5种神奇宝贝。——而且我们将会看到,我们可以达到97%的分类准确率! 卷积神经网络和Keras项目的结构 今天的项目有很多活动部件?。我们现在从回顾项目的目录结构开始。 有3个目录: dataset:包含了5个种类,每个种类有自己单独的子目录,这使得分析种类标签较为容易。 examples:包含了我们将要用来测试CNN的图片。 pyimage
6、search模块:包含了SmallerVGGNet模型种类(在这片文章的后面将会用到)。 根目录下有5个文件: plot.png:训练脚本运行之后产生的的训练/测试准确率和失败率的图像 lb.pickle:LabelBinarizer序列化的目标文件——包含个从种类指标到种类名称的查找机制 pokedex.model:这是我们序列化的Keras卷积神经网络的模型文件(即权值文件) train.py:我们将用这个脚本来训练我们的KerasCNN,划分准确率/失败率,然后将CNN和标签二值序列化于磁盘上。 classify.py:测试脚本 Keras和CNN结构 图2:一个我称
7、为“SmallerVGGNet”的VGGNet类神经网络,它将被用于和Keras一起训练一个深度学习分类器。 我们将要使用的CNN结构是VGGNet网络的一个小而紧凑的变体。Simonyan和Zisserman在他们2014年的论文VeryDeepConvolutionalNetworksforLargeScaleImageRecognition中引入。 VGGNet类结构有这些特点: 在增
此文档下载收益归作者所有