From 4988c8cca04ff8d11f1704ac973a912a31eb6b95 Mon Sep 17 00:00:00 2001 From: "Tran N.M. Hoang" <35718590+hoangtnm@users.noreply.github.com> Date: Sat, 23 Oct 2021 21:30:07 +0700 Subject: [PATCH 1/3] fix: CosineAnnealingLR is missing According to [Moco_v2 paper](https://arxiv.org/abs/2003.04297), `cosine lr scheduler` is used but the lighting-bolts's implementation has not implemented it yet. --- pl_bolts/models/self_supervised/moco/moco2_module.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pl_bolts/models/self_supervised/moco/moco2_module.py b/pl_bolts/models/self_supervised/moco/moco2_module.py index 91fd5fb969..b16220d971 100644 --- a/pl_bolts/models/self_supervised/moco/moco2_module.py +++ b/pl_bolts/models/self_supervised/moco/moco2_module.py @@ -307,7 +307,10 @@ def configure_optimizers(self): momentum=self.hparams.momentum, weight_decay=self.hparams.weight_decay, ) - return optimizer + scheduler = torch.optim.lr_scheduler.CosineAnnealingLR( + optimizer, self.trainer.max_epochs, + ) + return [optimizer], [scheduler] @staticmethod def add_model_specific_args(parent_parser): From c66c711ca82333264e08237ede6936f9171b53bf Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 23 Oct 2021 14:33:42 +0000 Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pl_bolts/models/self_supervised/moco/moco2_module.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pl_bolts/models/self_supervised/moco/moco2_module.py b/pl_bolts/models/self_supervised/moco/moco2_module.py index b16220d971..b2cb3c0cf7 100644 --- a/pl_bolts/models/self_supervised/moco/moco2_module.py +++ b/pl_bolts/models/self_supervised/moco/moco2_module.py @@ -308,7 +308,8 @@ def configure_optimizers(self): weight_decay=self.hparams.weight_decay, ) scheduler = torch.optim.lr_scheduler.CosineAnnealingLR( - optimizer, self.trainer.max_epochs, + optimizer, + self.trainer.max_epochs, ) return [optimizer], [scheduler] From a6e0a6ab229ad5837ca8bf64d8ef23f4fb0962d4 Mon Sep 17 00:00:00 2001 From: Akihiro Nitta Date: Tue, 26 Oct 2021 18:56:59 +0900 Subject: [PATCH 3/3] Update changelog --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9ee8efc89..94b2a138bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Fix doctest fails with ImportError: cannot import name 'Env' from 'gym' ([#751](https://github.com/PyTorchLightning/lightning-bolts/pull/751)) +- Fixed doctest fails with ImportError: cannot import name 'Env' from 'gym' ([#751](https://github.com/PyTorchLightning/lightning-bolts/pull/751)) + +- Fixed MoCo v2 missing Cosine Annealing learning scheduler ([#757](https://github.com/PyTorchLightning/lightning-bolts/pull/757)) ## [0.4.0] - 2021-09-09