我正在尝试在Keras中实施自定义指标。但是,度量标准的计算不仅需要numberDecimal
和y_true
的知识,还需要另一个与样本相关的字段。基本上,我想执行以下计算:y_pred
其中每个样本与不同的my_metric=(y_true - y_pred)^2 / p
相关联(每个p
和y_true
是一个向量,因此每个{{1}也是一个矢量。)
我遇到的问题是公制和损失函数都有y_pred
这样的签名,我不知道这些张量所属的样本(即产生这些张量的输入)。 第一个问题:p
和my_loss_or_metric(y_true, y_pred)
是否包含纪元结束时所有输入的结果,或者仅包含一个批次的数据?如果只是一个批次,我该如何找到哪个批次? 第二个问题:如果我让Keras改变输入,我就不知道输入是如何被洗牌的。有没有办法以所使用的y_true
或其他形式向Keras询问排列?或者是原始订单中的y_pred
和index_array
没有改组?重要的第三个问题:如何在损失计算中混合y_true
向量? Keras损失和度量功能正在以象征性方式工作"在张量上并且只生成一个计算图,因此我不能只从{34}中传递y_pred
来自" (即,我不能捕获p
numpy数组,它需要是一个张量,对吧?但是p
不是NN模型的输入)
我查看了Keras源代码,但我没有看到任何明显的东西。此外,我正在使用TensorFlow中内置的Keras,如果这有任何区别的话。任何想法都表示赞赏。
谢谢!