2015-12-27 11 views
12

中の変数定数I 2 tf.Variablesに依存損失テンソルL用TensorFlow計算グラフを有する、AとB保持オプティマイザ

Aを固定した状態でB上の勾配上昇(B + = L wrt Bの勾配)を実行する。これはどうすればいいですか?

答えて

26

tf.stop_gradient(tensor)などがあります。テンソルは、勾配計算の目的で一定として扱われます。異なる部分を定数として扱う2つの損失を作成することができます。

2つのオプティマイザを作成し、変数のサブセットのみを明示的に最適化することもできます。

train_a = tf.train.GradientDescentOptimizer(0.1).minimize(loss_a, var_list=[A]) 
train_b = tf.train.GradientDescentOptimizer(0.1).minimize(loss_b, var_list=[B]) 

あなたは更新プログラムでそれらを繰り返すことができます。

+0

ありがとう - var_listはうまくいくはずです。私はtypoがあると思いますが - var_listはGradientDescentOptimizer()ではなくminimize()の引数に入るべきです – ejang

+0

ありがとう、コードスニペットを編集しました。 –

関連する問題