class_docstr: Note: This is experimental and may change in the future.
  Supports weight quantization for parameters while performing convolution over input.
  ``W_float = W_quantized * scale + bias``.
  
  Parameters
  ----------
  In addition to convolutional layer parameters, the following additional parameters
  are required.
  
  quantization_type: const str (Required)
      * One of ``linear``, or ``lut``.
  
  nbits: const tensor<[], i32> (Optional. Default to 8)
      * Denotes the bit-width of the quantization. ``1 <= nbits <= 8``.
  
  quant_scale: tensor<*?, T> (Required)
      * Denotes the scale of quantization.
  
  quant_bias: tensor<*?, T> (Required)
      * Denotes the bias that is used to quantize/dequantize.
  
  Returns
  -------
  tensor<[n, C_out, *d_out], T>
      * Output activation has the same rank and spatial dimension as the input.
        That is, ``len(d_out) == len(d_in)``.
  
  Attributes
  ----------
  T: fp16, fp32
class_docstr_tok: ["Note",":","This","is","experimental","and","may","change","in","the","future",".","Supports","weight","quantization","for","parameters","while","performing","convolution","over","input",".","``","W_float","=","W_quantized","*","scale","+","bias","``",".","Parameters","--","--","--","--","--","In","addition","to","convolutional","layer","parameters",",","the","following","additional","parameters","are","required",".","quantization_type",":","const","str","(","Required",")","*","One","of","``","linear","``",",","or","``","lut","``",".","nbits",":","const","tensor","<","[","]",",","i32",">","(","Optional",".","Default","to","8",")","*","Denotes","the","bit-width","of","the","quantization",".","``","1","<","=","nbits","<","=","8","``",".","quant_scale",":","tensor","<","*","?",",","T",">","(","Required",")","*","Denotes","the","scale","of","quantization",".","quant_bias",":","tensor","<","*","?",",","T",">","(","Required",")","*","Denotes","the","bias","that","is","used","to","quantize\/dequantize",".","Returns","--","--","--","-","tensor","<","[","n",",","C_out",",","*","d_out","]",",","T",">","*","Output","activation","has","the","same","rank","and","spatial","dimension","as","the","input",".","That","is",",","``","len","(","d_out",")","==","len","(","d_in",")","``",".","Attributes","--","--","--","--","--","T",":","fp16",",","fp32"]
code: def default_inputs(self):
      return super().default_inputs() + DefaultInputs(
          nbits=8,
      )
  
file_path: coremltools/coremltools/converters/mil/mil/ops/defs/iOS15/conv.py
imports: from coremltools.converters.mil.mil import Operation, types
  from coremltools.converters.mil.mil.block import curr_opset_version
  from coremltools.converters.mil.mil.input_type import DefaultInputs, InputSpec, TensorInputType
  from coremltools.converters.mil.mil.ops.defs._op_reqs import register_op
  from coremltools.converters.mil.mil.ops.defs._utils import spatial_dimensions_out_shape
  from coremltools.converters.mil.mil.ops.defs.iOS15 import _IOS15_TARGET
label_desc: Use image node_id 1 for calling the conv_quantized obj's underlying member method code with example usage: obj.default_inputs() and returns: unknown