我正在创建一个Tensorflow模型,它预测多个输出(具有不同的激活).我认为有两种方法可以做到这一点:
方法1:创建多个损失函数(每个输出一个),合并它们(使用tf.reduce_mean或tf.reduce_sum)并将其传递给训练操作,如下所示:
final_loss = tf.reduce_mean(loss1 + loss2)
train_op = tf.train.AdamOptimizer().minimize(final_loss)
Run Code Online (Sandbox Code Playgroud)
方法2:创建多个训练操作,然后将它们分组如下:
train_op1 = tf.train.AdamOptimizer().minimize(loss1)
train_op2 = tf.train.AdamOptimizer().minimize(loss2)
final_train_op = tf.group(train_op1 train_op2)
Run Code Online (Sandbox Code Playgroud)
我的问题是一种方法是否优于另一种方法?还有第三种方法我不知道吗?
谢谢