如何在KERA中创建和使用加权指标?

2024-05-19 08:58:20 发布

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

我想制作一个加权指标,并在Keras训练数据时打印出来。然而,我找不到任何有效的例子来说明如何做到这一点

运行时:

metrics = [MyClass.MyWeightedMetric]
model.compile(optimizer=RMSprop,loss="mean_squared_error",metrics=metrics)

在哪里

class MyClass: 
    @staticmethod
    def MyWeightedMetric(y_true,y_pred,sample_weight=None):
        print(sample_weight)
        #do stuff that doesn't even use sample_weight for now

然后它一直都不打印。如果我将编译行更改为

model.compile(optimizer=RMSprop,loss="mean_squared_error",weighted_metrics=metrics)

然后我得到了错误:

(0) Invalid argument: Can not squeeze dim[0], expected a dimension of 1, got 16384

调用model.fit()时。我不清楚我做错了什么或者应该做什么。我尝试创建一个子类,如本例中的https://www.tensorflow.org/api_docs/python/tf/keras/metrics/Metric,但它带来了我无法解决的一组错误

在keras中是否有一个加权度量的工作示例,我可以在模型编译阶段提供?我发现了许多未加权用法的例子,但目前似乎不可能找到工作加权度量的例子。无论如何,我使用的是Tensorflow 2.0


Tags: samplemodel错误myclasserrormean例子metrics

热门问题