我有一個包含多個變量的多個作用域的網絡。我需要一種方法來設置特定變量或名稱範圍的訓練能力,以便它們不被更新並且不包含在梯度計算中,然後在某些條件後將其設置爲可訓練。它甚至有可能嗎?如果是,如何?動態設置張量流量的訓練能力變量
with tf.name_scope('layer1'):
w = tf.Variable(...)
b = tf.Variable(...)
... some function ...
with tf.name_scope('layer2'):
w = tf.Variable(...)
b = tf.Variable(...)
... some function ...
with tf.name_scope('layer3'):
w = tf.Variable(...)
b = tf.Variable(...)
... some function ...
我想改變的變量列車能力第一範圍,因爲它們正在從一個預先訓練文件恢復,他們已經得知。所以,我想訓練其他層中的變量,直到他們被學習,然後將第一個範圍中的變量的訓練能力設置回True,並將它們一起訓練。你可以使用
純文本問題很少被接受。請顯示您在代碼中所做的事情。 –
你可以傳遞一個'variable_list'給minimizer來決定更新哪個變量。 – soloice