|
--- |
|
title: Image Filtering on Encrypted Images using FHE |
|
emoji: 🥷💬 |
|
colorFrom: yellow |
|
colorTo: yellow |
|
sdk: gradio |
|
sdk_version: 3.2 |
|
app_file: app.py |
|
pinned: true |
|
tags: [FHE, PPML, privacy, privacy preserving machine learning, homomorphic encryption, |
|
security] |
|
python_version: 3.8.15 |
|
--- |
|
|
|
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference |
|
|
|
# Image filtering using FHE |
|
|
|
## Running the application on your machine |
|
|
|
In this directory, ie `image_filtering`, you can do the following steps. |
|
|
|
### Do once |
|
|
|
First, create a virtual env and activate it: |
|
|
|
<!--pytest-codeblocks:skip--> |
|
|
|
```bash |
|
python3 -m venv .venv |
|
source .venv/bin/activate |
|
``` |
|
|
|
Then, install required packages: |
|
|
|
<!--pytest-codeblocks:skip--> |
|
|
|
```bash |
|
pip3 install pip --upgrade |
|
pip3 install -U pip wheel setuptools --ignore-installed |
|
pip3 install -r requirements.txt --ignore-installed |
|
``` |
|
|
|
If you are not on Linux, you will need to generate the files manually before launching the app. |
|
See section [Generating new files](#generating-new-files). |
|
|
|
|
|
## Run the following steps each time you relaunch the application |
|
|
|
In a terminal, run: |
|
|
|
<!--pytest-codeblocks:skip--> |
|
|
|
```bash |
|
source .venv/bin/activate |
|
python3 app.py |
|
``` |
|
|
|
## Interacting with the application |
|
|
|
Open the given URL link (search for a line like `Running on local URL: http://127.0.0.1:8888/`). |
|
|
|
|
|
## Generating new files |
|
|
|
It is also possible to manually add some new filters in `filters.py`. Yet, in order to be able to use |
|
them interactively in the app, you first need to update the `AVAILABLE_FILTERS` list found in `common.py` |
|
and then compile them by running : |
|
|
|
<!--pytest-codeblocks:skip--> |
|
|
|
```bash |
|
python3 generate_dev_filters.py |
|
``` |
|
|
|
Check it finishes well (by printing "Done!"). |
|
|
|
|