2017-08-03 59 views
0

我想爲TensorFlow中相同配置的深度神經網絡模型應用不同的激活函數。這就是爲什麼這些分類器的初始權重應該相同。但是,我找不到解決此任務的方法。我應該將first_classifier克隆到second_classifier,還是將first_classifier的權重傳遞給第二個分類器。感謝您的支持。如何在TensorFlow中初始化DNNClassifier的權重

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

回答

0

DNN docs看來,您不能直接設置初始權重;使用set_params除外。最好的方法是共享兩個分類器之間的參數(克隆或傳輸)。

+0

你有一個想法如何克隆/轉移之間的分類?我找不到有關使用set_params函數的示例。 – johncasey

+0

如何在'tf.train.Saver'中使用檢查點,在一個網絡中運行一個迭代,並在另一個網絡中恢復檢查點。我認爲這可能會訣竅。 – Grasshopper

相關問題