我想计算梯度,我的模型有点困难,它可以表示为以下损失函数:
loss=label1*f1(x)+label2*f2(x)+label3*f3(x)
x是模型的特征,f1是一个预测一个logit的模型,您可以看到存在三个模型,我想将它们加在一起。为了便于理解,损失函数可以写为
loss=-tf.reduce_sum(label * tf.log(x), axis=1)
但是我有三个不同的标签,不同的型号和相同的功能。 我发现tf.GradientTape是计算梯度(https://www.tensorflow.org/tutorials/eager/custom_training_walkthrough)的简便方法,但是它们使用
loss_value, grads = grad(model, features, labels)
只有一个模型,一个特征列表和一个标签列表。但是如何解决上述多类问题呢?