Skip to content

仍对ema_update函数存在疑问 #6

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions