See the implementation in TVM I added:

  
      github.com
  
  
    apache/incubator-tvm/blob/06e9542ee0bfd014bd06a4dd4fdb3af9d2d29eb0/python/tvm/relay/frontend/qnn_torch.py#L50-L100 10

def _unpack_quant_params(param_name, packed_params, unpack_func):
    # Torch stores quantized params in a custom packed format,
    # need to unpack and retrieve them as numpy arrays
    qweight, bias = unpack_func(packed_params)
    weight_np = qweight.dequantize().numpy()


    import torch
    if qweight.qscheme() == torch.per_tensor_affine:
        param = QNNParam(weight_np, bias, qweight.q_scale(),
                         int(qweight.q_zero_point()), param_name)
    else:
        scales = qweight.q_per_channel_scales().numpy()
        zero_points = qweight.q_per_channel_zero_points().numpy()
        # This is an assumption posed by QNN
        msg = "The values of zero points should be all zero for per channel"
        assert np.all(zero_points == 0), msg
        param = QNNParam(weight_np, bias, scales, 0, param_name)


    return param




  This file has been truncated. show original

  
  
    
    
  
  


From the name classifier.1._packed_params I guess it comes from nn.Linear. In that case, you need to use torch.ops.quantized.linear_unpack.