caffe - train_val.prototxt、solver.prototxt、deploy.prototxt的哪些部分参数要根据我们自己的数据修改?

标签 caffe pycaffe deeplearning4j matcaffe

我对根据我们自己的数据更改用于在 caffe 中训练 net 的参数感到困惑。

  • 我们应该更多地关注网络的哪些层来训练网络 我们自己的数据?例如,根据数量输出的数量 类。

我尝试训练 FCN32 进行语义分割。我将 Deconvolution 层(即 upscore_sign) 中的输出数量更改为我的数据中的类别数量,但它给出了一个错误。

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

如果有人知道,我非常感谢,请分享您的知识。

谢谢

最佳答案

Which layer of the net we should pay attention

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

What is the difference between 'deploy.prototxt' and 'train_val.prototxt'

此差异在 this post 中进行了解释.

Should I change the layers in 'deploy.prototxt' based on the 'train_val.prototxt'?

是的!

关于caffe - train_val.prototxt、solver.prototxt、deploy.prototxt的哪些部分参数要根据我们自己的数据修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41529464/

相关文章:

java - 如何加载 BufferedImage 作为 DeepLearning4j 中分类器的输入?

c++ - Caffe 中的最小-最大归一化层

c++ - 咖啡转换图像集 : symbol lookup error

neural-network - Caffe 分割网络 - softmax_loss_layer 错误

machine-learning - 如何在CNN Caffemodel中将4096维特征向量减少为1024维向量?

neural-network - InfoGainLoss导致精度和损失为0

ubuntu - cp : not writing through dangling symlink '/usr/lib/x86_64-linux-gnu/libhdf5.so'

deep-learning - Deeplearning4j 中的时代和迭代