It is called exponential moving average, below is a code explanation how it is created.
Assuming all the real scalar values are in a list called scalars
the smoothing is applied as follows:
def smooth(scalars: List[float], weight: float) -> List[float]: # 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
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…