我正在使用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中给出的权重开始。
我的问题是
我该怎么做?
从这些重量开始是一个好主意吗?这会更快收敛吗?如果我的数据与Imagenet数据集有很大不同,那会不会很糟糕?
答案 0 :(得分:1)
<强> 1 强>
要使用现有的.caffemodel
权重进行微调,您需要使用--weights
命令行参数:
./build/tools/caffe train --solver=models/bvlc_reference_caffenet/solver.prototxt --weights=models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel
<强> 2 强>
在大多数情况下,微调网是一种非常推荐的做法,即使输入图像与&#34; imagenet&#34;完全不同。照片。
但是,您应该注意,在训练您即将使用的原始砝码时,会做出一些(非常合理的)假设。您应该决定这些假设对您的任务是否仍然适用
例如,大多数网络都使用图像及其水平翻转进行简单的数据增强训练。但是,如果您的任务是distinguish between images that are flipped,您会发现微调非常困难。