精易论坛
标题: 第三课,训练一个验证码 [打印本页]
作者: hopef 时间: 2017-6-28 16:25
标题: 第三课,训练一个验证码
视频下载及ppt下载:https://share.weiyun.com/26f28387d2cea9461d0f5e2fd8ff87ab
大纲总览
深度学习下的验证码识别教程 点我查看
1.实际操作训练验证码
由于这次发布,训练默认使用的网络是LeNet,而LeNet虽然识别时间很短,但是效果有限只能对付简单的验证码。所以建议大家采用NIN来训练,NIN基本可以应付绝大部分验证码,NIN的训练一定要记住,需要用nin的imagenet数据集模型来微调
NIN微调网络下载:http://www,zifuture,com/fs/6,models/nin_imagenet,caffemodel
训练好的网络:http://www,zifuture,com/fs/6,models/lenet_iter_5000,caffemodel
训练中的log日志:http://www,zifuture,com/fs/6,models/train,log log中可以看到网络构建的详细信息
网络可视化工具:http://www,zifuture,com/caffenet/Netscope,html#/editor
超参数的意义
net:"train_val.prototxt" 指定网络文件路径
test_iter:4 指定测试时需要迭代多少次
test_interval:300 指定训练迭代多少次执行一次测试
test_initialization:false 指定初始化完毕后不要测试
display:40 指定每40次迭代输出一次信息
average_loss:40 指定40次loss求平均
base_lr:0.001 指定基础学习率为0.001
lr_policy:"step" 指定学习率策略是step
stepsize:320000 指定学习率的步距是320000
gamma:0.96 指定学习率γ系数0.96
max_iter:10000000 指定最大迭代次数1000万次
momentum:0.9 指定阻力系数0.96
weight_decay:0.0002 指定权重衰减项
snapshot:40000 指定多少次保存一次快照
snapshot_prefix:"models/googlenet" 指定快照保存的路径前缀
solver_mode:GPU 指定训练的方式
batch_size分为train的和val的batch_size,即指train_lmdb数据集上,和val_lmdb数据集上对于迭代次数的设置,记得要让迭代次数跑完全部的训练图片,即至少一个epochs(一个完整的训练图片迭代)。1epochs = 在数据集上迭代完全部样本需要的次数,如果数据集有100个图,batch_size是5,则1epochs = 100 / 5 = 20,意味着1个epochs是20次迭代。
所以:
max_iter:一般设置为30个epochs(指train_lmdb),可以大致估算就行,不一定要准确计算
test_iter:设置为1epochs,即test的batch_size*test_iter= val_lmdb的样本总数
test_interval:设置为1个epochs(这里是train_lmdb)
2.一些比较关心的事情
做到这一步,大家会比较关心以下问题:
1.动态位数验证码可以识别吗? 可以
2.怎么做到更多位的识别? 只需要简单的修改即可
3.怎么调用他完成识别任务? cc提供有案例,我们可以实际操作一下
4.汉字或者复杂的验证码怎么做好? 可以用resnet系列,比如resnet50能做到很好效果
5.比如坐标类的复杂验证码如何识别 这个后续课程会讲到
3.一些异常的处理
caffe的异常常常是以程序崩溃来表现出来,因此很多操作容易导致程序直接崩溃,这不是bug,而是发生比如参数或者哪里错误,他这里的崩溃其实是断言错误而提示出来的,这时候你得看黑色屏幕里面提示的信息来debug
部署时正确的错误检查方法,是使用CC3.0-alpha.4目录下的debug.e(如果是其他语言,也一样在控制台界面中执行)的形式,在控制台程序中,运行模型和识别程序,此时,如果有异常会在黑窗口提示出来。确定没问题再集成到软件中.
作者: 二哥暖心男神 时间: 2017-6-28 16:28
很好,不错!
作者: hellohexiang 时间: 2017-6-28 16:45
全民识别验证码的节奏啊
作者: 383698358 时间: 2017-6-28 22:22
来学习一下
作者: bm123 时间: 2017-6-28 22:43
来来来支持
作者: 六人行 时间: 2017-6-29 09:35
网络这一块还不太懂,谢谢了
作者: 六人行 时间: 2017-6-29 09:36
网络这一块还不太懂,谢谢了
作者: 共舞 时间: 2017-6-29 12:50
是不是手工打码的时代要结束了,验证码平台怎么办
作者: fvod88 时间: 2017-6-29 22:01
讲的不错,要努力学习!
作者: huixin 时间: 2017-6-29 23:35
来学习一下
作者: 夜极星空 时间: 2017-6-30 00:40
这个厉害了
作者: bill3k 时间: 2017-7-1 06:13
以后提供一个接口就行了,哈哈
作者: fengyishen 时间: 2017-7-2 23:35
视频中的训练网络和发布网络在哪里可以下载吗?
作者: E丶JavaScript 时间: 2017-7-3 12:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: yzf3146 时间: 2017-7-5 11:58
漂亮.验证码操作
作者: scs12123 时间: 2017-7-6 15:09
来学习学习!

