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

2024-05-20 00:38:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我想实现以下损失函数:

  • 接收一批维度(批处理大小、数量和节点数)
  • 一个应用于实数映射的实数的scipy/a示例
  • 合并批次中所有样本的结果

我已经用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损失函数来实现?我不知道如何获取该批次的个别样品。在

谢谢


Tags: of函数示例数量节点valscipylist
1条回答
网友
1楼 · 发布于 2024-05-20 00:38:53

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

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

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

相关问题 更多 >