我想实现以下损失功能:
我已经使用numpy数组作为输入编写了该函数。
它看起来像这样:
def loss_func(y_true, y_pred):
y_pred = np.array(y_pred)
list_of_factors = [4]*len(y_pred)
val = 0
for idx, factor in list_of_factors:
val += factor*scipy_func(y_pred[idx])
return val
有什么方法可以将该函数实现为Keras损失函数吗?我不知道如何访问该批次的各个样本。
谢谢
答案 0 :(得分:0)
您不能应用任何 scipy函数,因为在损失函数中获得的变量是张量,而不是nD NumPy数组。因此,在损失函数中没有以张量为参数的NumPy或SciPy。
取决于您的 scipy函数是什么,您可以使用Keras backend中可用的操作来实现它。大多数功能类似于NumPy运算,但作用于张量。
看看existing loss functions以及它们如何使用这些后端函数在张量上进行操作。