How ruben-hayrapetyan/dsi_repo works
This repository is a research collection of differential-privacy training algorithms and similarity metrics, with dataset-specific image and text variants. The visible AdaDPS entry point accepts training and privacy parameters, dynamically selects a trainer, and starts training; the tree also documents DP-ACE, Wasserstein DP-ACE, mirror descent, PATE, and cross-dataset similarity implementations. A separate vendored Opacus package supplies reusable DP-training machinery. README content is absent, and most implementations were not sampled, so uncertain internal wiring is omitted.
Main entry points: Main.py PATE Training · Similarity_Scores Dataset Scores · privacy_engine.py Privacy Engine · main.py AdaDPS Runner
Components 23
DP Experiments
- AdaDPS Runner
Dataset_Testing_Eval_Text/Basic_AdaDPS/main.py - Data Generation
Dataset_Testing_Eval_Text/Basic_AdaDPS/generate_data.py - Training Methods
Dataset_Testing_Eval_Text/Basic_AdaDPS - Model Base
Dataset_Testing_Eval_Text/Basic_AdaDPS/model_base.py - DP-ACE
Dataset_Testing_Eval_Text/Basic_DP-ACE_80_20/DP_ACE_Materials/DP_ACE.py - Wasserstein ACE
Dataset_Testing_Eval_Text/Basic_Wass_DP-ACE_80_20/DP_ACE_Materials/Wasserstein_DP_ACE.py - Mirror Descent
Dataset_Testing_Eval_Text/Basic_Mirror_Descent/Mirror_Descent_Materials/mirror_descent.py - PATE Training
Junk Folder/DP Algorithm Implementations/PATE/Syft Implementations of PATE/Main.py - Teacher Models
Junk Folder/DP Algorithm Implementations/PATE/Syft Implementations of PATE/Teacher.py - Student Model
Junk Folder/DP Algorithm Implementations/PATE/Syft Implementations of PATE/Student.py - PATE Data
Junk Folder/DP Algorithm Implementations/PATE/Syft Implementations of PATE/data.py
Privacy Analysis
- RDP Accounting
Dataset_Testing_Eval_Text/Basic_AdaDPS/privacy_analysis/rdp_accountant.py - Privacy Conversion
Dataset_Testing_Eval_Text/Basic_AdaDPS/privacy_analysis/compute_privacy_sgm.py
Similarity Metrics
- Dataset Scores
Dataset_Testing_Eval_Images/MNIST_PRIVATE/Similarity_Scores - Kernels
Dataset_Testing_Eval_Images/MNIST_PRIVATE/Similarity_Scores/kernels.py - Wasserstein Metrics
Dataset_Testing_Eval_Images/MNIST_PRIVATE/Similarity_Scores/sliced_wasserstein.py - Distribution Metrics
Dataset_Testing_Eval_Images/MNIST_PRIVATE/Similarity_Scores/distributions.py
Opacus Runtime
- Privacy Engine
Junk Folder/Similarity Metric Implementations/All_GSD_Code/opacus/privacy_engine.py - DP Optimizers
Junk Folder/Similarity Metric Implementations/All_GSD_Code/opacus/optimizers/optimizer.py - Gradient Sampling
Junk Folder/Similarity Metric Implementations/All_GSD_Code/opacus/grad_sample/grad_sample_module.py - Runtime Accountants
Junk Folder/Similarity Metric Implementations/All_GSD_Code/opacus/accountants/accountant.py - Batch Manager
Junk Folder/Similarity Metric Implementations/All_GSD_Code/opacus/utils/batch_memory_manager.py
Other components
- Researcher
Connections 16
- Researcher → AdaDPS Runner: configures and runs
- AdaDPS Runner → Training Methods: dynamically selects
- AdaDPS Runner → Training Methods: starts training
- PATE Training → PATE Data: loads data
- PATE Training → Teacher Models: trains and predicts
- PATE Training → Student Model: trains and predicts
- PATE Training → RDP Accounting: analyzes privacy
- Wasserstein ACE → DP-ACE: extends algorithm
- Wasserstein ACE → Wasserstein Metrics: uses metric
- Dataset Scores → Kernels: uses
- Dataset Scores → Wasserstein Metrics: uses
- Dataset Scores → Distribution Metrics: uses
- Privacy Engine → Gradient Sampling: prepares model
- Privacy Engine → DP Optimizers: wraps optimizer
- Privacy Engine → Runtime Accountants: tracks privacy
- Batch Manager → DP Optimizers: coordinates steps