Skip to content

Commit ff6f93d

Browse files
authored
Merge branch 'main' into marcelo/ctgan
2 parents 33254e1 + 6cd4c17 commit ff6f93d

File tree

72 files changed

+141908
-52
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+141908
-52
lines changed

.github/workflows/code_checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- uses: actions/[email protected]
3333

3434
- name: Install uv
35-
uses: astral-sh/setup-uv@ed21f2f24f8dd64503750218de024bcf64c7250a
35+
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
3636
with:
3737
# Install a specific version of uv.
3838
version: "0.5.21"

.github/workflows/docs.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
uses: actions/[email protected]
4646

4747
- name: Install uv
48-
uses: astral-sh/[email protected].5
48+
uses: astral-sh/[email protected].6
4949
with:
5050
version: "0.5.21"
5151
enable-cache: true
@@ -65,7 +65,7 @@ jobs:
6565
run: touch site/.nojekyll
6666

6767
- name: Upload artifact
68-
uses: actions/upload-artifact@v5
68+
uses: actions/upload-artifact@v6
6969
with:
7070
name: docs-site
7171
path: site/
@@ -85,7 +85,7 @@ jobs:
8585
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
8686
8787
- name: Download artifact
88-
uses: actions/download-artifact@v6
88+
uses: actions/download-artifact@v7
8989
with:
9090
name: docs-site
9191
path: site
@@ -94,7 +94,7 @@ jobs:
9494
run: touch site/.nojekyll
9595

9696
- name: Deploy to Github pages
97-
uses: JamesIves/[email protected].4
97+
uses: JamesIves/[email protected].6
9898
with:
9999
branch: gh-pages
100100
folder: site

.github/workflows/integration_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
- uses: actions/[email protected]
4545

4646
- name: Install uv
47-
uses: astral-sh/setup-uv@ed21f2f24f8dd64503750218de024bcf64c7250a
47+
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
4848
with:
4949
# Install a specific version of uv.
5050
version: "0.5.21"

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- uses: actions/[email protected]
2020

2121
- name: Install uv
22-
uses: astral-sh/setup-uv@ed21f2f24f8dd64503750218de024bcf64c7250a
22+
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
2323
with:
2424
# Install a specific version of uv.
2525
version: "0.5.21"

.github/workflows/unit_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
- uses: actions/[email protected]
4545

4646
- name: Install uv
47-
uses: astral-sh/setup-uv@ed21f2f24f8dd64503750218de024bcf64c7250a
47+
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
4848
with:
4949
# Install a specific version of uv.
5050
version: "0.5.21"

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,20 @@ outputs/
4444
# mkdocs site
4545
site/
4646

47+
# Training examples
48+
examples/training/single_table/data/**
49+
examples/training/single_table/results/**
50+
examples/training/multi_table/data/**
51+
examples/training/multi_table/results/**
52+
examples/synthesizing/single_table/data/**
53+
examples/synthesizing/single_table/results/**
54+
examples/synthesizing/multi_table/data/**
55+
examples/synthesizing/multi_table/results/**
56+
57+
# Test artifacts
58+
tests/integration/attacks/tartan_federer/assets/tabddpm_models/**/challenge_label_predictions.csv
59+
tests/integration/attacks/tartan_federer/assets/tartan_federer_attack_results
60+
4761
# Training Logs
4862
*.err
4963
*.out

examples/ensemble_attack/compute_attack_success.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import pandas as pd
1111
from omegaconf import DictConfig
1212

13-
from midst_toolkit.attacks.ensemble.metric_utils import get_tpr_at_fpr
1413
from midst_toolkit.common.logger import log
14+
from midst_toolkit.evaluation.privacy.mia_scoring import TprAtFpr
1515

1616

1717
def load_target_challenge_labels_and_probabilities(
@@ -91,7 +91,7 @@ def compute_attack_success_for_given_targets(
9191
assert len(predictions) == len(targets), "Number of predictions must match number of targets."
9292

9393
# Compute TPR@FPR for all the target models
94-
tpr_at_fpr = get_tpr_at_fpr(targets, predictions, max_fpr=0.1)
94+
tpr_at_fpr = TprAtFpr.get_tpr_at_fpr(targets, predictions, fpr_threshold=0.1)
9595

9696
# Save the final attack success rate into a text file.
9797
metric_save_path = experiment_directory / f"attack_success_for_{metaclassifier_model_name}.txt"

src/midst_toolkit/attacks/ensemble/blending.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
from sklearn.linear_model import LogisticRegression
1313

1414
from midst_toolkit.attacks.ensemble.distance_features import calculate_domias_score, calculate_gower_features
15-
from midst_toolkit.attacks.ensemble.metric_utils import get_tpr_at_fpr
1615
from midst_toolkit.attacks.ensemble.rmia.rmia_calculation import calculate_rmia_signals
1716
from midst_toolkit.attacks.ensemble.xgboost_tuner import XgBoostHyperparameterTuner
1817
from midst_toolkit.common.logger import log
18+
from midst_toolkit.evaluation.privacy.mia_scoring import TprAtFpr
1919

2020

2121
class MetaClassifierType(Enum):
@@ -251,6 +251,6 @@ def predict(
251251
score = None
252252

253253
if y_test is not None:
254-
score = get_tpr_at_fpr(true_membership=y_test, predictions=probabilities, max_fpr=0.1)
254+
score = TprAtFpr.get_tpr_at_fpr(true_membership=y_test, predictions=probabilities, max_fpr=0.1)
255255

256256
return probabilities, score

src/midst_toolkit/attacks/ensemble/metric_utils.py

Lines changed: 0 additions & 28 deletions
This file was deleted.

src/midst_toolkit/attacks/ensemble/xgboost_tuner.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
from sklearn.pipeline import Pipeline
1010
from sklearn.preprocessing import StandardScaler
1111

12-
from midst_toolkit.attacks.ensemble.metric_utils import get_tpr_at_fpr
1312
from midst_toolkit.common.variables import DEVICE
13+
from midst_toolkit.evaluation.privacy.mia_scoring import TprAtFpr
1414

1515

1616
# Setting the logging level to WARNING, suppressing INFO and DEBUG messages from Optuna
@@ -103,7 +103,7 @@ def _evaluate_pipeline_cv(self, trial: Trial, num_kfolds: int) -> float:
103103
Mean TPR at FPR=0.1 across all folds.
104104
"""
105105
pipeline = self._create_xgb_pipeline(trial)
106-
tpr_scorer = make_scorer(get_tpr_at_fpr)
106+
tpr_scorer = make_scorer(TprAtFpr.get_tpr_at_fpr)
107107

108108
cv_scores = cross_val_score(
109109
pipeline,

0 commit comments

Comments
 (0)