如果有多个标签,如何使用tf.GradientTape计算梯度?

时间:2019-01-18 00:48:24

标签: python tensorflow machine-learning deep-learning multiclass-classification

我想计算梯度,我的模型有点困难,它可以表示为以下损失函数:

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)

只有一个模型,一个特征列表和一个标签列表。但是如何解决上述多类问题呢?

0 个答案:

没有答案