利用自己的数据微调caffenet

本文介绍了如何利用自己的数据集对CaffeNet模型进行微调。首先,下载预训练的Caffemodel并将其放在指定目录。接着,处理自己的数据集生成lmdb格式。然后,调整网络参数,如更改最后一层全连接层名和输出数,提高特定层的学习速率。在Solver参数中,降低学习速率、调整步长和迭代次数以适应微调需求。最后,启动训练过程,观察loss下降速度。参考了多篇相关博文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、caffemodel文件。

可以直接在浏览器里输入地址下载,也可以运行脚本文件下载。下载地址为:http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel

文件名称为:bvlc_reference_caffenet.caffemodel,文件大小为230M左右,为了代码的统一,将这个caffemodel文件下载到caffe根目录下的 models/bvlc_reference_caffenet/ 文件夹下面。也可以运行脚本文件进行下载:

# sudo ./scripts/download_model_binary.py models/bvlc_reference_caffenet 

2.处理自己的数据集
用create_imagenet.sh和make_imagenet_mean.sh生成自己lmdb格式的数据集和均值文件。

3.调整网络参数
1)首先修改最后一层全连接层的名字,以及根据自己的数据确定的最后输出个数
2)调整学习速率,因为最后一层是重新学习,因此需要有更快的学习速率相比较其他层,因此我们将,weight和bias的学习速率加快10倍。
这里写图片描述
3)修改Solver参数
原来的参数是用来training from scratch,从原始数据进行训练的,因此一般来说学习速率、步长、迭代次数都比较大,在fine-tuning 微调呢,也正如它的名字,只需要微微调整。
主要的调整有:test_iter从1000改为了100,因为数据量减少了,base_lr从0.01变成了0.001,这个很重要,微调时的基本学习速率不能太大,学习策略没有改变,步长从原来的100000变成了20000,最大的迭代次数也从450000变成了50000,动量和权重衰减项都没有修改,依然是GPU模型,网络模型文件和快照的路径根据自己修改
4)开始训练

 ./build/tools/caffe train --solver ./models/bvlc_reference_caffenet/solver.prototxt --weights ./models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel

5)我还没有运行结束,但每次迭代loss下降的速度明显增快

参考的博文如下:

http://www.cnblogs.com/louyihang-loves-baiyan/
http://www.cnblogs.com/lyyang/p/6655435.html
http://blog.youkuaiyun.com/dcxhun3/article/details/52021296

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值