Roman
chore: Add comments, clean unused objects and improve ridge detection
3cf0931 unverified
raw
history blame
1.5 kB
"A script to manually compile all filters."
import json
import shutil
import onnx
from common import AVAILABLE_FILTERS, FILTERS_PATH, KEYS_PATH
from custom_client_server import CustomFHEClient, CustomFHEDev
print("Starting compiling the filters.")
for image_filter in AVAILABLE_FILTERS:
print("\nCompiling filter:", image_filter)
# Retrieve the deployment files associated to the current filter
deployment_path = FILTERS_PATH / f"{image_filter}/deployment"
# Retrieve the client associated to the current filter
model = CustomFHEClient(deployment_path, KEYS_PATH).model
# Load the onnx model
onnx_model = onnx.load(FILTERS_PATH / f"{image_filter}/server.onnx")
# Compile the model on a representative inputset, using the loaded onnx model
model.compile(onnx_model=onnx_model)
processing_json_path = deployment_path / "serialized_processing.json"
# Load the serialized_processing.json file
with open(processing_json_path, "r") as f:
serialized_processing = json.load(f)
# Delete the deployment folder and its content if it exist
if deployment_path.is_dir():
shutil.rmtree(deployment_path)
# Save the development files needed for deployment
fhe_dev = CustomFHEDev(model=model, path_dir=deployment_path)
fhe_dev.save()
# Write the serialized_processing.json file in the deployment directory
with open(processing_json_path, "w") as f:
json.dump(serialized_processing, f)
print("Done!")