【问题标题】:Caffe compute gradient with respect to input using custom cost functionCaffe 使用自定义成本函数计算相对于输入的梯度
【发布时间】:2016-08-10 21:09:51
【问题描述】:
我有一个没有损失层的预训练 caffe 模型。我想执行以下步骤:
- 计算网络中某层的成本/梯度。
- 反向传播以计算相对于输入层的梯度。
- 重复执行梯度下降 1 和 2 以优化输入。
我不知道如何在预训练模型中添加损失层来做到这一点。在其他 NN 框架中,您可以调用一个 back() 函数并传递一个成本函数。有没有办法在 caffe 中做到这一点?
【问题讨论】:
标签:
python
machine-learning
computer-vision
neural-network
caffe
【解决方案1】:
您可以在 caffe 中为您的成本函数创建一个自定义层。在 .prototxt 文件中调用此成本函数。您可以使用新的成本函数微调预训练模型。
使用下面的命令行代码格式进行微调:
./build/tools/caffe train --solver theAboveMentioned.prototxt --weights thePreTrainedWeightsFile
更多关于 caffe 微调的信息可以在here找到。