code: def _expected_finetuning_param_groups(
      construct_single_param_group_only: bool = False,
      sharding_factor: int = 1,
  ):
      if construct_single_param_group_only:
          return [
              {
                  "params_count": 138,
                  "params_numel": 83_590_140 // sharding_factor,
                  "start_lr": 0.04,
                  "end_lr": 0.0004,
                  "weight_decay": 0.0001,
              }
          ]
      else:
          return [
              {
                  "params_count": 95,
                  "params_numel": 80_419_552 // sharding_factor,
                  "start_lr": 0.04,
                  "end_lr": 0.0004,
                  "weight_decay": 0.0001,
              },
              {
                  "params_count": 154,
                  "params_numel": 145_588 // sharding_factor,
                  "start_lr": 0.04,
                  "end_lr": 0.0004,
                  "weight_decay": 0.0,
              },
              {
                  # Params for linear layer matrix
                  "params_count": 1,
                  "params_numel": 3024 * 1000 // sharding_factor,
                  "start_lr": 0.4,
                  "end_lr": 0.004,
                  "weight_decay": 1e-6,
              },
              {
                  # Params for linear layer biases
                  "params_count": 1,
                  "params_numel": 1000 // sharding_factor,
                  "start_lr": 0.4,
                  "end_lr": 0.004,
                  "weight_decay": 0.0,
              },
          ]
  
imports: import os
  import unittest
  from classy_vision.optim import build_optimizer_schedulers
  from vissl.config import AttrDict
  from vissl.models import build_model
  from vissl.optimizers import get_optimizer_param_groups
  from vissl.utils.checkpoint import CheckpointFormatConverter
  from vissl.utils.hydra_config import compose_hydra_configuration, convert_to_attrdict
  from vissl.utils.test_utils import gpu_test, in_temporary_directory, run_integration_test, spawn_distributed_test
label_desc: Use image node_id 3 for calling the TestFineTuning obj's underlying member method code with example usage: obj._expected_finetuning_param_groups(construct_single_param_group_only, sharding_factor) and returns: list, list