0
所以,我有一個架構,其中比方說,我有幾層,讓我們通過ARC1表示它:A1->A2->A3->A4->Loss1
。我用一個損失函數來訓練這個架構:Loss1。Tensorflow:微調與附加層的模型,關鍵不是發現錯誤
我有一個新的架構ARC2:A1->A2->A3->A4->A5->A6->Loss2
,其中A1至A4在這兩個層具有相同的名稱和A5和A6是新的層次。我想以較低的學習速度慢訓練整體架構ARC2但想從以前的培訓架構ARC1恢復A1 to A4
。我試着在tensorflow實施,但我得到的錯誤:
tensorflow/core/framework/op_kernel.cc:1152] Not found: Key Arc/new_layers/A5_weights not found in checkpoint
[[Node: save/RestoreV2_38 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/RestoreV2_38/tensor_names, save/RestoreV2_38/shape_and_slices)]]
這是事實,對應於新層的權重是不老的檢查點,但因爲這是一個標準的技術,這將是一個辦法做到這個?據我所知,凍結網絡將不解決這個問題,因爲我想的梯度傳播完成的一路A1(同時具有更低的學習率後學習)。
這是培養新的SOFTMAX層的標準技術,但如果你有2個或多個新的完全連接層或其他層,它應該是真的有問題?