Skip to content

仍对ema_update函数存在疑问 #6

@jiafengren

Description

@jiafengren

在之前的Issue中讨论了self.momentum参数的问题
def ema_update(self):
def update(student, teacher):
with torch.no_grad():
# m = momentum_schedule[it] # momentum parameter
m = self.momentum
for param_q, param_k in zip(student.parameters(), teacher.parameters()):
param_k.data.mul
(m).add
((1 - m) * param_q.detach().data)
update(self.encoder, self.encoder_LT)
update(self.projector, self.projector_ema)
注意到self._momentum=0.94是一个接近一的值,为了保持encoder 和 ema_encoder 存在一定的距离。但注意到ema_encoder的参数不计算梯度,低学习率是否会导致ema_encoder得不到充分的训练

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions