2016-09-14 12 views
2

いくつかのアーキテクチャでは、2つ以上の訓練操作が必要です(たとえば、GANではジェネレータとディスクリミネータを訓練する必要があります)。 TF-Slimトレーニング機能を使って、どのように達成できますか?限り、私はslim.learning.trainを見ることができる限り、唯一の訓練を取る。slim.learning.train(TensorFlow、TF-Slim)用の2つの訓練操作

答えて

0

slim.learning.create_train_opによって作成された訓練操作を合計することができます。 train_opは単なるテンソルであり、評価するとパラメータを更新して損失を返します。 2つのトレーニング操作を追加すると、両方が評価されます(並行して)。

0

slim.learning.train()を実行すると本体機能であるtrain_step_fnを上書きすることができます。例えば

、あなたは、train_op1train_op2を持っているtrain_ops = [train_op1, train_op2]を設定し、あなたが次のことを試すことができたとします

def train_step_fn(session, train_ops, global_step, train_step_kwargs): 
    session.run(train_ops[0], ...) 
    session.run(train_ops[1], ...) 
    ... 

slim.learning.train(train_step_fn=train_step_fn, ...) 
関連する問題