[深度学习]Tensorflow破解验证码

缘起

  • 登录
  • IP
  • 验证码

在爬虫的世界里面,大家一定会经常遇到以上的这些问题,我们除了甩锅给第三方打码平台,IP提供商,copy cookie这样的方式方案,大家可以自己尝试自己解决,多去思考一些原理,本次就将爬虫中遇到的字符型的验证码做一些自己的总结和分析

《[深度学习]Tensorflow破解验证码》

准备

  • Tensorflow 1.0.1
  • captcha 0.2.2

思路

现在的解决验证码一般就几个方式,打码平台,手动输入,或者自己训练模型识别,打码平台没其它缺点,就是费钱,手动输入费时间,而且自动化相当差,自己训练就是需要时间,而且需要相当的算法功底,但是自从2012年Deep learning 兴起之后,CNN卷积大行其道,端到端训练已经相当简化了,简化到只要准备好输入足够的训练数据集,输出的结果都不会太差了

训练

首先准备数据集,这里你们使用captcha 这个类库,这个类库可以方便的什么生成数据集,现实中,我们都是要请label工作人员,标注这些数据集,数据集越多,训练效果越好。尽量数据集的比例尽量准备成4:1 的内容,4份训练数据集,1份验证数据集,好比8万的训练集,2万的验证数据集

配置文件

生成数据集

正式训练数模型

验证结果

结果

训练的时间长短和字符长度和训练字符种类完相关,4位纯数字 ,大概4000次以内训练批次,可以达到90% 以上准确率,当然,GPU跑的更快一点

源码所在

https://github.com/BruceDone/tensorflow-demos

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据