in opacus/scripts/compute_dp_sgd_privacy.py [0:0]
def main():
parser = argparse.ArgumentParser(
description="Estimate privacy of a model trained with DP-SGD using RDP accountant",
)
parser.add_argument(
"-r",
"--sample-rate",
type=float,
required=True,
help="Input sample rate (probability of each sample from the dataset to be selected for a next batch)",
)
parser.add_argument(
"-n",
"--noise-multiplier",
type=float,
required=True,
help="Noise multiplier",
)
parser.add_argument(
"-e",
"--epochs",
type=int,
required=True,
help="Number of epochs to train",
)
parser.add_argument(
"-d", "--delta", type=float, default=1e-5, help="Targeted delta (default: 1e-5)"
)
parser.add_argument(
"-a",
"--alphas",
action="store",
dest="alphas",
type=float,
nargs="+",
default=[1 + x / 10.0 for x in range(1, 100)] + list(range(12, 64)),
help="List of alpha values (alpha orders of Renyi-DP evaluation). "
"A default list is provided. Else, space separated numbers. E.g.,"
"-a 10 100",
)
args = parser.parse_args()
compute_dp_sgd_privacy(
sample_rate=args.sample_rate,
noise_multiplier=args.noise_multiplier,
epochs=args.epochs,
delta=args.delta,
alphas=args.alphas,
)