From b01b3ff97c11488aa0d31664f8e6191e99241083 Mon Sep 17 00:00:00 2001
From: Alex Yang <50511903+imabackstabber@users.noreply.github.com>
Date: Tue, 31 May 2022 16:59:46 +0800
Subject: [PATCH] [feat]:support display paramwise result in constructing
 optimizer (#262)

* [feat]:support display paramwise result in constructing optimizer

* [fix]:fix format issue

* delete unnecessary rank logic and fix format
---
 mmengine/optim/optimizer/default_constructor.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/mmengine/optim/optimizer/default_constructor.py b/mmengine/optim/optimizer/default_constructor.py
index f46cd208..c4ebb40e 100644
--- a/mmengine/optim/optimizer/default_constructor.py
+++ b/mmengine/optim/optimizer/default_constructor.py
@@ -5,6 +5,7 @@ from typing import List, Optional, Union
 import torch
 import torch.nn as nn
 from torch.nn import GroupNorm, LayerNorm
+from mmengine.mmengine.logging.logger import print_log
 
 from mmengine.registry import OPTIMIZER_CONSTRUCTORS, OPTIMIZERS
 from mmengine.utils import is_list_of, mmcv_full_available
@@ -226,6 +227,13 @@ class DefaultOptimizerConstructor:
                         param_group[
                             'weight_decay'] = self.base_wd * bias_decay_mult
             params.append(param_group)
+            for key, value in param_group.items():
+                if key == 'params':
+                    continue
+                full_name = f'{prefix}.{name}' if prefix else name
+                print_log(
+                    f'paramwise_options -- {full_name}:{key}={value}',
+                    logger='current')
 
         if mmcv_full_available():
             from mmcv.ops import DeformConv2d, ModulatedDeformConv2d
-- 
GitLab