"All the constants used in this repo." | |
from pathlib import Path | |
# This repository's directory | |
REPO_DIR = Path(__file__).parent | |
# This repository's main necessary folders | |
MATCHERS_PATH = REPO_DIR / "matchers" | |
KEYS_PATH = REPO_DIR / ".fhe_keys" | |
CLIENT_TMP_PATH = REPO_DIR / "client_tmp" | |
SERVER_TMP_PATH = REPO_DIR / "server_tmp" | |
# Create the necessary folders | |
KEYS_PATH.mkdir(exist_ok=True) | |
CLIENT_TMP_PATH.mkdir(exist_ok=True) | |
SERVER_TMP_PATH.mkdir(exist_ok=True) | |
# All the filters currently available in the demo | |
AVAILABLE_MATCHERS = [ | |
"random guessing", | |
# "random guessing concrete 1.1.0", | |
# "random guessing concrete 1.1.0", | |
# "static distance", | |
# "MLP-based learned distance", | |
# "CNN-based learned distance", | |
] | |
# The input images' shape. Images with different input shapes will be cropped and resized by Gradio | |
INPUT_SHAPE = (100, 100) | |
# Retrieve the input examples directory | |
INPUT_EXAMPLES_DIR = REPO_DIR / "input_examples" | |
# List of all image examples suggested in the demo | |
EXAMPLES = [str(image) for image in INPUT_EXAMPLES_DIR.glob("**/*")] | |
# Encrypted image and output names | |
ENCRYPTED_QUERY_NAME = "encrypted_query_image" | |
ENCRYPTED_REFERENCE_NAME = "encrypted_reference_image" | |
ENCRYPTED_OUTPUT_NAME = "encrypted_output" | |
# Store the server's URL | |
SERVER_URL = "http://localhost:8000/" | |