concrete.ml.quantization.quantized_module.md
module concrete.ml.quantization.quantized_module
concrete.ml.quantization.quantized_module
QuantizedModule API.
class QuantizedModule
QuantizedModule
Inference for a quantized model.
method __init__
__init__
property fhe_circuit
Get the FHE circuit.
Returns:
Circuit
: the FHE circuit
property is_compiled
Return the compiled status of the module.
Returns:
bool
: the compiled status of the module.
property onnx_model
Get the ONNX model.
.. # noqa: DAR201
Returns:
_onnx_model
(onnx.ModelProto): the ONNX model
property post_processing_params
Get the post-processing parameters.
Returns:
Dict[str, Any]
: the post-processing parameters
method compile
compile
Compile the forward function of the module.
Args:
q_inputs
(Union[Tuple[numpy.ndarray, ...], numpy.ndarray]): Needed for tracing and building the boundaries.configuration
(Optional[Configuration]): Configuration object to use during compilationcompilation_artifacts
(Optional[DebugArtifacts]): Artifacts object to fill duringshow_mlir
(bool): if set, the MLIR produced by the converter and which is going to be sent to the compiler backend is shown on the screen, e.g., for debugging or demo. Defaults to False.use_virtual_lib
(bool): set to use the so called virtual lib simulating FHE computation. Defaults to False.p_error
(Optional[float]): probability of error of a single PBS.global_p_error
(Optional[float]): probability of error of the full circuit. Not simulated by the VL, i.e., taken as 0verbose_compilation
(bool): whether to show compilation information
Returns:
Circuit
: the compiled Circuit.
method dequantize_output
dequantize_output
Take the last layer q_out and use its dequant function.
Args:
qvalues
(numpy.ndarray): Quantized values of the last layer.
Returns:
numpy.ndarray
: Dequantized values of the last layer.
method forward
forward
Forward pass with numpy function only.
Args:
*qvalues (numpy.ndarray)
: numpy.array containing the quantized values.debug
(bool): In debug mode, returns quantized intermediary values of the computation. This is useful when a model's intermediary values in Concrete-ML need to be compared with the intermediary values obtained in pytorch/onnx. When set, the second return value is a dictionary containing ONNX operation names as keys and, as values, their input QuantizedArray or ndarray. The use can thus extract the quantized or float values of quantized inputs.
Returns:
(numpy.ndarray)
: Predictions of the quantized model
method forward_and_dequant
forward_and_dequant
Forward pass with numpy function only plus dequantization.
Args:
*q_x (numpy.ndarray)
: numpy.ndarray containing the quantized input values. Requires the input dtype to be int64.
Returns:
(numpy.ndarray)
: Predictions of the quantized model
method post_processing
post_processing
Post-processing of the quantized output.
Args:
qvalues
(numpy.ndarray): numpy.ndarray containing the quantized input values.
Returns:
(numpy.ndarray)
: Predictions of the quantized model
method quantize_input
quantize_input
Take the inputs in fp32 and quantize it using the learned quantization parameters.
Args:
*values (numpy.ndarray)
: Floating point values.
Returns:
Union[numpy.ndarray, Tuple[numpy.ndarray, ...]]
: Quantized (numpy.int64) values.
method set_inputs_quantization_parameters
set_inputs_quantization_parameters
Set the quantization parameters for the module's inputs.
Args:
*input_q_params (UniformQuantizer)
: The quantizer(s) for the module.
Last updated