微调CaffeNet用于车颜色识别

本文详细介绍了如何微调预训练的CaffeNet模型,以实现车颜色识别任务。首先计算图像均值,接着修改train_val.prototxt、solver.prototxt和deploy.prototxt文件,调整fc8层的参数。然后,准备预训练模型参数,并开始训练。最终,实验结果显示模型在车颜色识别上的精度表现良好。

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

说明:主要思想是微调使用ImageNet预训练的CaffeNet模型参数,用来对车颜色进行识别。为了不和其他文件混乱,我们在examples下新建文件夹finetune_myself。


1.计算图像均值

caffenet需要图像均值文件,所以先计算均值文件。在finetune_myself下新建文件夹Image_mean,从imagenet中拷贝make_imagenet_mean.sh到finetune_myself下,更名为make_image_mean.sh(为了和imagenet区分),然后修改脚本如下:

EXAMPLE=examples/finetune_myself #该路径下为训练图像的lmdb文件
DATA=examples/finetune_myself/Image_mean #该路径为生成的均值文件保存的地方
TOOLS=build/tools

$TOOLS/compute_image_mean $EXAMPLE/car_train_lmdb \ #这里的lmdb和自己的对应
  $DATA/image_mean.binaryproto #生成的均值文件名字,这里为了区分改一下名字

这样,生成的均值文件保存在finetune_myself下的Image_mean文件夹里,名字为image_mean.binaryproto。


2.准备caffenet模型

在finetune_myself下新建文件夹,命名为models,将caffenet的train_val.prototxt、solver.prototxt和deploy.prototxt复制到此models文件夹里,然后,对模型进行修改。假设我们的训练集类别是m,那么fc8层的num_output需要修改成m,又由于finetune时用到的权重是根据层名匹配的,而fc8的num_output已经修改,该层的参数必须重新学习

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值