我正在訓練一個深度神經網絡。直接訓練整個網絡很困難,因此,我更喜歡逐層訓練。首先,我訓練一個帶有單個隱藏層的網絡。之後,我使用tf.train.Saver
保存模型。接下來的時間,我通過調用恢復變量:TensorFlow中的前訓練神經網絡
saver.restore(sess, "runs/simple-model.ckpt")
當然,這個時候,該架構已經改變,因爲我插入隱藏層和輸出層之間的一個新層,並使用了新的變量。因此,Tensorflow會拋出一個錯誤:Key not found
我的問題是:如何在Tensorflow中逐層訓練神經網絡?我希望在完整網絡的最終調整之前做到這一點。 非常感謝。
'saver'構造函數接受要初始化的變量列表。所以你可以指定保存的現有變量,並手動初始化新變量 –
是的,但似乎Tensorflow聲稱新變量不存在於舊圖中。我覺得Saver總是需要相同的架構。 – lenhhoxung
您可以通過查看圖形('tf.get_default_graph()。as_graph_def()')仔細檢查此變量是否存在於圖中。 –