code: def gen_param_optim(self, tensors, options, tst_options=None):
      # Adding this to make backward compatible with existing tests. Just in
      # case "tst_options" are not provided, it gets a copy of options
      # which contains the parameters for the reference optimizer
      if tst_options == None:
          tst_options = options
  
      ref_param = []
      tst_param = []
      for tensor in tensors:
          ref_param.append(torch.nn.Parameter(tensor.clone()))
          tst_param.append(torch.nn.Parameter(tensor.clone()))
  
      ref_optim = self.ref_optim(ref_param, **options)
      tst_optim = self.fused_optim(tst_param, **tst_options)
  
      return (ref_param, tst_param, ref_optim, tst_optim)
  
imports: from itertools import product
  import random
  import unittest
  import torch
  import apex
label_desc: Use image node_id 3 for calling the TestFusedOptimizer obj's underlying member method code with example usage: obj.gen_param_optim(tensors, options, tst_options) and returns: ref_param,  tst_param,  ref_optim,  tst_optim