code: def test_multi_params(self):
      sizes = [[4096, 1024], [4096], [4096, 2048], [32320, 1024], [1]]
  
      tensors = []
      for size in sizes:
          tensors.append(
              torch.rand(size, dtype=torch.float, device="cuda")
          )
      ref_param, tst_param, ref_optim, tst_optim = self.gen_param_optim(
          tensors, self.options
      )
  
      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: from itertools import product
  import random
  import unittest
  import torch
  import apex
label_desc: Use image node_id 6 for calling the TestFusedAdam obj's underlying member method code with example usage: obj.test_multi_params() without return types