tensorflow中定义的损失函数?

tensorflow中定义的损失函数?,tensorflow,loss,Tensorflow,Loss,在我的项目中,消极的例子远远多于积极的例子,所以我想给积极的例子一个更大的权重。 我的目标是: loss = 0.0 if y_label==1:loss += 100 * cross_entropy else:loss += cross_entropy 如何在tensorflow[?]中实现这一点让损失成为批次示例损失值的向量(秩-1张量)。让y作为相应标签的向量。然后,您可以通过以下方式实现您想要的结果: weights = w_pos*y + w_neg*(1.0-y) loss = t

在我的项目中,消极的例子远远多于积极的例子,所以我想给积极的例子一个更大的权重。 我的目标是:

loss = 0.0
if y_label==1:loss += 100 * cross_entropy
else:loss += cross_entropy

如何在tensorflow[?]中实现这一点

损失
成为批次示例损失值的向量(秩-1张量)。让
y
作为相应标签的向量。然后,您可以通过以下方式实现您想要的结果:

weights = w_pos*y + w_neg*(1.0-y)
loss = tf.reduce_mean(weights*losses)
这里,
w_pos
w_neg
是常量标量值(
w_pos=100.0
w_neg=1.0
)。然后,向量
权重
的值为
w_pos
,例如,标签等于1,而
w_neg
等于0。然后将
权重
元素与
损失
相乘,根据相应标签对
损失
中的值进行加权,然后取平均值