2024-05-17 19:23:45 发布
网友
我需要计算Aitchison距离,作为输入和输出数据集之间的损失函数
在计算此mstric时,我需要计算每行的几何平均值(其中[Batch x features]——丢失期间数据集的大小)
在简单的情况下,我们可以想象只有一个批次,所以我只需要为输入数据集计算一个几何平均值,为输出数据集计算一个几何平均值
那么如何在tensorflow上实现呢?我没有找到任何指定的指标或缩减的函数
您可以使用tensorflow使用突出显示的数值稳定公式here轻松地将张量的几何平均值计算为损失函数(或在您的情况下作为损失函数的一部分)。提供的代码片段非常类似于遵循上述公式(和scipy implementation)的pytorch解决方案here
tensorflow
pytorch
from tensorflow.python.keras import backend as K def gmean_loss((y_true, y_pred, dim=1): error = y_pred - y_true logx = K.log(inputs) return K.exp(K.mean(logx, dim=dim))
您可以根据需要定义dim,或者将其集成到代码中
dim
您可以使用
tensorflow
使用突出显示的数值稳定公式here轻松地将张量的几何平均值计算为损失函数(或在您的情况下作为损失函数的一部分)。提供的代码片段非常类似于遵循上述公式(和scipy implementation)的pytorch
解决方案here您可以根据需要定义
dim
,或者将其集成到代码中相关问题 更多 >
编程相关推荐