作者: xuyh87 时间: 2017-7-6 20:36
挺不错的……
作者: je5001 时间: 2017-7-8 00:07
这一课有视频下载地址么? 感觉在线的要模糊很多,
作者: JYrenw20170507 时间: 2017-7-8 10:07
怎么没看到下载地址了~
作者: je5001 时间: 2017-7-9 00:22
楼主,你好,视频中没有说一下,动态位数验证码如何做呢? 能不能大概的说一下?
作者: je5001 时间: 2017-7-9 00:30
每天一签到,等更新课程。
作者: jimo778 时间: 2017-7-11 23:26
谢谢无私的分享
作者: yuan123 时间: 2017-7-15 16:21
好教程!值得学习!
作者: cz731 时间: 2017-7-17 14:58
来学习学习!

作者: terry2k 时间: 2017-7-18 18:21
这个确实屌 一般验证码识别都是用模块 然后模块又不开源
作者: 3247324832 时间: 2017-7-19 00:46
66666666666
作者: ly666111 时间: 2017-7-19 23:17
谢谢无私的分享
作者: 微域 时间: 2017-7-24 11:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: zyzx986 时间: 2017-7-26 11:26
mark!!!!mark!!!!mark!!!!mark!!!!mark!!!!mark!!!!
作者: 哥只是一个传说 时间: 2017-8-16 19:13
没看懂,不过还是感谢楼主的分享
作者: menghu780409 时间: 2017-8-23 09:38
一般验证码识别都是用模块 然后模块又不开源
作者: e2038 时间: 2017-8-25 05:15
看看再说
作者: jj1234567 时间: 2017-9-22 23:44
讲的太快好多东西不讲,压根听不懂唉
作者: 威武小草 时间: 2017-9-27 15:28
亲 计算机中丢失 cublas64_80.dll 这个问题怎么解决 百度也没有答案 在线等
作者: gameboy68 时间: 2017-10-10 20:30
进来看看~~~!
作者: s0487d 时间: 2017-10-11 16:31
学习一下,感谢教程。
作者: fanzhuoyi 时间: 2018-1-3 21:41
谢谢无私的分享
作者: fanzhuoyi 时间: 2018-1-3 21:42
谢谢无私的分享
作者: superlu 时间: 2018-2-21 00:20
找到了大部队,继续学习!~
作者: 一粒红尘 时间: 2018-7-22 21:46
讲的太快好多东西不讲,压根听不懂唉,跟不上节奏
作者: Else 时间: 2018-8-31 13:57
人满了 群怎么加
作者: 1051496412 时间: 2019-1-21 23:21
本帖最后由 1051496412 于 2019-1-21 23:22 编辑
过几年可能就明白了,有时候一下就悟出来某些细节是啥意思了,这东西也有个积累的过程
以前觉得很难的东西静下来把那些问题一个接着一个解决了就可以用了,使用还是很容易的
并不是很多不讲,这个细节上真的太多了如果全写出来真能写一本书了
作者: Mic26HI 时间: 2019-12-11 08:39
这个的识别成功率能有多少呢
作者: 2470899818 时间: 2021-3-14 19:06
6666666666666
作者: 王摇摆 时间: 2022-6-26 08:14
感谢分享
作者: jhoy 时间: 2022-9-20 16:25
大佬我训练时候图片尺寸设置的是35*19,但是调用的时候载入模型就崩溃,必须把deploy.prototxt改成100*30 程序才能跑,这是什么原因
欢迎光临 精易论坛 (https://125.confly.eu.org/) |
Powered by Discuz! X3.4 |