如何提取第一层经过训练的caffe内核过滤器

时间:2015-08-26 17:43:51

标签: matlab machine-learning computer-vision neural-network caffe

我正在使用caffe,我想知道我是否可以单独使用其中一个过滤器。 所以基本上我只需要经过培训的过滤器内核(在第一层使用) 我无法在论文中找到内核的公式 如果有人可以帮助我,我真的很感激 如果您也可以告诉我如何在matlab版本中提取它们,我将非常感激。

由于

1 个答案:

答案 0 :(得分:0)

假设您有一个经过培训的网络,其'deploy.prototxt'文件定义了网络,受训参数位于'my_weights.caffemodel'档。
假设您感兴趣的图层在'deploy.prototxt':

中定义如下
layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  convolution_param {
    num_output: 32
    pad: 2
    kernel_size: 5
    stride: 1
  }
}

正如您所看到的图层名称为"conv1",它有32个大小为5 x 5的过滤器。

首先,您需要在Matlab中加载网络

 >> net = get_net( 'path/to/deploy.prototxt', 'path/to/my_weights.caffemodel', 'test' );

加载网络后,您可以使用图层名称

访问其参数
>> w = net.params( 'conv1', 1 ).get();