使用caffe训练自己的图像数据

caffe训练自己的数据总共分三步:

1、将自己的图像数据转换为lmdb或leveldb,链接如下:

http://blog.csdn.net/quincuntial/article/details/50611459,leveldb格式对应调整即可。

2、求图像均值,链接如下:

http://blog.csdn.net/quincuntial/article/details/50611650
3、使用已有的神经网络训练数据,本文用的是imagenet的网络。

(1)、将caffe\models\bvlc_reference_caffenet中的文件拷贝到要训练的图像文件夹中,注意:

数据文件和对应的均值文件*.binaryproto以及训练的caffe.exe的数据格式要对应,在生成这些对应的工具文件的.exe文件时要加上对应的宏USE_LMDB或USE_LEVELDB,要对应正确,默认为LMDB文件格式。

(2)、修改solver.prototxt文件
原文件为:

net: "models/bvlc_reference_caffenet/train_val.prototxt"
test_iter: 1000
test_interval: 1000
base_lr: 0.01
lr_policy: "step"
gamma: 0.1
stepsize: 100000
display: 20
max_iter: 450000
momentum: 0.9
weight_decay: 0.0005
snapshot: 10000
snapshot_prefix: "models/bvlc_reference_caffenet/caffenet_train"
solver_mode: GPU

修改后:

net: "train_val.prototxt"
test_iter: 1000
test_interval: 1000
base_lr: 0.01
lr_policy: "step"
gamma: 0.01
stepsize: 1000
display: 1000
max_iter: 10000
momentum: 0.9
weight_decay: 0.0005
snapshot: 5000
snapshot_prefix: "caffenet_train"
solver_mode: CPU
参数解释:

test_iter: 1000是指测试的批次,我们就10张照片,设置10就可以了。 
test_interval: 1000是指每1000次迭代测试一次,我们改成500次测试一次。 
base_lr: 0.01是基础学习率,因为数据量小,0.01就会下降太快了,因此改成0.001 
lr_policy: “step”学习率变化 
gamma: 0.1学习率变化的比率 
stepsize: 100000每100000次迭代减少学习率 
display: 20每20层显示一次 
max_iter: 450000最大迭代次数, 
momentum: 0.9学习的参数,不用变 
weight_decay: 0.0005学习的参数,不用变 
snapshot: 10000每迭代10000次显示状态,这里改为2000次 
solver_mode: GPU末尾加一行,代表用GPU进行 
(3)、修改train_val.prototxt

主要修改下面几个地方


mean_file是你的图像均值文件,根据phase分别对应训练数据的测试数据的均值文件

source是你的图像转换后的文件,lmdb或leveldb文件的文件夹。

crop_size加上#注释掉是因为图像不一定需要裁剪,例如我的图像文件为64*64,裁剪大小为227,没办法裁剪。

然后运行caffe.bat批处理文件,其文件内容为

CaffeConfig.exe train --solver=solver.prototxt
::CaffeConfig.exe use -help
pause
::是bat文件的注释,不用管。

运行bat没错误,就会进行训练,出错的话你就要看错误信息去看看哪个地方有问题,我的运行也出了好多错。

运行截图:





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值