【问题标题】:Visualising convolution kernels in caffe在 caffe 中可视化卷积核
【发布时间】:2015-10-14 11:36:29
【问题描述】:

我一直在关注 Caffe 示例 here 来绘制来自我的 ConvNet 的卷积核。我在我的内核下方附上了一张图片,但它看起来与示例中的内核完全不同。我完全按照示例进行了操作,有人知道可能是什么问题吗?

我的网络是在一组模拟图像(有两个类)上训练的,网络的性能非常好,大约 80% 的测试准确率。

layer {
  name: "input"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {
    mean_file: "/tmp/stage5/mean/mean.binaryproto"
  }
  data_param {
    source: "/tmp/stage5/train/train-lmdb"
    batch_size: 100
    backend: LMDB
  }
}
layer {
  name: "input"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  transform_param {
    mean_file: "/tmp/stage5/mean/mean.binaryproto"
  }
  data_param {
    source: "/tmp/stage5/validation/validation-lmdb"
    batch_size: 10
    backend: LMDB
  }
}
layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {
    lr_mult: 1.0
  }
  param {
    lr_mult: 2.0
  }
  convolution_param {
    num_output: 40
    kernel_size: 5
    stride: 1
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "pool1"
  type: "Pooling"
  bottom: "conv1"
  top: "pool1"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "ip1"
  type: "InnerProduct"
  bottom: "pool1"
  top: "ip1"
  param {
    lr_mult: 1.0
  }
  param {
    lr_mult: 2.0
  }
  inner_product_param {
    num_output: 500
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "ip2"
  type: "InnerProduct"
  bottom: "ip1"
  top: "ip2"
  param {
    lr_mult: 1.0
  }
  param {
    lr_mult: 2.0
  }
  inner_product_param {
    num_output: 2
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "loss"
  type: "SoftmaxWithLoss"
  bottom: "ip2"
  bottom: "label"
  top: "loss"
}

【问题讨论】:

  • 你用的是什么重量?这个网络是在自然图像上训练的吗?这个网的性能如何?您需要提供更多详细信息。
  • 我已经用更多信息更新了这个问题,包括网络本身。
  • 在绘制过滤器之前加载什么 caffemodel 文件?
  • 你能展示一些你的训练例子吗?
  • @AnoopK.Prabhu 谢谢你的夸奖

标签: machine-learning neural-network caffe conv-neural-network pycaffe


【解决方案1】:

好吧,您可能需要在调用 imshow 时将插值参数设置为“无”。你指的是这个吗?

【讨论】:

    【解决方案2】:

    要获得“更平滑”的过滤器,您可以尝试向 conv1 层添加少量 L2 权重衰减 (decay_mult)。

    另见http://caffe.berkeleyvision.org/tutorial/layers.html

    layer {
      name: "conv1"
      type: "Convolution"
      bottom: "data"
      top: "conv1"
      # learning rate and decay multipliers for the filters
      param { lr_mult: 1 decay_mult: 1 }
      # learning rate and decay multipliers for the biases
      param { lr_mult: 2 decay_mult: 0 }
      convolution_param {
        num_output: 96     # learn 96 filters
        kernel_size: 11    # each filter is 11x11
        stride: 4          # step 4 pixels between each filter application
        weight_filler {
          type: "gaussian" # initialize the filters from a Gaussian
          std: 0.01        # distribution with stdev 0.01 (default mean: 0)
        }
        bias_filler {
          type: "constant" # initialize the biases to zero (0)
          value: 0
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-11-24
      • 2019-05-17
      • 2015-03-21
      • 1970-01-01
      • 2018-01-26
      • 2018-02-10
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多