【发布时间】:2020-06-09 12:05:21
【问题描述】:
我想制作一个加权指标,并在 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
然后它一直打印 None 。如果我将编译行更改为
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
【问题讨论】:
-
嗨@Peter,请提供最少的可重现代码和遇到的错误。
标签: python tensorflow keras tensorflow2.0