Keras 在自定义损失函数中访问单个值

Keras access individual values in custom loss function

我想实现如下损失函数:

我已经使用 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 损失函数吗?我不知道如何访问该批次的单个样本。

谢谢

不能应用任何scipy函数因为你在损失函数中得到的变量是tensors 而不是 nD NumPy 数组。所以在以张量为参数的损失函数中没有 NumPy 或 SciPy。

根据您的 scipy 函数 是什么,您也许可以使用 Keras backend 中可用的操作来实现它。大多数函数类似于 NumPy 操作,但作用于张量。

查看 existing loss functions 以及它们如何使用这些后端函数对张量进行运算。