From b4d148aa3f718ee5a7f5ef4e559b349c5d322313 Mon Sep 17 00:00:00 2001 From: jin-xiulang Date: Wed, 19 Aug 2020 20:15:42 +0800 Subject: [PATCH] Fix api issues --- example/mnist_demo/mnist_train.py | 2 ++ mindarmour/diff_privacy/__init__.py | 4 ++++ mindarmour/diff_privacy/monitor/monitor.py | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/example/mnist_demo/mnist_train.py b/example/mnist_demo/mnist_train.py index 7e595b4..d44fe48 100644 --- a/example/mnist_demo/mnist_train.py +++ b/example/mnist_demo/mnist_train.py @@ -27,6 +27,8 @@ from mindarmour.utils.logger import LogUtil sys.path.append("..") from data_processing import generate_mnist_dataset LOGGER = LogUtil.get_instance() +LOGGER.set_level('INFO') + TAG = "Lenet5_train" diff --git a/mindarmour/diff_privacy/__init__.py b/mindarmour/diff_privacy/__init__.py index 8d8594a..a54ce80 100644 --- a/mindarmour/diff_privacy/__init__.py +++ b/mindarmour/diff_privacy/__init__.py @@ -7,6 +7,8 @@ from .mechanisms.mechanisms import AdaClippingWithGaussianRandom from .mechanisms.mechanisms import NoiseMechanismsFactory from .mechanisms.mechanisms import ClipMechanismsFactory from .monitor.monitor import PrivacyMonitorFactory +from .monitor.monitor import RDPMonitor +from .monitor.monitor import ZCDPMonitor from .optimizer.optimizer import DPOptimizerClassFactory from .train.model import DPModel @@ -16,5 +18,7 @@ __all__ = ['NoiseGaussianRandom', 'NoiseMechanismsFactory', 'ClipMechanismsFactory', 'PrivacyMonitorFactory', + 'RDPMonitor', + 'ZCDPMonitor', 'DPOptimizerClassFactory', 'DPModel'] diff --git a/mindarmour/diff_privacy/monitor/monitor.py b/mindarmour/diff_privacy/monitor/monitor.py index 229fcd8..db05168 100644 --- a/mindarmour/diff_privacy/monitor/monitor.py +++ b/mindarmour/diff_privacy/monitor/monitor.py @@ -40,7 +40,12 @@ class PrivacyMonitorFactory: Args: policy (str): Monitor policy, 'rdp' and 'zcdp' are supported - by now. + by now. If policy is 'rdp', the monitor will compute the + privacy budget of DP training based on Renyi differential + privacy theory; If policy is 'zcdp', the monitor will compute + the privacy budget of DP training based on zero-concentrated + differential privacy theory. It's worth noting that 'zcdp' + is not suitable for subsampling nosie mechanism. args (Union[int, float, numpy.ndarray, list, str]): Parameters used for creating a privacy monitor. kwargs (Union[int, float, numpy.ndarray, list, str]): Keyword