关注《编程高手杰瑞》,每天有更新哦!
猫狗分类
在本系列教程中,杰瑞会教大家如何去使用tensorflow深度学习框架去实现猫狗分类,顾名思义,猫狗分类就是让计算机识别出图片中的动物,并将它分为猫类或者狗类。杰瑞把这个系列的教程分为三大部分:制作数据集、开始训练、开始测试,每一部分单独写一篇推文,有兴趣的朋友可以关注《编程高手杰瑞》。
数据集准备
数据集我们可以从kaggle平台那里获取,kaggle平台提供了许多专业竞赛使用的数据集,如果没有猫狗分类数据集的同学可以去kaggle官网获取。
在这里杰瑞默认你们已经把数据集下载好了,接下来要做的就是将这些数据集制作成TFrecords文件,因为我们在训练猫狗分类模型的时候需要大量的数据,而直接去读取图片文件是一件特别消耗时间的一件事情,所以我们要把图片文件制作成TFrecords文件。
TFrecords
TFrecords文件是tensorflow框架自带的文件格式,它是一种二进制文件,里面可以“成块”地存放你的训练数据和标签。
开始生成tfrecords文件
下面就是我们下载好的kaggle数据集,先来分析一下目录结构然后再编写代码,把下载好的kaggle数据集解压出来会有两个文件夹,分别是train、test,这两个文件夹里面是一张张的图片文件。
train文件夹里面有猫的图片和狗的图片,我们可以根据文件名称来生成猫的标签和狗的标签,在这里我们设猫为1、狗为0。
数据预处理
我们把每一张图片都进行预处理,主要是改变图片大小、数据类型、数据形式,杰瑞把这部分功能单独写成一个函数(制作成TFrecords文件的图片要转换成二进制形式)
生成TFrecords文件
下图中的代码就是生成TFrecords文件的通用代码格式,红框中的参数改成你想要的文件名就行了,标签值这个根据实际应用场景来定,在本例中就用1和0来表示。
由于数据集比较庞大所以生成的时间有点长,杰瑞花了大概十几分钟的时间才生成完整的TFrecors文件。
下节内容
下一篇推文杰瑞将教大家去使用卷积神经网络训练猫狗分类模型,感兴趣的同学可以关注《编程高手杰瑞》