2016-07-14 14 views
0

Ich möchte VGG19 optimieren und es funktioniert gut. Während des Trainings ich die mittleren Pixel am subtrahieren alsWie werden mittlere Pixel für Feedforward festgelegt? caffe

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" 
} 

Jetzt muss ich meine finetuned Netzwerk Vorsteuerung durch. Wenn ich mir this anschaue, geben sie keinen mittleren Pixelwert in der Deploy-Datei an.

Frage:
Wie kann ich biete meine Netzwerk-Mittelwert Pixel während Aufschaltung?
Mein Code für Vor (Laden-Netzwerk) ist

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

Jetzt bin ich, ob mean=(104,117,123) Arbeit nicht sicher ist oder nicht, denn wenn ich Quellcode classifier dann betrachtet kam ich durch Kommentare im Code zu wissen, dass es dauert nur ndarray Sonst gibt es einen Fehler.
Wie kann ich mittlere Pixel vom Eingabebild subtrahieren?

Antwort

3

Sie können Ihre mean als ndarray einfach durch

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)) 
+1

Dank Shai geben Sie mir geholfen wieder. –