应该根据我们自己的数据更改train_val.prototxt,solver.prototxt和deploy.prototxt的参数的哪些部分?

时间:2017-01-08 04:30:06

标签: caffe pycaffe deeplearning4j matcaffe

根据我们自己的数据,我很难改变在caffe中训练net的参数。

  • 我们应该多关注哪一层网来训练网 我们自己的数据?例如,基于数量的输出数量 班级。

我尝试训练FCN32进行语义分割。我将Deconvolution layer (i.e.,upscore_sign)中的输出数量更改为数据中的类数,但是它给出了错误。

  • 我们在不同的卷积层中有不同的输出。怎么能 我检测到彼此不同的输出,我应该检测哪一个 改变?
  • 下一个问题是deploy.prototxt之间的区别是什么 和train_val.prototxt
  • deploy.prototxt的应用是什么?我应该改变吗? deploy.prototxt中的图层基于train_val.prototxt?

如果有人知道,我真的很感激,请分享你的知识。

谢谢

1 个答案:

答案 0 :(得分:2)

  

我们应该注意哪一层网

将模型微调到新任务时,标签数量可能不同,一个必须更改最后一层的num_output
最后一层用作概率预测层,输出每个预测变量的概率矢量:对于图像分类,网络预测每个图像的概率矢量;在FCN中,网络输出概率向量前像素。概率向量的长度=标签的数量=最后一层的num_output。因此,您必须更改此值以适应新任务中新标签的数量 请参阅this post for more details

  

'deploy.prototxt''train_val.prototxt'

之间有何区别?

this post解释了这种差异。

  

我应该根据'deploy.prototxt'更改'train_val.prototxt'中的图层吗?

是!