通过本文你能了解到基本的卷积神经网络概念还有理论基础,通过使用keras编写一个简单的CNN模型我们可以实现对cifar10数据集的分类,掌握tensorflow搭建卷积神经网络的技巧,废话不多说,进入正文。相关代码还有数据集在我的github,链接https://github.com/JohnLeek/Tensorflow-study:,需要的自取,day4开头的部分为本节博客源码,觉得不错的可以给个star。
因为卷积神经我网络概念很多,因为我侧重实现,这里我不做展开,我收集了部分博客,对卷积的理论没有储备的可以参考如下的博客:
1、CNN笔记:通俗理解卷积神经网络:https://blog.csdn.net/v_JULY_v/article/details/51812459
2、卷积神经网络(CNN)详解https://zhuanlan.zhihu.com/p/47184529
这两篇文章很详细的介绍了卷积神经网络相关概念,随后的代码中我们会用到,我也会给出注释,方便理解。
这里我们使用cifar10数据集,下面对cifar10数据集做个简单介绍,参考博客为:https://blog.csdn.net/DaVinciL/article/details/78793067,
CIFAR-10数据集由10类32x32的彩色图片组成,一共包含60000张图片,每一类包含6000图片。其中50000张图片作为训练集,10000张图片作为测试集。
CIFAR-10数据集被划分成了5个训练的batch和1个测试的batch,每个batch均包含10000张图片。测试集batch的图片是从每个类别中随机挑选的1000张图片组成的,训练集batch以随机的顺序包含剩下的50000张图片。不过一些训练集batch可能出现包含某一类图片比其他类的图片数量多的情况。训练集batch包含来自每一类的5000张图片,一共50000张训练图片。
tensorflow2.0下载数据集准备,使用如下代码即可完成下载。
cifar10 = tf.keras.datasets.cifar10