您可以在已加载的Caffe网络中更改图层参数吗?

时间:2019-06-19 18:20:45

标签: c++ caffe

我想编辑已经加载的Caffe网络的layer参数。更具体地说,我想在网络加载后编辑一个辍学层的'dropout_ratio'参数,然后运行一个正向传递。

我当前的问题是: 1)如何访问特定层的参数? 2)如果可以访问特定图层的参数,该如何更改它们?

deploy.prototxt中的退出层如下所示:

layer {
  name: "drop"
  type: "Dropout"
  bottom: "fc6"
  top: "fc6"
  dropout_param {
    dropout_ratio: 0.1
  }
}

这是我尝试不成功的一个粗略示例:

// Say the index of my dropout layer is '3'
int index = 3;
// Change the 'dropout_ratio' param to 0.5
net_->layers()[index]->dropout_params().dropout_ratio = 0.5;
// Continue as needed

理想情况下,即使deploy.prototxt中的值为“ 0.1”,我还是想执行类似的操作以自定义辍学率运行网络。这有可能吗?

其他数据:我已经修改了caffe的辍学层,以便即使在测试期间,辍学也始终处于活动状态。该实验的目的是在不创建其他deploy.prototxt文件的情况下,使用多个“ dropout_ratio”值测试经过训练的网络

0 个答案:

没有答案