2017-08-03 3 views
0

Ich möchte verschiedene Aktivierungsfunktionen für gleich konfigurierte tiefe neuronale Netzwerkmodelle in TensorFlow anwenden. Deshalb sollten die anfänglichen Gewichte für diese Klassifizierer gleich sein. Ich kann jedoch keine Lösung für diese Aufgabe finden. Soll ich first_classifier in second_classifier klonen oder die Gewichte von first_classifier in den zweiten Classifier übertragen. Danke für Ihre Unterstützung.Wie initialisiert man Gewichte für DNNClassifier in TensorFlow

first_classifier = tf.contrib.learn.DNNClassifier(
    feature_columns = feature_columns 
    , hidden_units = [3] 
    , activation_fn = tf.nn.sigmoid 
    , optimizer = tf.train.GradientDescentOptimizer(learningRate)) 

second_classifier = tf.contrib.learn.DNNClassifier(
    feature_columns = feature_columns 
    , hidden_units = [3] 
    , activation_fn = tf.nn.tanh 
    , optimizer = tf.train.GradientDescentOptimizer(learningRate)) 

Antwort

0

Es scheint von DNN docs, dass Sie Anfangsgewichte nicht direkt festlegen können; außer mit der set_params. Am besten teilen Sie die Parameter (Klon oder Transfer) zwischen zwei Klassifikatoren.

+0

Haben Sie eine Idee, wie Sie zwischen Klassifikatoren klonen/übertragen können? Ich kann kein Beispiel für die Verwendung der Funktion set_params finden. – johncasey

+0

Wie wäre es mit Prüfpunkten mit 'tf.train.Saver ', führen Sie eine Iteration in einem Netzwerk und die Wiederherstellung des Prüfpunkts in der anderen. Ich denke, dass es den Trick tun könnte. – Grasshopper

Verwandte Themen