【问题标题】:How to implement fixed parameters in caffe?caffe中如何实现固定参数?
【发布时间】:2016-06-01 17:14:32
【问题描述】:

假设网络中有参数我想在 pycaffe 中手动更改,而不是由求解器自动更新。例如,假设我们想惩罚密集激活,这可以作为一个额外的损失层来实现。在整个训练过程中,我们希望通过将损失乘以以预先指定的方式演变的系数来改变这种惩罚的强度。在 caffe 中执行此操作的好方法是什么?是否可以在 prototxt 定义中指定这一点?在pycaffe界面?

更新:我想将 lr_multdecay_mult 设置为 0 可能是一种解决方案,但看起来很笨拙。也许 DummyDataLayer 将参数作为 blob 提供将是一个更好的选择。但是文档太少了,要为刚接触 caffe 的人写一篇文章是相当困难的

【问题讨论】:

  • 不清楚您要做什么。你能澄清你的问题吗?
  • 感谢您指出这一点。我添加了一个例子

标签: deep-learning caffe pycaffe


【解决方案1】:

也许这是一个微不足道的问题,但以防其他人可能感兴趣,这是我最终使用的成功实现

在layer proto def中,将lr_multdecay_mult设置为0,表示我们既不想学习也不想衰减参数。使用filler 设置初始值。要在网络训练期间更改 python 中的参数,请使用如下语句 net.param['name'][index].data[...] = something

【讨论】:

    猜你喜欢
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 2017-11-16
    相关资源
    最近更新 更多