code: def contrib_dense_pack(
      data,
      weight,
      input_zero_point,
      kernel_zero_point,
      input_scale,
      kernel_scale,
      kernel_layout="NC",
      units=None,
      out_dtype="int32",
  ):
      """Qnn contrib_dense_pack operator.
      Applies a quantized linear transformation
  
       .. math::
  
       `Y = X * W`
  
      If doing Per-channel quantization, qnn expects the kernel_zero_scale
      and optionally the kernel_zero_point will be 1-D vectors instead of scalars.
  
      Parameters
      ----------
      data : tvm.relay.Expr
          The quantized input data to the operator.
      weight : tvm.relay.Expr
          The quantized weight expressions.
      input_zero_point: tvm.relay.Expr
          The input zero point.
      kernel_zero_point: tvm.relay.Expr
          The kernel zero point.
      input_scale: tvm.relay.Expr
          The scale for the input tensor.
      kernel_scale: tvm.relay.Expr
          The scale for the weight tensor. The scale for the weight tensor is
          stored for access to this during relay. This information is not
          needed in the pass pipeline after qnn.conv2d is lowered to the
          sequence of steps as in nn.conv2d. See also input_scale in Requantize.
      kernel_layout: str
          The layout of weight, such as "NC" or "NC32n4c".
      units : int, optional
          Number of hidden units of the dense transformation.
      out_dtype : str, optional
          Specifies the output data type for mixed precision dense can be int32 or int16.
  
      Returns
      -------
      result : tvm.relay.Expr
          The computed result.
      """
  
      return _make.contrib_dense_pack(
          data,
          weight,
          input_zero_point,
          kernel_zero_point,
          input_scale,
          kernel_scale,
          kernel_layout,
          units,
          out_dtype,
      )
  
imports: from __future__ import absolute_import
  import tvm
  import tvm.ir
  from tvm import relay
  from tvm.relay.expr import Tuple, TupleWrapper
  from tvm.relay.op.nn.utils import get_pad_tuple2d
  from tvm.runtime import Object
  from tvm.target import Target
  from tvm.topi.nn.qnn import SQNN_DTYPE_TO_CODE
  from tvm.target.x86 import target_has_features
  from .None import _make, _requantize
label_desc: Use image node_id 13 for calling a global function with example usage: contrib_dense_pack(data, weight, input_zero_point, kernel_zero_point, input_scale, kernel_scale, kernel_layout, units, out_dtype) and returns: _make