深度学习—caffe—验证码
来源:互联网 发布:网络通则 编辑:程序博客网 时间:2024/06/06 09:29
本文是参考博客:http://blog.csdn.net/sinat_14916279/article/details/56489601?locationNum=10&fps=1进行四个字符验证码的实验,为提供参考并记录实验过程特撰此博客,一切资料来源于上述博客。
2、参考网址http://blog.csdn.net/sinat_14916279/article/details/56489601?locationNum=10&fps=1对caffe的函数进行修改。
3、将"trainmodel.txt"放到caffe目录下,并将后缀名跟改为".bat"。
4、将"captcha_prototxt"放在caffe目录中"models"下。
5、将"captcha_images_lmdb"放在caffe目录中"data"下。
6、双击caffe目录下的"trainmodel.bat",即可开始训练。
7、将"test_captcha.m"放在caffe目录下"matlab\demo"下运行进行测试。
说明:caffe及prototxt修改过程请参见原博。
遇见的问题:
1、训练模型时报错:cudaSuccess<2 vs. 0> out of memory 或 CURAND_STATUS_SUCCESS<102 vs. 0>
原因:GPU内存不足(我的是2G的GPU)。
修改方式:①换用CPU,在solver.prototxt及trainmodel.txt中将GPU改为CPU,缺点是运行变慢。②修改batch_size,我的GPU即使将batch_size改为1仍然跑不起来原博修改的模型。③修改"create_lmdb.bat",修改resize参数,将227改为更小,会影响效果,我试过我的GPU大约要改成50以下才能跑起来,不要忘记对deploy.prototxt的dim进行相应的修改。④修改网络,使用比Alexnet更小的网络或者对Alexnet网络进行修改,我选择对Alexnet进行修改,fc6的num_output改为2048(原为4096),fc7_x的num_output改为1024(原为4096)。6个全连接层每个有4096个卷积核,这得多少参数啊!
2、训练网络时loss不收敛
①输出层输出类别的问题,这个网上都有就不说了②在能跑来的前提下将batch_size改大③把solver.prototxt的stepsize及max_iter改大(我原来是100,3000后来改成了3000,15000),这个其实是说每种stepsize多训练几次,多换几种stepsize。④网上也有说是因为网络不够复杂而训练样本数量过多形式过于复杂,导致网络不能全面覆盖各种情况。我把训练样本个数和复杂度减少了,同时进行③了的修改,loss终于收敛了,但是不知道究竟哪个是关键。
3、loss过拟合
感觉是因为训练样本过少而迭代次数过多。
4、在matlab下进行测试时,报错找不到"caffe_"函数,在m文件中加上addpath('../../Build/x64/Release/matcaffe') %addpath('..');
我已经将所有的资源上传http://pan.baidu.com/s/1eSmxEKU,按照下述的步骤进行可以进行验证码识别的实验,步骤如下:
1、安装caffe。2、参考网址http://blog.csdn.net/sinat_14916279/article/details/56489601?locationNum=10&fps=1对caffe的函数进行修改。
3、将"trainmodel.txt"放到caffe目录下,并将后缀名跟改为".bat"。
4、将"captcha_prototxt"放在caffe目录中"models"下。
5、将"captcha_images_lmdb"放在caffe目录中"data"下。
6、双击caffe目录下的"trainmodel.bat",即可开始训练。
7、将"test_captcha.m"放在caffe目录下"matlab\demo"下运行进行测试。
说明:caffe及prototxt修改过程请参见原博。
遇见的问题:
1、训练模型时报错:cudaSuccess<2 vs. 0> out of memory 或 CURAND_STATUS_SUCCESS<102 vs. 0>
原因:GPU内存不足(我的是2G的GPU)。
修改方式:①换用CPU,在solver.prototxt及trainmodel.txt中将GPU改为CPU,缺点是运行变慢。②修改batch_size,我的GPU即使将batch_size改为1仍然跑不起来原博修改的模型。③修改"create_lmdb.bat",修改resize参数,将227改为更小,会影响效果,我试过我的GPU大约要改成50以下才能跑起来,不要忘记对deploy.prototxt的dim进行相应的修改。④修改网络,使用比Alexnet更小的网络或者对Alexnet网络进行修改,我选择对Alexnet进行修改,fc6的num_output改为2048(原为4096),fc7_x的num_output改为1024(原为4096)。6个全连接层每个有4096个卷积核,这得多少参数啊!
2、训练网络时loss不收敛
①输出层输出类别的问题,这个网上都有就不说了②在能跑来的前提下将batch_size改大③把solver.prototxt的stepsize及max_iter改大(我原来是100,3000后来改成了3000,15000),这个其实是说每种stepsize多训练几次,多换几种stepsize。④网上也有说是因为网络不够复杂而训练样本数量过多形式过于复杂,导致网络不能全面覆盖各种情况。我把训练样本个数和复杂度减少了,同时进行③了的修改,loss终于收敛了,但是不知道究竟哪个是关键。
3、loss过拟合
感觉是因为训练样本过少而迭代次数过多。
4、在matlab下进行测试时,报错找不到"caffe_"函数,在m文件中加上addpath('../../Build/x64/Release/matcaffe') %addpath('..');
0 0
- 深度学习—caffe—验证码
- 深度学习caffe实战验证码识别
- 深度学习caffe实战(一)验证码识别
- 基于深度学习的验证码自动识别(caffe)
- 基于深度学习的验证码自动识别(caffe)
- 深度学习框架caffe源码学习(一) — caffe.proto
- 深度学习开源工具——caffe介绍
- Caffe —— Deep learning in Practice 深度学习实践
- 深度学习之caffe入门——cifar10例程
- 深度学习—— caffe下进行微调finetune
- 开始深度学习之旅——caffe安装
- 深度学习基础教程——caffe环境的搭建
- 深度学习——caffe安装与代码阅读第一步
- 深度学习Caffe平台安装——Ubuntu安装CPU模式的caffe
- 深度学习之caffe入门——caffe环境的配置(CPU ONLY)
- Caffe深度学习入门——python命令下import caffe报错
- 深度学习之caffe
- 深度学习工具-caffe
- 01-maven介绍
- Android 弹出框学习
- rsync 命令
- VC++之网络编程四 UDP编程实例
- 水平分库分表的关键步骤和技术难点
- 深度学习—caffe—验证码
- 二维数组
- ASP.NET Web Forms
- java 类的初始化
- 动态规划:HDU-2955-0-1背包问题:Robberies
- namespace及use的用法
- 【材料计算】第一性原理、密度泛函理论、从头算之间的关系
- Maven 多环境配置文件管理
- SpringBoot 学习记录(九): Email