I implement Exponential Moving Average, it works with a static network architecture. But not for Dynamic ones e.g. Stochastic Depth. My experiments shows no weight update at all.
Thank you in advance.
    model_ema = copy.deepcopy(model)
    for param in model_ema.parameters():
        param.detach_()


def update_ema_variables(model, ema_model, alpha, global_step):
    alpha = min(1 - 1 / (global_step + 1), alpha)
    for ema_param, param in zip(ema_model.parameters(), model.parameters()):
        ema_param.data.mul_(alpha).add_(1 - alpha, param.data)