【问题标题】:Values inside filters in caffecaffe 中过滤器内的值
【发布时间】:2017-03-06 20:07:28
【问题描述】:

我正在尝试理解 caffe 网络模型中的以下部分。

 convolution_param {
    num_output: 256
    pad: 2
    kernel_size: 5
    group: 2
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 1
    }
}

据我了解,这一层使用了 256 个过滤器。 我想知道这些过滤器中的值是如何选择的? 使用尺寸 5x5 和标准开发 0.01 我们可以创建一个过滤器,如何创建其他过滤器?

【问题讨论】:

    标签: neural-network deep-learning caffe


    【解决方案1】:

    根据该层的输入维度(“通道”形状),该层有 256 个形状为 in-dim-by-5-by-5 的过滤器。 Caffe 使用来自具有零均值和 std=0.01 的高斯(正态)分布的 i.i.d 随机样本初始化所有这些值(根据 weight_filler 参数)。

    可以在python中看到值(假设层名是"conv1"):

    import caffe
    net = caffe.Net('/path/to/net.prototxt', caffe.TEST)
    layer_idx = list(net._layer_names).index('conv1')
    weights = net.layers[layer_idx].blobs[0].data
    print "filter values =", weights
    

    【讨论】:

      猜你喜欢
      • 2018-11-27
      • 2018-09-30
      • 2015-06-22
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      • 2018-11-26
      相关资源
      最近更新 更多