Add end-to-end Streamlit privacy auditor UI (MVP)#386
Closed
fazelehh wants to merge 9 commits into
Closed
Conversation
Introduces leakpro/ui/ — a wizard-style Streamlit dashboard that guides
users through the full LeakPro audit journey in a browser:
Stage 0 – Overview: landing page with pipeline diagram and resume support
Stage 1 – Configure: YAML editors, attack checklist, DP-SGD toggle (ε/δ sliders)
Stage 2 – Train: target model training with live progress; supports both
standard and DP-SGD (Opacus) modes using existing handlers
Stage 3 – Audit: runs MIA attacks with live log streaming per attack
Stage 4 – Explore Results: four interactive tabs
• Summary — risk cards, traffic-light indicator, plain-English verdict,
DP-SGD privacy impact panel
• ROC Analysis — interactive Plotly ROC curves (log-log, all attacks overlaid)
• Signal Histograms — member vs non-member distributions + threshold slider
• Sensitive Records — top-N riskiest training images (CIFAR grid) or
tabular rows + CSV export for all data types
Reuses CifarInputHandler, CifarInputHandlerDPsgd, LeakPro, and MIAResult
from existing code. No changes to attack pipeline."
Closed
Collaborator
Author
|
taking care of in PR #393 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Streamlit Privacy Auditor UI — MVP + UX Improvements
Summary
leakpro/ui/) for running MIA privacy audits without touching any codeWhat's included
New UI (
leakpro/ui/)A 4-stage wizard launched via
streamlit run leakpro/ui/dashboard.py:Bug fix — logit cache indexing
prepare_data()previously assigned random population-space indices to train/test splits.RMIA and BASE attacks assume
logits_cache[i]corresponds to population pointi,causing
IndexError: index N is out of boundsat audit time.Fix: the population is now shuffled once and sequential 0-based indices are assigned
(
train = [0…n-1],test = [n…n+m-1]), so position always equals population index.The population pickle is always regenerated to stay consistent.
UX improvements
Test plan
ssh -L 8501:localhost:8501 user@host) required to access from a remote machine