项目全部代码在文章末尾
1、任务描述
Cats vs. Dogs(猫狗大战)数据集下载地址为https://www.kaggle.com/c/dogs-vs-cats/data。这个数据集是Kaggle大数据竞赛某一年的一道赛题,利用给定的数据集,用算法实现猫和狗的识别。 其中包含了训练集和测试集,训练集中猫和狗的图片数量都是12500张且按顺序排序,测试集中猫和狗混合乱序图片一共12500张。
卷积神经网络(CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络”。不使用深度学习框架,用numpy基础代码来构建自己的深度学习网络。
2、数据预处理
为了加速训练算法的收敛速度,一般都会采用一些数据预处理技术。卷积神经网络的输入特征需要进行标准化处理。在将学习数据输入卷积神经网络前,需在通道或时间/频率维对输入数据进行归一化,若输入数据为像素,也可将分布于0-1的原始像素值归一化至0-255区间。输入特征的标准化有利于提升卷积神经网络的学习效率和表现。
首先将图片转化成为了RGB格式,RGB就是我们对颜色的一种标准化