2017-01-12 5 views
0

In Caffe, wenn ich meine eigene Variable mit einem Layer verbunden und ich diese Variable während der Trainings-Iterationen ändern, die Testphase nicht über die Änderungen an dieser Variablen wissen, scheint es zu initialisieren für sich selbst. Die Trainingstestphasen teilen Gewichte, aber sonst nichts. Wie teile ich andere Variablen zwischen den Trainings- und Testphasen? Vielen Dank.caffe vergisst gesetzt Variable während der Testphase

zB: sagen, dass ich in inner_product_layer.hpp erklären,

int dog = 5; 

und in Backward_gpu() I, ändern

dog = 6; 

die Testphase denkt Hund = 5. Ich möchte die Testphase wissen, dass Hund ist jetzt 6.

Antwort

1

Die ausführbare Datei für Training und Testphase ist anders, daher, wenn Sie eine Variable innerhalb des Codes während des Trainings ändern, wird es nicht zur Testzeit reflektiert. Sie können die Variable in eine Ausgabedatei ablegen, wenn das Training endet, und die Datei zum Testzeitpunkt als Argument lesen, während Sie den Layer in der Funktion LayerSetUp initialisieren. Der Dateiname kann als Layer-Parameter hinzugefügt werden, wo Sie prüfen können, ob Sie sich in der Testphase befinden und Ihre Parameter aus der von Ihnen gespeicherten Datei setzen.

Verwandte Themen