【问题标题】:caffe|Message type "caffe.ParamSpec" has no field named "propagate_down"caffe|消息类型“caffe.ParamSpec”没有名为“propagate_down”的字段
【发布时间】:2018-03-18 15:19:53
【问题描述】:

我想在训练时修复一些层的参数,所以我在这样的层中使用propagate_down:0

  layer {
  name: "conv5_2"
  type: "Eltwise"
  bottom: "conv5_1"
  bottom: "conv5_2_1x1_increase"
  top: "conv5_2"
  param{
    propagate_down:0
  }
  eltwise_param {
    operation: SUM
  }
}

我想在这一层之前修复参数,只在这一层之后微调参数。

但我遇到了错误:

I0316 15:08:21.036813 20524 solver.cpp:81] Creating training net from train_net file: /home/muses/WSnet/C_coarse2fine/config/pspnet101_ele_8s_train.prototxt
[libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 6595:19: Interpreting non ascii codepoint 239.
[libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 6595:19: Message type "caffe.ParamSpec" has no field named "propagate_down".
F0316 15:08:21.039957 20524 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: /home/muses/WSnet/C_coarse2fine/config/pspnet101_ele_8s_train.prototxt

请问这个怎么解决?

【问题讨论】:

  • 通常,当我需要修复某些层的权重时,我不会使用propagate_down,而是在这些层上设置lr_mult: 0。这会将特定层的学习率乘以 0,这意味着权重根本不会更新。你试过吗?

标签: machine-learning computer-vision caffe


【解决方案1】:

参数propagate_down 用于指示是否将梯度反向传播到层的输入。它表示是否更新参数
要修复 caffe 中的参数,您需要为该特定参数设置 param { lr_mult: 0 }

【讨论】:

    猜你喜欢
    • 2017-08-04
    • 2016-02-17
    • 2021-06-19
    • 2023-01-19
    • 1970-01-01
    • 2015-12-05
    • 2016-07-02
    • 2017-01-13
    • 1970-01-01
    相关资源
    最近更新 更多