cnn 验证集 参与训练吗_一个简单的零基础的机器学习教程之二,字母数字验证码识别...

570fc642118c4ebd55e2c90f7fad9817.png

一.前言
基于前面我发的贴子

土味程序员:一个简单的零基础的机器学习教程,Pytorch搭建Faster R-CNN目标检测平台​zhuanlan.zhihu.com
cbfcdd0664a406b4ec5c8460913fde28.png

一个非常震撼的目标检测的例子。上个帖子从环境安装到调试代码再到图片检测视频检测一个详细的教程,今天我来讲一下正真的实战经历吧。完全不需要深度相关的知识。
这个项目就是《Python3 反爬虫原理与绕过实战》里面的例子,

asyncins/captcha_cnn​github.com
1775048879571d06b0e33b0f236622b1.png

基础环境与我上一个深度学习教程的基础环境一摸一样,拿过来基本不用改就可以用了。书里面的讲了一下原理,还不错,通俗易懂,但是没讲太深,意犹未尽,毕竟是一本爬虫书啊
整个项目训练速度非常快,因为专门为验证码检测设计的,自己的显卡还不错,每次训练就几分钟的样子,测试了一下,最终我把原项目的单次训练的样本数量调大了8倍,原先是32的,4分钟不到3w张图片。setting.py里面我看到,检测的内容都限制了,26个字母和10个数字,所有的图片格式大小都规定了。

41eb004af740fbe838960880a5f3367a.png

二.开始训练
运行环境看我的上一个深度学习的教程

土味程序员:一个简单的零基础的机器学习教程,Pytorch搭建Faster R-CNN目标检测平台​zhuanlan.zhihu.com
cbfcdd0664a406b4ec5c8460913fde28.png


完全一样。
下载代码和相关资源
下载GitHub代码,下载图片数据集。相关资源最后会放出来,原项目的代码导入图片目录的时候有点问题。貌似原项目是在ubuntu系统上面运行的,我改了一下setting里面的参数如下图。
把下载images的图片放到项目目录下面如图,images里面的数据集图片的文件名就是图片正确的识别结果,要做自己的数据集要注意哦,train文件夹下面的图片就是我们训练时候的图片集,test文件夹下面的图片是用来训练时验证我们的训练效果的图片集,predict文件夹下面的图片就是我们训练好之后要预测的图片集。

d49bff22b5b9912b3a37fc21c50a3855.png

接下来打开setting.py根据自己显卡的算力设置BATCH_SIZE,我的显卡是2070S,最终设置成了256,CPU和GPU都快到100%了。然后打开train.py运行等待就行了,训练完成会生成result.pkl文件。

6ad40055b3df3e596ae3842ebf0d406c.png

验证的代码在verifies.py里面,直接运行,它会先载入模型,遍历验证集图片正确的验证码与预测结果对比,算出成功比例。

05907f6dd643599a204a3e657ef0e8aa.png


验证码的图片就是下图,26个字母和10个数字的混合,长度固定,6位。有干扰线和干扰点,没有倾斜变形。

cbc1607dedf79cd9a122d247e0330831.png

三.最后说明
这个项目代码量非常的少,文章的篇幅也很短,项目的结构简单可以一步步的详细分析所有代码的用处,特别是model.py里面进行了三次卷积和池化操作。loader.py对图片的灰度化处理和数字化处理。虽然这些东西很抽象,但是只要不要本能的去拒绝它们,还是能够慢慢的理解的。
关注我,给我动力继续研究更多有意思的有关python的东西哦。

Github地址​github.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

activiti 文档_免费、开源、多平台的PDF文档处理软件——PDFsam Basic

今天给大家推荐的是一款免费、开源、多平台支持的PDF文档处理软件——PDFsam BasicPDFsam Basic是为普通用户提供的免费开源解决方案,提供了PDF文档拆分、合并、混合、提取页面和旋转等等功能。01. 文档分割PDFsam Basic可以通过给定页码、书签级别,把PD…

sq服务启动后又停止_SQL SERVER SQL Agent  服务启动后又停止的解决办法

查看事件查看器。应用程序日志。报错的显示。无法加载 DLL xplog70.dll 或它引用的一个 DLL。原因:126(找不到指定的模块。)。安全起见,我更名了sqlserver bin下的xplog70.dll,还原回来即可。以下是搜索到的其它人的错误及解决办法。算是个整理吧。本地计算机上的MS…

@data注解不生效_你说啥什么?注解你还不会?

点击蓝色字免费订阅,每天收到这样的好信息前言:最近有不少粉丝关注本公众号。并且我已经成功开通了流量主同时会赚一点点广告费,我打算每个月把这部分钱拿出来给大家买点书刊,算是给大家一点福利吧。大家想买什么书扫描下方的加他拉你加群。最后,非常感谢大家的关注…

忘记mysql数据库名称_忘记MySQL数据库密码的解决办法

在windows下:打开命令行窗口,停止MySQL服务:Net stop MySQL启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe (或mysqld.exe)执行:mysqld-nt (或mysqld.exe) –skip-grant-tables 当前窗口将会停止。另…

yearning 2. 部署_对于企业来说,在选择协同办公系统的时候,选择私有化部署的数据安全一些,还是使用云服务器比较安全?...

当然是私有化部署!因为它除了安全,还有个性化~私有化部署,简单理解就是企业自己购买或租赁服务器,或者由服务商提供免费的云资源,然后将整个系统部署在企业自有的服务器上。采用这种方式,企业就不用担心自家…

