2016-08-10 3 views
0

私はネットを分割し、バックプロップを理解する必要があるケースがあります。スプリットネットでバックプロップする方法

ネットは、このように書きます:

      /-- one-type-of-net-with-its-own-loss 
common_couple_of_layers-- 
         \-- another-type-of-net-with-its-own-loss 
  • は、私はちょうどadd_to_collection、勾配を計算し、更新しますか?
  • また、2つのネット が分割されている(グラデーションが「再会」する)場所で、何とか再調整する必要がありますか?
  • 正規化しますか?
  • または...?
  • また、 ロスコレクションを追加すると、テンソルフローが自動的に行われますか?

Thxを

答えて

1

あなたがtf.contrib.losses.add_loss()またはtf.add_to_collection(tf.GraphKeys.LOSSES, ...)を経由して「損失コレクション」(例えばを使用している場合は、標準TensorFlow tf.train.Optimizerサブクラスに渡すことができ、単一の損失値を取得するためにtf.contrib.losses.get_total_loss()を使用することができます。 TensorFlow

+0

Thx!また、あなたの返信をhttp://stackoverflow.com/questions/38783726/how-to-handle-gradients-when-subscribe.aspで公開してもいいですか?トレーニング - 2つのサブグラフ - 同時に?奨励金を授与することができます:) – friesel

関連する問題