Skip to content

Commit 0563f9e

Browse files
committed
Change EMA adjustment.
1 parent 7ecc6d8 commit 0563f9e

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

references/classification/train.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,10 +260,10 @@ def main(args):
260260
# Decay adjustment that aims to keep the decay independent from other hyper-parameters originally proposed at:
261261
# https://github.com/facebookresearch/pycls/blob/f8cd9627/pycls/core/net.py#L123
262262
#
263-
# total_ema_updates = (Dataset_size / n_GPUs) * epochs / (batch_size * EMA_steps)
264-
# We consider constant = (Dataset_size / n_GPUs) for a given dataset/setup and ommit it. Thus:
265-
# adjust = 1 / total_ema_updates ~= batch_size * EMA_steps / epochs
266-
adjust = args.batch_size * args.model_ema_steps / args.epochs
263+
# total_ema_updates = (Dataset_size / n_GPUs) * epochs / (batch_size_per_gpu * EMA_steps)
264+
# We consider constant = Dataset_size for a given dataset/setup and ommit it. Thus:
265+
# adjust = 1 / total_ema_updates ~= n_GPUs * batch_size_per_gpu * EMA_steps / epochs
266+
adjust = args.world_size * args.batch_size * args.model_ema_steps / args.epochs
267267
alpha = 1.0 - args.model_ema_decay
268268
alpha = min(1.0, alpha * adjust)
269269
model_ema = utils.ExponentialMovingAverage(model_without_ddp, device=device, decay=1.0 - alpha)
@@ -397,8 +397,8 @@ def get_args_parser(add_help=True):
397397
'--model-ema-steps', type=int, default=32,
398398
help='the number of iterations that controls how often to update the EMA model (default: 32)')
399399
parser.add_argument(
400-
'--model-ema-decay', type=float, default=0.99999,
401-
help='decay factor for Exponential Moving Average of model parameters (default: 0.99999)')
400+
'--model-ema-decay', type=float, default=0.99998,
401+
help='decay factor for Exponential Moving Average of model parameters (default: 0.99998)')
402402

403403
return parser
404404

0 commit comments

Comments
 (0)