Python 在Keras自定义损失函数中迭代

Python 在Keras自定义损失函数中迭代,python,keras,loss-function,Python,Keras,Loss Function,我知道在Kerascustomloss函数中避免循环更好,但我认为我必须这样做。 问题如下:我试图实现一个损失函数,该函数为多个数据束计算损失值,然后将这些值聚合为唯一值 例如,我有6个数据输入,因此在我的Keras丢失中,我将有6个y\u true和6个y\u pred。 我想计算2个损失值:一个用于前3个元素,一个用于后3个元素 假设代码示例: def custom_loss(y_true, y_pred): start_range = 0 losses = []

我知道在
Keras
customloss函数中避免循环更好,但我认为我必须这样做。 问题如下:我试图实现一个损失函数,该函数为多个数据束计算损失值,然后将这些值聚合为唯一值

例如,我有6个数据输入,因此在我的
Keras
丢失中,我将有6个
y\u true
和6个
y\u pred
。 我想计算2个损失值:一个用于前3个元素,一个用于后3个元素

假设代码示例:

def custom_loss(y_true, y_pred): 
    start_range = 0
    losses = []
    for index in range(0,2):
        end_range = start_range + 3
        y_true_bunch = y_true[start_range:end_range]
        y_pred_bunch = y_pred[start_range:end_range]
        loss_value = ...some processing on bunches...
        losses.append(loss_value)
        start_range = end_range
    final_loss = ...aggregate loss_value...
    return final_loss

如果没有
for
循环,是否可以实现类似的功能?我需要处理整个数据集,计算多个束的损失,然后将所有束的值聚合为一个值。

Hi。这个问题更适合于堆栈溢出,因为这只是一个编程问题。有关更多详细信息,请参阅。我将把它迁移到SO。