ATCTrack-VLM / lib /utils /ema_sched.py
SunXiang2025's picture
Upload ATCTrack-VLM code and selected checkpoints
25986db verified
Raw
History Blame Contribute Delete
863 Bytes
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
# This source code is licensed under the license found in the
# LICENSE file in the root directory of this source tree.
import math
class CosineEMA:
def __init__(self, cfg):
self.cfg = cfg
self.last_epoch = 0
def adjust(self, epoch):
"""Decay the learning rate with half-cycle cosine after warmup"""
self.last_epoch = epoch
cfg = self.cfg
ema_decay = cfg.TRAIN.EMA_SCHEDULER.MAX - \
(cfg.TRAIN.EMA_SCHEDULER.MAX - cfg.TRAIN.EMA_SCHEDULER.MIN) * 0.5 * \
(1. + math.cos(math.pi * epoch / cfg.TRAIN.EPOCH))
return ema_decay
class ConstantEMA:
def __init__(self, cfg):
self.cfg = cfg
def adjust(self, epoch):
ema_decay = self.cfg.TRAIN.EMA_DECAY
return ema_decay