3
我想訓練一個網絡,其中包含我需要在訓練期間保持修復的子網絡。其基本思路是前面加上並追加一些層的預訓練的網絡(inceptionV3)如何在張量流中使用預訓練模型作爲不可訓練的子網絡?
new_layers -> pre-trained and fixed sub-net (inceptionv3) -> new_layers
,並在不改變預先訓練的一個運行我有任務的訓練過程。 我還需要直接在預先訓練的網絡的某個層上分支。例如,在初始V3中,我喜歡從conv 299x299到最後一個池層或從conv 79x79到最後一個池層使用它。
請注意,人們獲取要訓練的一組變量的方法是使用tf.trainable_variables()函數https://www.tensorflow.org/versions/0.6.0/api_docs/python/state_ops.html#trainable_variables獲取使用trainable = True(默認值)創建的變量集合。您可以通過在構造變量時傳遞trainable = False來從該集合中排除變量:https://www.tensorflow.org/versions/0.6.0/api_docs/python/state_ops.html#Variable.__init__ – Josh11b
這裏是另一個相關的問題更新變量只爲一些圖層:http://stackoverflow.com/questions/34945554/how-to-set-layer-wise-learning-rate-in-tensorflow – mathetes
而我該如何設置每個圖層的輸入?我是否需要使用sess.run函數,例如在classify_image示例中? – jrabary