TensorBoard标量图中“平滑”参数背后的数学是什么?

时间:2017-02-16 18:24:31

标签: tensorflow tensorboard

我认为它是某种移动平均线,但有效范围介于0和1之间。

3 个答案:

答案 0 :(得分:20)

@ drpng的答案指向正确的解释,但由于链接可能在这里下去,因此使用了平滑函数的Pythonic转换代码。

假设所有真实标量值都在名为scalars的列表中,则应用如下平滑:

def smooth(scalars, weight):  # Weight between 0 and 1
    last = scalars[0]  # First value in the plot (first timestep)
    smoothed = list()
    for point in scalars:
        smoothed_val = last * weight + (1 - weight) * point  # Calculate smoothed value
        smoothed.append(smoothed_val)                        # Save it
        last = smoothed_val                                  # Anchor the last smoothed value

    return smoothed

答案 1 :(得分:11)

解释平滑here并应用here。它是一个线性滤波器。

答案 2 :(得分:0)

这是实际的源代码,它执行指数平滑,并在注释中解释了一些额外的去偏置,以补偿零初始值的选择:

last = last * smoothingWeight + (1 - smoothingWeight) * nextVal

来源:https://github.com/tensorflow/tensorboard/blob/34877f15153e1a2087316b9952c931807a122aa7/tensorboard/components/vz_line_chart2/line-chart.ts#L714