来自keras的自定义损失函数中的张量数据

时间:2020-04-27 14:53:40

标签: python tensorflow keras

在keras中提供自定义损失函数:

def my_custom_loss_func(self,y_true,y_pred): #一些代码

是否可以获取y_pred中的值以对损失函数进行一些计算?我尝试过,但是有人告诉我y_pred只是一个占位符,无法提取y_pred的实际值。您只能使用Keras后端函数来处理y_pred,但实际上无法访问其中的值,例如y_pred [1]或类似的东西。

我想做的事情是这样的:如果“ y_pred中的前10个值是负数而后10个值是负数”,那么“返回非常高的成本,因为我不希望这样优化网络”

是的,不用担心。这是一些示例代码。

def my_custom_loss_func(self, y_true, y_pred):
    position_vector_initial = x[0, 0:3] #global variable
    position_vector_now = y_pred[0, 0:3]
    angle = angle_between(position_vector_initial, position_vector_now)
    if (angle < 0):
        return high_loss
    else:
        return kb.mean(kb.sum(kb.square(y_true - y_pred)))

0 个答案:

没有答案