本文主要是介绍Python盘纪念币系列:识别验证码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天我们就要用这个数据集来训练神经网络了。
学习数据集
我们拿到任何一个数据集都要先进行观察。一是我们自己要学会分辨,这样才能更有针对性的指导神经网络来分类;二是要看我们要处理的问题的复杂度,这样也是便于了解我们的神经网络要有多复杂(或者多“深”)。
上图是我们的数据集的截图。观察发现“0”、“1”、“9”,“I”,“O”这五个字符是没有图片的,那是我们的数据集错了吗?检查原始的验证码图片发现,确实没有这几个字符。其实认真想一下就能知道,这几个都是容易与别的字符产生混淆的字符,所以大概率是在生成验证码的时候就可以把它们剔除了,在这里也要为这个程序员的细心点个赞~另外,观察还发现每个字符文件夹下面的图片数量是差不多的,这样也是为了让神经网络能不偏不倚的为每一个字符寻找最优的参数。
设计神经网络
说了这幺多,终于要开始设计神经网络了。用 Python 编写神经网络的库有很多,比如 TensorFlow 、 PyTorch 和 Keras 等等,这里我们不讨论各自的优劣势,我的工作中用的是 Keras ,所以这里我们采用 Keras 。
因为是图像分类,所以我们使用在图像类任务中最常用到的神技——卷积神经网络(CNN)。
这基本上就是一个最简单的CNN了,模型结构大致如下图:
这篇关于Python盘纪念币系列:识别验证码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!