如何设置前馈的平均像素?咖啡

时间:2016-07-14 11:55:26

标签: neural-network deep-learning caffe pycaffe feed-forward

我想微调VGG19,它运作良好。训练时我将平均像素减去

name: "VGG_ILSVRC_19_layer"
layer {
  name: "data"
  type: "Data"
  include {
    phase: TRAIN
  }
 transform_param {
    mean_value: 104
    mean_value: 117
    mean_value: 123
    mirror: false
 }
 data_param {
    source: "examples/VGG_finetune/train_lmdb"
    batch_size: 8
    backend: LMDB
  }
  top: "data"
  top: "label"
}

现在我需要通过我的微调网络前进。如果我看一下this 它们没有在部署文件中指定平均像素值。

问题:
如何在前馈时提供网络平均像素值?
我的前馈代码(加载网络)是

net = caffe.Classifier(model_prototxt, model_trained,
                           mean=[104,117,123],
                           channel_swap=(2,1,0),
                           raw_scale=255,
                           image_dims=(224, 224))

现在我不确定mean=(104,117,123)是否有效,因为当我查看classifier的源代码时,我通过代码中的注释知道它只需要ndarray否则它会给出错误。
如何从输入图像中减去平均像素?

1 个答案:

答案 0 :(得分:3)

您可以通过

mean指定为ndarray
net = caffe.Classifier(model_prototxt, model_trained,
                       mean=NP.array( [104, 117, 123], dtype='f4'),
                       channel_swap=(2,1,0),
                       raw_scale=255,
                       image_dims=(224, 224))