Tensorflow: Multiple loss functions vs Multiple training ops : <p>I am creating a Tensorflow model which predicts multiple outputs (with different activations). I think there are two ways to do this:</p>

<p><strong>Method 1:</strong> Create multiple loss functions (one for each output), merge them (using <code>tf.reduce_mean</code> or <code>tf.reduce_sum</code>) and pass it to the training op like so:</p>

<pre><code>final_loss = tf.reduce_mean(loss1 + loss2)
train_op = tf.train.AdamOptimizer().minimize(final_loss)
</code></pre>

<p><strong>Method 2:</strong> Create multiple training operations and then group them like so:</p>

<pre><code>train_op1 = tf.train.AdamOptimizer().minimize(loss1)
train_op2 = tf.train.AdamOptimizer().minimize(loss2)
final_train_op = tf.group(train_op1 train_op2)
</code></pre>

<p>My question is whether one method is advantageous over the other? Is there a third method I don't know?</p>

<p>Thanks</p>
