I wasn’t able to run c2 Int8Conv with signed weights
Should I use Int8ConvPackWeight to make it work ?
I tried to look at test code (because I didn’t find any docs except for code)

  
      github.com
  
  
    pytorch/pytorch/blob/e870a9a87042805cd52973e36534357f428a0748/caffe2/quantization/server/utils.py#L437 1

def add_quantization_param_args(op, tensor, preserve_sparsity=False):
    tensor_min = 0 if tensor.size == 0 else tensor.min()
    tensor_max = 0 if tensor.size == 0 else tensor.max()


    q_param = choose_quantization_params(tensor_min, tensor_max, preserve_sparsity)


    add_quantization_param_args_(op, q_param)
    return q_param




def create_int8_given_tensor_fill(tensor, out_blob_name, preserve_sparsity=False):
    """
    Create Int8GivenTensorFill op that quantizes the given tensor and outputs
    an Int8Tensor with out_blob_name.
    """
    op = core.CreateOperator("Int8GivenTensorFill", [], out_blob_name)
    q_param = add_quantization_param_args(op, tensor, preserve_sparsity)
    quantized_tensor = (
        np.around(tensor / q_param.scale).astype(np.int32) + q_param.zero_point
    )
    quantized_tensor = np.maximum(0, np.minimum(quantized_tensor, 255))



  
  
    
    
  
  


And before weight packaging they used uint8 .