numpy 平方_Numpy的终极备忘录

作者|Rashida Nasrin Sucky 编译|VK 来源|Towards Data Science Python是开源的。对于使用python的数据科学家来说,Numpy这个库是必不可少的。其他一些基本的库,如Pandas,Scipy是建立在Numpy的基础上。所以我决定做一份备忘录。这里我包括了到…

mysql 字符集 校验规则_MySQL字符集及校验规则

1.字符集# Mysql 的字符集有4个级别的默认设置:服务器级,数据库级,表级和字段级,客户端交互时,也可以指定字符集# 字符集:是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括…

linux HZ 值_Linux的serial串口控制台

本人大多数情况都是在调试服务器大量的linux服务器,很多情况下也不没有必要专门准备KVM(keyboard, video, mouse),甚至有些机器根本就没有显示器接口。如何调试的?闲来无事,分享一下。有些人说“ 给我个Lin…

nginx文件系统大小_详解Nginx系列

1.Nginx特点Nginx是一个事件驱动架构,而非传统过程驱动架构。具有内存占用低,当并发连接大时,能够预测内存使用率。Nginx改变了传统的web服务器体系架构,提高了响应速度,起初Nginx开发的目标是实现10倍以上的性能&…

mysql总结 博客园_mysql 总结

mysqlzong操作mysql 连接 mysql -uroot -proot查看所有数据库: show databases;创建数据库:create database 数据库名;使用(调用数据库): use 数据库名;查看数据库:show create datebase 数据库名&#xff…

不可用于python编程开发的是_Python编程语言可做而不应做的一些事是什么_Python视频_Python视频教程_编程语言_课课家...

在 -5 ~ 256 之间的整型数值可以进行互换 当我在考虑这个能用在什么地方的时候,我有点迷茫了。撇开这点,你在此之前知道 Python 中的数字是可以改变其实际含义的吗?之所有会有这种情况,是因为 Python 解释器为 -5 ~ 256 之间的每一…

iphone7尺寸_iPhone 12 mini、12 Pro Max真机对比图赏:尺寸直观感受下

11月6日消息,等待多时,苹果iPhone 12 mini、iPhone 12 Pro Max将于今晚21点正式开启预定,11月13日发售。iPhone 12 mini是苹果尺寸最小、最轻薄的5G手机,而iPhone 12 Pro Max则是综合实力最强大,拍照最好的iPhone。赶在…

mysql导入数据提前修改字段_复习MySQL③导入数据、检查及修改

导入数据:用insert into语句为表插入数据:- insert into 表名(字段1,字段2,…) values ……导入外部文本文件:- 导入外部txt文件(导入CSV文件分隔符为,)load data local infile 文件路径.txt’into table 表名fields terminated by \tignore …

人脸识别错误代码437是什么意思_lol手游repeat ready check fails什么意思 解决攻略大全...

导读 lol手游repeat ready check fails什么意思?在日服内出现英文的错误代码,这两种语言的差异,会让国服玩家变得越来越混乱,想要解决问题,还是一如既往的得弄清楚代码内提示的内容是什么... lol手游repeat ready chec…

matlab求傅里叶级数展开式_连续时间的傅里叶级数

如果信号x(t)是周期信号,那么对于所有t,存在一个最小正数T,使得x(t)x(tT)其中T为这个周期信号的最小正周期。根据周期函数的周期性:x(t)x(tN*T)(N为整数)称为这个信号的基波频率周期信号x(t)也可以用周期复指数信号表示则因为x(t)是周期信号&…

delphi chart 曲线实时_发展学生曲线跑能力的体育游戏及运用研究

不想错过精彩的推送?戳左上角蓝字“体育教师大本营”关注并点击右上角●●●菜单栏选择“设置⭐️标”或“置顶公众号”每天早上7:00,体委伴您成长 一、曲线跑教材跑是人类在日常生活社会交往、生产劳动中的基本活动能力之一,从一定程度上反映…

mac mysql5.7.10 密码_MAC下Mysql5.7.10版本修改root密码的方法

首先 跳过权限表模式启动mysql:mysqld --skip-grant-tables &从现在开始,你将踏入第一个坑,如果你使用网上到处贴的 错误修改方法:mysql> update mysql.user set authentication_stringpassword(your_new_password) where userroot;(注…

拖拽的方式使用qbuttongroup_【无机纳米材料科研制图——Photoshop 0402】PS使用选框工具修改图片/图层...

此篇,我们来分享使用PS的选框修改图片。一、栅格化图形。1)同时选中两个图层。首先,回到上一篇中图片相互遮挡的状态。在上一篇中,我们通过调整图层的上下位置,避免了遮挡的情况,但有时候只通过调整图层的上…

python右对齐输出-python:格式化输出字符串,右对齐

我正在处理一个包含坐标x、y、z的文本文件 1 2 31 128 1298039 123388 0 2 .... 每一行使用 1words line.split() 处理完数据后,我需要将坐标写回另一个txt文件中,以便每列中的项都右对齐(以及输入文件)。每一行都由坐标组成 1line_new words[0] &quo…

pagerank数据集_从小白视角理解数据挖掘十大算法

关注上方“数据挖掘工程师”,选择星标,关键时间,第一时间送达!作者 | 雪山飞猪链接 | https://www.cnblogs.com/chenqionghe/p/12301905.html编辑 | 深度学习这件小事本文仅作技术交流,如有侵权,请联系删除…