如何加载参考.caffemodel 进行训练

how to load reference .caffemodel for training

我正在使用 alexnet 来训练我自己的数据集。 caffe中的示例代码自带

bvlc_reference_caffenet.caffemodel
solver.prototxt
train_val.prototxt
deploy.prototxt

当我使用以下命令训练时:

./build/tools/caffe train --solver=models/bvlc_reference_caffenet/solver.prototxt

我想从 bvlc_reference.caffenet.caffemodel 中给出的权重开始。

我的问题是

  1. 我该怎么做?

  2. 从那些权重开始是个好主意吗?这会收敛得更快吗?如果我的数据与 Imagenet 数据集有很大不同,这会很糟糕吗?

1.
为了使用现有的 .caffemodel 权重进行微调,您需要使用 --weights 命令行参数:

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

2.
在大多数情况下,微调网络是一种非常推荐的做法,即使输入图像与 "imagenet" 照片完全不同。
但是,您应该注意,在针对您将要使用的原始权重进行训练时,做出了一些(非常合理的)假设。您应该决定这些假设是否仍然适用于您的任务。
例如,大多数网络都是使用图像及其水平翻转通过简单的数据增强进行训练的。但是,如果您的任务是distinguish between images that are flipped,您会发现微调非常困难。