code: def configure_optimizers(self):
      optimizer1 = torch.optim.SGD(
          self.backbone.parameters(), lr=self.hparams.learning_rate1
      )
      optimizer2 = torch.optim.Adam(
          self.head.parameters(), lr=self.hparams.learning_rate2
      )
      lr_scheduler1 = torch.optim.lr_scheduler.StepLR(
          optimizer1, step_size=1, gamma=0.5
      )
      if TORCH_VERSION_LESS_1_10:
          lr_scheduler2 = torch.optim.lr_scheduler.StepLR(
              optimizer2, step_size=1, gamma=0.1
          )
      else:
          lr_scheduler2 = torch.optim.lr_scheduler.LinearLR(
              optimizer=optimizer2, start_factor=0.5
          )
      return (
          {
              "optimizer": optimizer1,
              "lr_scheduler": {
                  "scheduler": lr_scheduler1,
              },
          },
          {"optimizer": optimizer2, "lr_scheduler": lr_scheduler2},
      )
  
imports: import os
  import pytest
  from unittest import TestCase
  from test.pytorch.utils._train_torch_lightning import create_data_loader, data_transform
  from test.pytorch.utils._train_torch_lightning import create_test_data_loader
  from bigdl.nano.pytorch.vision.models import vision
  from bigdl.nano.pytorch import Trainer
  from bigdl.nano.utils.pytorch import TORCH_VERSION_LESS_1_10, TORCH_VERSION_LESS_2_0
  import pytorch_lightning
  import torch
  from torch import nn
  import torch.nn.functional
label_desc: Use image node_id 2 for calling the ResNetWithScheduler obj's underlying member method code with example usage: obj.configure_optimizers() and returns: dict,  dict