code: def test_lamb_option(self):
      nelem = 1
      tensor = torch.rand(nelem, dtype=torch.float, device="cuda")
      weight_decay = [0, 0.01]
  
      for wd in weight_decay:
          lamb_option = {
              "lr": 0.01,
              "betas": (0.6, 0.9),
              "eps": 3e-06,
              "weight_decay": wd,
          }
          (
              ref_param,
              tst_param,
              ref_optim,
              tst_optim,
          ) = self.gen_param_optim([tensor], lamb_option)
  
          for i in range(self.iters):
              self.gen_grad(ref_param, tst_param)
              ref_optim.step()
              tst_optim.step()
              max_abs_diff, max_rel_diff = self.get_max_diff(
                  ref_param, tst_param
              )
  
              self.assertLessEqual(max_abs_diff, self.max_abs_diff)
              self.assertLessEqual(max_rel_diff, self.max_rel_diff)
  
imports: import unittest
  import os
  import torch
  from torch.optim import Optimizer
  import apex
  from apex.multi_tensor_apply import multi_tensor_applier
  from itertools import product
label_desc: Use image node_id 7 for calling the TestFusedMixedPrecisionLamb obj's underlying member method code with example usage: obj.test_lamb_option() without return types