首页 > 解决方案 > 在 TensorFlow 中实现自定义(排名)损失函数

问题描述

我正在尝试在 TensorFlow 中实现自定义损失函数,但我对索引感到困惑,而且我使用后端函数的实现似乎是错误的。设 theta 为 1.0,T 为 2。Delta 是一个函数,它采用静态图像 (d_t) 和数组中包含的 2 个其他图像来计算某个分数。我写了函数 delta 所以没有问题。

我如何在 TF 中编写这个排名损失函数?此外,我的原型中没有 y_true/y_pred,我需要将图像传递给损失函数以计算并最小化这个表达式。 这是功能

def customLoss( t, d_t, images):
sum = tf.Variable( 0.0)
if( t >=3 ):
    for a in range( t-3, t + 1):
        for b in range( t-2, t):
            expression = tf.math.maximum( 0.0, 1.0 - delta( images, a, b, d_t))
            sum = tf.add( sum, expression)
elif( 0 == t or t == 1):
    for a in range( t, t + 2):
        for b in range( t+1, 3):
            expression = tf.math.maximum( 0.0, 1.0 - delta( images, a, b, d_t))
            sum = tf.add( sum, expression)

标签: tensorflowmachine-learningdeep-learning

解决方案


推荐阅读