code: def generate_sketch_matrix(
      self, rand_h, rand_s, input_dim, output_dim
  ):
      return torch.sparse.FloatTensor(
          torch.stack(
              [
                  torch.arange(input_dim, out=torch.LongTensor()),
                  rand_h.long(),
              ]
          ),
          rand_s.float(),
          [input_dim, output_dim],
      ).to_dense()
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from mmf.common.registry import registry
  from mmf.utils.general import get_chunks, get_sizes_list, irfft, rfft
  from mmf.utils.logger import log_class_usage
label_desc: Use image node_id 2 for calling the CompactBilinearPooling obj's underlying member method code with example usage: obj.generate_sketch_matrix(rand_h, rand_s, input_dim, output_dim) and returns: torch