code: def get_qlinear_fun_weight(
      node: Node, gm: GraphModule
  ) -> torch.Tensor:
      # packed weight is arg 1
      packed_weight_node = node.args[1]
      assert isinstance(packed_weight_node, Node)
      assert packed_weight_node.op == "get_attr"
      packed_weight = getattr_from_fqn(gm, packed_weight_node.target)  # type: ignore[arg-type]
      # TODO(future PR): why does packed_weight.unpack() not work?
      (weight, _bias), _name = packed_weight.__getstate__()
      return weight
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  import torch.ao.nn.quantized.dynamic
  import torch.ao.nn.quantized
  import torch.ao.nn.intrinsic.qat
  import torch.ao.nn.qat
  import torch.ao.nn.intrinsic
  import torch.ao.nn.intrinsic.quantized
  from torch.fx import GraphModule
  from torch.fx.graph import Node
  from .utils import get_target_type_str, getattr_from_fqn, return_first_non_observer_node
  from .ns_types import NSSingleResultValuesType, NSSingleResultType
  from typing import List, Optional, Dict, Callable
label_desc: Use image node_id 12 for calling a global function with example usage: get_qlinear_fun_weight(node, gm) and returns: weight