code: def test_groups(self):
      state = {
          torchbearer.OPTIMIZER: optim.SGD(
              [
                  {"params": nn.Linear(10, 10).parameters()},
                  {
                      "params": nn.Linear(10, 10).parameters(),
                      "lr": 1e-3,
                  },
              ],
              lr=1e-2,
              momentum=0.9,
          )
      }
      metric = LR()
      metric.reset(state)
      self.assertListEqual(metric.process(state)["lr"], [1e-2, 1e-3])
      self.assertListEqual(
          metric.process_final(state)["lr"], [1e-2, 1e-3]
      )
  
file_path: torchbearer/tests/metrics/test_lr.py
imports: import unittest
  import torch.nn
  import torch.optim
  import torchbearer
  from torchbearer.metrics import LR
label_desc: Use image node_id 2 for calling the TestLR obj's underlying member method code with example usage: obj.test_groups() without return types