code: def test_torch_launch_ls_dequantize():
      batch_size, seq_len = kt.bs_sl()
      hidden_dim = kt.hidden_dim
  
      print(
          "(batch_size, seq_len, hidden_dim): "
          f"({batch_size}, {seq_len}, {hidden_dim})"
      )
  
      # shared weights
      inputs = kt.randint8((batch_size, seq_len, hidden_dim))
      base_cmax = torch.tensor(16, dtype=kt.dtype, device=kt.device)
      custom_cmax = torch.tensor(
          [16, 16], dtype=kt.dtype, device=kt.device
      )
  
      # custom weights
      custom_res = kt.rand((batch_size, seq_len, hidden_dim)).to(
          kt.dtype
      )
  
      if kt.dtype == torch.float:
          func = cuda_module.torch_launch_ls_dequantize_fp32
      else:
          func = cuda_module.torch_launch_ls_dequantize_fp16
  
      def custom():
          func(custom_res, inputs, custom_cmax, inputs.numel())
          return [custom_res]
  
      def baseline():
          base = kt.dequantize(inputs, base_cmax, True)
          base = base.to(kt.dtype)
  
          return [base.contiguous()]
  
      return custom, baseline
  
imports: import random
  import torch
  from torch._C import ScriptModule, dtype
  from torch.nn import functional
  from lightseq.training.ops.pytorch.builder import KernelBuilder, AdamBuilder
  from tests.util import TestDecorator
  from torch_crf import CRF
label_desc: Use image node_id 30 for calling a global function with example usage: test_torch_launch_ls_dequantize() and returns: custom,  baseline, list, list