我正在研究一个自定义指标,我update_op是当前值和上一次运行的值的函数。我该如何使用它们?我有这样的
x, y = f(data)
var1 = metric_variable([], dtypes.float32)
var1_op = state_ops.assign_add(var1, x + y_previous_iteration)
var2 = metric_variable([], dtypes.float32)
var2_op = state_ops.assign_add(var2, y)
value = _aggregate_across_replicas(
metrics_collections, f2, var1, var2)
update_op = f2(var1_op, var2_op)
更新:指标的工作方式是在每一步的评估过程中,变量都会被聚合。这样做是为了在每一刻,度量值都是迄今为止看到的所有数据的值,而不是上一批计算的值。例如,如果你有var1_op = state_ops.assign_add(var1, x)它意味着在每次迭代var1 = var1_prev + x中。例如,我简化了auc here的计算。我需要做var1 = var1_prev + x + y_prev。