diff --git a/example/mnist_demo/mnist_train.py b/example/mnist_demo/mnist_train.py index 7e595b4e57c19b31f8ee844638490f7fffe211ba..d44fe481fc4bf9a878b8199734d8b5bf6139ec7f 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 8d8594adf3515ccc33869933f44461da18e949a0..a54ce80b771d621d6b61b942688dcf1e1d0f8ece 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 229fcd8f55c8f45a286cbdbcf5469e9f1349e260..db05168c3121ba5f55f31003ebdf03d85a77d043 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