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

我正在使用AlexNet来训练我自己的数据集。Caffe的示例代码中包含了

bvlc_reference_caffenet.caffemodelsolver.prototxttrain_val.prototxtdeploy.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”照片有很大不同。
然而,你应该注意,在训练你即将使用的原始权重时,做出了一些(非常合理)的假设。你应该决定这些假设是否仍然适用于你的任务。
例如,大多数网络是使用图像及其水平翻转进行简单的数据增强来训练的。然而,如果你的任务是区分翻转的图像,你会发现微调非常困难。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注