concrete.ml.deployment.fhe_client_server.md
module concrete.ml.deployment.fhe_client_server
concrete.ml.deployment.fhe_client_server
APIs for FHE deployment.
Global Variables
CML_VERSION
function check_concrete_versions
check_concrete_versions
Check that current versions match the ones used in development.
This function loads the version JSON file found in client.zip or server.zip files and then checks that current package versions (Concrete Python, Concrete ML) as well as the Python current version all match the ones that are currently installed.
Args:
zip_path
(Path): The path to the client or server zip file that contains the version.json file to check.
Raises:
ValueError
: If at least one version mismatch is found.
class FHEModelServer
FHEModelServer
Server API to load and run the FHE circuit.
method __init__
__init__
Initialize the FHE API.
Args:
path_dir
(str): the path to the directory where the circuit is saved
method load
load
Load the circuit.
method run
run
Run the model on the server over encrypted data.
Args:
serialized_encrypted_quantized_data
(bytes): the encrypted, quantized and serialized dataserialized_evaluation_keys
(bytes): the serialized evaluation keys
Returns:
bytes
: the result of the model
class FHEModelDev
FHEModelDev
Dev API to save the model and then load and run the FHE circuit.
method __init__
__init__
Initialize the FHE API.
Args:
path_dir
(str): the path to the directory where the circuit is savedmodel
(Any): the model to use for the FHE API
method save
save
Export all needed artifacts for the client and server.
Arguments:
via_mlir
(bool): serialize withvia_mlir
option from Concrete-Python. For more details on the topic please refer to Concrete-Python's documentation.
Raises:
Exception
: path_dir is not empty
class FHEModelClient
FHEModelClient
Client API to encrypt and decrypt FHE data.
method __init__
__init__
Initialize the FHE API.
Args:
path_dir
(str): the path to the directory where the circuit is savedkey_dir
(str): the path to the directory where the keys are stored
method deserialize_decrypt
deserialize_decrypt
Deserialize and decrypt the values.
Args:
serialized_encrypted_quantized_result
(bytes): the serialized, encrypted and quantized result
Returns:
numpy.ndarray
: the decrypted and deserialized values
method deserialize_decrypt_dequantize
deserialize_decrypt_dequantize
Deserialize, decrypt and de-quantize the values.
Args:
serialized_encrypted_quantized_result
(bytes): the serialized, encrypted and quantized result
Returns:
numpy.ndarray
: the decrypted (de-quantized) values
method generate_private_and_evaluation_keys
generate_private_and_evaluation_keys
Generate the private and evaluation keys.
Args:
force
(bool): if True, regenerate the keys even if they already exist
method get_serialized_evaluation_keys
get_serialized_evaluation_keys
Get the serialized evaluation keys.
Returns:
bytes
: the evaluation keys
method load
load
Load the quantizers along with the FHE specs.
method quantize_encrypt_serialize
quantize_encrypt_serialize
Quantize, encrypt and serialize the values.
Args:
x
(numpy.ndarray): the values to quantize, encrypt and serialize
Returns:
bytes
: the quantized, encrypted and serialized values
Last updated