| @@ -224,7 +224,7 @@ class ResidualBlockUsing(nn.Cell): | |||
| self.bn_down_sample = self.bn_down_sample.set_train() | |||
| if not weights_update: | |||
| self.conv_down_sample.weight.requires_grad = False | |||
| self.add = P.TensorAdd() | |||
| self.add = P.Add() | |||
| def construct(self, x): | |||
| identity = x | |||
| @@ -64,7 +64,7 @@ class ResidualBlock(nn.Cell): | |||
| out_chls = out_channels//2 | |||
| self.conv1 = conv_block(in_channels, out_chls, kernel_size=1, stride=1) | |||
| self.conv2 = conv_block(out_chls, out_channels, kernel_size=3, stride=1) | |||
| self.add = P.TensorAdd() | |||
| self.add = P.Add() | |||
| def construct(self, x): | |||
| identity = x | |||
| @@ -22,7 +22,7 @@ from mindspore import context | |||
| from mindspore import nn | |||
| from mindspore.nn import Cell | |||
| from mindspore.nn import SoftmaxCrossEntropyWithLogits | |||
| from mindspore.ops.operations import TensorAdd | |||
| from mindspore.ops.operations import Add | |||
| from mindspore.train.serialization import load_checkpoint, load_param_into_net | |||
| from scipy.special import softmax | |||
| @@ -58,7 +58,7 @@ class EncoderNet(Cell): | |||
| def __init__(self, encode_dim): | |||
| super(EncoderNet, self).__init__() | |||
| self._encode_dim = encode_dim | |||
| self.add = TensorAdd() | |||
| self.add = Add() | |||
| def construct(self, inputs): | |||
| """ | |||
| @@ -18,7 +18,7 @@ from mindspore import Model | |||
| from mindspore import Tensor | |||
| from mindspore import context | |||
| from mindspore.nn import Cell | |||
| from mindspore.ops.operations import TensorAdd | |||
| from mindspore.ops.operations import Add | |||
| from mindspore.train.serialization import load_checkpoint, load_param_into_net | |||
| from mindarmour import BlackModel | |||
| @@ -72,7 +72,7 @@ class EncoderNet(Cell): | |||
| def __init__(self, encode_dim): | |||
| super(EncoderNet, self).__init__() | |||
| self._encode_dim = encode_dim | |||
| self.add = TensorAdd() | |||
| self.add = Add() | |||
| def construct(self, inputs): | |||
| """ | |||
| @@ -142,7 +142,7 @@ class NoiseMechanismsFactory: | |||
| >>> loss_fn=loss, | |||
| >>> optimizer=net_opt, | |||
| >>> metrics=None) | |||
| >>> ms_ds = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| >>> ms_ds = ds.GeneratorDataset(dataset_generator, | |||
| >>> ['data', 'label']) | |||
| >>> model.train(epochs, ms_ds, dataset_sink_mode=False) | |||
| """ | |||
| @@ -325,7 +325,7 @@ class _MechanismsParamsUpdater(Cell): | |||
| self._init_noise_multiplier = init_noise_multiplier | |||
| self._div = P.Div() | |||
| self._add = P.TensorAdd() | |||
| self._add = P.Add() | |||
| self._assign = P.Assign() | |||
| self._sub = P.Sub() | |||
| self._one = Tensor(1, mstype.float32) | |||
| @@ -414,7 +414,7 @@ class AdaClippingWithGaussianRandom(Cell): | |||
| mstype.float32) | |||
| self._zero = Tensor(0, mstype.float32) | |||
| self._add = P.TensorAdd() | |||
| self._add = P.Add() | |||
| self._sub = P.Sub() | |||
| self._mul = P.Mul() | |||
| self._exp = P.Exp() | |||
| @@ -42,7 +42,7 @@ def tensor_grad_scale(scale, grad): | |||
| class _TupleAdd(nn.Cell): | |||
| def __init__(self): | |||
| super(_TupleAdd, self).__init__() | |||
| self.add = P.TensorAdd() | |||
| self.add = P.Add() | |||
| self.hyper_map = C.HyperMap() | |||
| def construct(self, input1, input2): | |||
| @@ -112,7 +112,7 @@ class DPModel(Model): | |||
| >>> loss_fn=loss, | |||
| >>> optimizer=net_opt, | |||
| >>> metrics=None) | |||
| >>> ms_ds = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| >>> ms_ds = ds.GeneratorDataset(dataset_generator, | |||
| >>> ['data', 'label']) | |||
| >>> model.train(epochs, ms_ds, dataset_sink_mode=False) | |||
| """ | |||
| @@ -133,7 +133,7 @@ class DPModel(Model): | |||
| opt_name = opt.__class__.__name__ | |||
| # Check whether noise_mech and DPOptimizer are both None or not None, if so, raise ValueError. | |||
| # And check whether noise_mech or DPOtimizer's mech method is adaptive while clip_mech is not None, | |||
| # if so, rasie ValuerError too. | |||
| # if so, raise ValuerError too. | |||
| if noise_mech is not None and "DPOptimizer" in opt_name: | |||
| msg = 'DPOptimizer is not supported while noise_mech is not None' | |||
| LOGGER.error(TAG, msg) | |||
| @@ -323,7 +323,7 @@ class _ClipGradients(nn.Cell): | |||
| class _TupleAdd(nn.Cell): | |||
| def __init__(self): | |||
| super(_TupleAdd, self).__init__() | |||
| self.add = P.TensorAdd() | |||
| self.add = P.Add() | |||
| self.hyper_map = C.HyperMap() | |||
| def construct(self, input1, input2): | |||
| @@ -422,7 +422,7 @@ class _TrainOneStepWithLossScaleCell(Cell): | |||
| self._clip_by_global_norm = _ClipGradients() | |||
| self._noise_mech = noise_mech | |||
| self._clip_mech = clip_mech | |||
| self._add = P.TensorAdd() | |||
| self._add = P.Add() | |||
| self._norm = nn.Norm() | |||
| self._tuple_add = _TupleAdd() | |||
| self._hyper_map = C.HyperMap() | |||
| @@ -508,7 +508,7 @@ class _TrainOneStepWithLossScaleCell(Cell): | |||
| GRADIENT_CLIP_TYPE, | |||
| self._norm_bound) | |||
| grads = self._tuple_add(grads, record_grad) | |||
| total_loss = P.TensorAdd()(total_loss, loss) | |||
| total_loss = P.Add()(total_loss, loss) | |||
| loss = P.Div()(total_loss, self._micro_float) | |||
| beta = self._div(beta, self._micro_batches) | |||
| @@ -626,7 +626,7 @@ class _TrainOneStepCell(Cell): | |||
| self._noise_mech = noise_mech | |||
| self._clip_mech = clip_mech | |||
| self._tuple_add = _TupleAdd() | |||
| self._add = P.TensorAdd() | |||
| self._add = P.Add() | |||
| self._norm = nn.Norm() | |||
| self._hyper_map = C.HyperMap() | |||
| self._zero = Tensor(0, mstype.float32) | |||
| @@ -698,7 +698,7 @@ class _TrainOneStepCell(Cell): | |||
| GRADIENT_CLIP_TYPE, | |||
| self._norm_bound) | |||
| grads = self._tuple_add(grads, record_grad) | |||
| total_loss = P.TensorAdd()(total_loss, loss) | |||
| total_loss = P.Add()(total_loss, loss) | |||
| loss = self._div(total_loss, self._micro_float) | |||
| if self._noise_mech is not None: | |||
| @@ -206,7 +206,7 @@ class _TupleAdd(nn.Cell): | |||
| """ | |||
| def __init__(self): | |||
| super(_TupleAdd, self).__init__() | |||
| self.add = P.TensorAdd() | |||
| self.add = P.Add() | |||
| self.hyper_map = C.HyperMap() | |||
| def construct(self, input1, input2): | |||
| @@ -121,7 +121,7 @@ class ResidualBlock(nn.Cell): | |||
| self.bn3 = bn_with_initialize_last(out_channels) | |||
| self.relu = P.ReLU() | |||
| self.add = P.TensorAdd() | |||
| self.add = P.Add() | |||
| def construct(self, x): | |||
| identity = x | |||
| @@ -168,7 +168,7 @@ class ResidualBlockWithDown(nn.Cell): | |||
| self.conv_down_sample = conv1x1(in_channels, out_channels, stride=stride, padding=0) | |||
| self.bn_down_sample = bn_with_initialize(out_channels) | |||
| self.add = P.TensorAdd() | |||
| self.add = P.Add() | |||
| def construct(self, x): | |||
| identity = x | |||
| @@ -23,7 +23,7 @@ from mindarmour import BlackModel | |||
| from mindarmour.adv_robustness.attacks import HopSkipJumpAttack | |||
| from mindarmour.utils.logger import LogUtil | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| context.set_context(mode=context.GRAPH_MODE) | |||
| context.set_context(device_target="Ascend") | |||
| @@ -23,7 +23,7 @@ from mindarmour import BlackModel | |||
| from mindarmour.adv_robustness.attacks import NES | |||
| from mindarmour.utils.logger import LogUtil | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| context.set_context(mode=context.GRAPH_MODE) | |||
| context.set_context(device_target="Ascend") | |||
| @@ -26,7 +26,7 @@ from mindarmour import BlackModel | |||
| from mindarmour.adv_robustness.attacks import PointWiseAttack | |||
| from mindarmour.utils.logger import LogUtil | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| context.set_context(mode=context.GRAPH_MODE, device_target="Ascend") | |||
| @@ -144,7 +144,7 @@ def test_pso_attack_targeted(): | |||
| @pytest.mark.level0 | |||
| @pytest.mark.platform_x86_gpu_inference | |||
| @pytest.mark.platform_x86_gpu_training | |||
| @pytest.mark.env_card | |||
| @pytest.mark.component_mindarmour | |||
| def test_pso_attack_gpu(): | |||
| @@ -133,7 +133,7 @@ def test_fast_gradient_method(): | |||
| @pytest.mark.level0 | |||
| @pytest.mark.platform_x86_gpu_inference | |||
| @pytest.mark.platform_x86_gpu_training | |||
| @pytest.mark.env_card | |||
| @pytest.mark.component_mindarmour | |||
| def test_fast_gradient_method_gpu(): | |||
| @@ -108,7 +108,7 @@ def test_jsma_attack_2(): | |||
| @pytest.mark.level0 | |||
| @pytest.mark.platform_x86_gpu_inference | |||
| @pytest.mark.platform_x86_gpu_training | |||
| @pytest.mark.env_card | |||
| @pytest.mark.component_mindarmour | |||
| def test_jsma_attack_gpu(): | |||
| @@ -24,7 +24,7 @@ from mindspore.train.serialization import load_checkpoint, load_param_into_net | |||
| from mindarmour.adv_robustness.attacks import LBFGS | |||
| from mindarmour.utils.logger import LogUtil | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| context.set_context(mode=context.GRAPH_MODE, device_target="Ascend") | |||
| @@ -26,7 +26,7 @@ from mindspore.nn.optim.momentum import Momentum | |||
| from mindarmour.adv_robustness.defenses import AdversarialDefense | |||
| from mindarmour.utils.logger import LogUtil | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| LOGGER = LogUtil.get_instance() | |||
| TAG = 'Ad_Test' | |||
| @@ -28,7 +28,7 @@ from mindarmour.adv_robustness.attacks import \ | |||
| from mindarmour.adv_robustness.defenses import EnsembleAdversarialDefense | |||
| from mindarmour.utils.logger import LogUtil | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| LOGGER = LogUtil.get_instance() | |||
| TAG = 'Ead_Test' | |||
| @@ -25,7 +25,7 @@ from mindspore.nn.optim.momentum import Momentum | |||
| from mindarmour.adv_robustness.defenses import NaturalAdversarialDefense | |||
| from mindarmour.utils.logger import LogUtil | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| LOGGER = LogUtil.get_instance() | |||
| TAG = 'Nad_Test' | |||
| @@ -25,7 +25,7 @@ from mindspore.nn.optim.momentum import Momentum | |||
| from mindarmour.adv_robustness.defenses import ProjectedAdversarialDefense | |||
| from mindarmour.utils.logger import LogUtil | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| LOGGER = LogUtil.get_instance() | |||
| TAG = 'Pad_Test' | |||
| @@ -20,7 +20,7 @@ import pytest | |||
| from mindspore.nn import Cell | |||
| from mindspore import Model | |||
| from mindspore import context | |||
| from mindspore.ops.operations import TensorAdd | |||
| from mindspore.ops.operations import Add | |||
| from mindarmour.adv_robustness.detectors import SimilarityDetector | |||
| @@ -35,7 +35,7 @@ class EncoderNet(Cell): | |||
| def __init__(self, encode_dim): | |||
| super(EncoderNet, self).__init__() | |||
| self._encode_dim = encode_dim | |||
| self.add = TensorAdd() | |||
| self.add = Add() | |||
| def construct(self, inputs): | |||
| """ | |||
| @@ -18,7 +18,7 @@ import numpy as np | |||
| import pytest | |||
| from mindspore.nn import Cell | |||
| from mindspore.ops.operations import TensorAdd | |||
| from mindspore.ops.operations import Add | |||
| from mindspore.train.model import Model | |||
| from mindspore import context | |||
| @@ -35,7 +35,7 @@ class Net(Cell): | |||
| """ | |||
| def __init__(self): | |||
| super(Net, self).__init__() | |||
| self.add = TensorAdd() | |||
| self.add = Add() | |||
| def construct(self, inputs): | |||
| """ | |||
| @@ -53,7 +53,7 @@ class AutoNet(Cell): | |||
| """ | |||
| def __init__(self): | |||
| super(AutoNet, self).__init__() | |||
| self.add = TensorAdd() | |||
| self.add = Add() | |||
| def construct(self, inputs): | |||
| """ | |||
| @@ -19,7 +19,7 @@ import pytest | |||
| import mindspore.ops.operations as P | |||
| from mindspore.nn import Cell | |||
| from mindspore.ops.operations import TensorAdd | |||
| from mindspore.ops.operations import Add | |||
| from mindspore import Model | |||
| from mindspore import context | |||
| @@ -36,7 +36,7 @@ class Net(Cell): | |||
| def __init__(self): | |||
| super(Net, self).__init__() | |||
| self.add = TensorAdd() | |||
| self.add = Add() | |||
| def construct(self, inputs): | |||
| """ | |||
| @@ -20,7 +20,7 @@ import pytest | |||
| from mindspore.nn import Cell | |||
| from mindspore import Model | |||
| from mindspore import context | |||
| from mindspore.ops.operations import TensorAdd | |||
| from mindspore.ops.operations import Add | |||
| from mindarmour.adv_robustness.detectors import RegionBasedDetector | |||
| @@ -34,7 +34,7 @@ class Net(Cell): | |||
| """ | |||
| def __init__(self): | |||
| super(Net, self).__init__() | |||
| self.add = TensorAdd() | |||
| self.add = Add() | |||
| def construct(self, inputs): | |||
| """ | |||
| @@ -26,11 +26,13 @@ from mindarmour.privacy.diff_privacy import NoiseMechanismsFactory | |||
| from mindarmour.privacy.diff_privacy import ClipMechanismsFactory | |||
| from mindarmour.privacy.diff_privacy import DPOptimizerClassFactory | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| def dataset_generator(batch_size, batches): | |||
| def dataset_generator(): | |||
| """mock training data.""" | |||
| batch_size = 32 | |||
| batches = 128 | |||
| data = np.random.random((batches*batch_size, 1, 32, 32)).astype( | |||
| np.float32) | |||
| label = np.random.randint(0, 10, batches*batch_size).astype(np.int32) | |||
| @@ -49,8 +51,6 @@ def test_dp_model_with_pynative_mode(): | |||
| norm_bound = 1.0 | |||
| initial_noise_multiplier = 0.01 | |||
| network = Net() | |||
| batch_size = 32 | |||
| batches = 128 | |||
| epochs = 1 | |||
| micro_batches = 2 | |||
| loss = nn.SoftmaxCrossEntropyWithLogits(sparse=True) | |||
| @@ -73,7 +73,7 @@ def test_dp_model_with_pynative_mode(): | |||
| loss_fn=loss, | |||
| optimizer=net_opt, | |||
| metrics=None) | |||
| ms_ds = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ms_ds = ds.GeneratorDataset(dataset_generator, | |||
| ['data', 'label']) | |||
| model.train(epochs, ms_ds, dataset_sink_mode=False) | |||
| @@ -88,8 +88,6 @@ def test_dp_model_with_graph_mode(): | |||
| norm_bound = 1.0 | |||
| initial_noise_multiplier = 0.01 | |||
| network = Net() | |||
| batch_size = 32 | |||
| batches = 128 | |||
| epochs = 1 | |||
| loss = nn.SoftmaxCrossEntropyWithLogits(sparse=True) | |||
| noise_mech = NoiseMechanismsFactory().create('Gaussian', | |||
| @@ -110,7 +108,7 @@ def test_dp_model_with_graph_mode(): | |||
| loss_fn=loss, | |||
| optimizer=net_opt, | |||
| metrics=None) | |||
| ms_ds = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ms_ds = ds.GeneratorDataset(dataset_generator, | |||
| ['data', 'label']) | |||
| model.train(epochs, ms_ds, dataset_sink_mode=False) | |||
| @@ -125,8 +123,6 @@ def test_dp_model_with_graph_mode_ada_gaussian(): | |||
| norm_bound = 1.0 | |||
| initial_noise_multiplier = 0.01 | |||
| network = Net() | |||
| batch_size = 32 | |||
| batches = 128 | |||
| epochs = 1 | |||
| alpha = 0.8 | |||
| loss = nn.SoftmaxCrossEntropyWithLogits(sparse=True) | |||
| @@ -146,6 +142,6 @@ def test_dp_model_with_graph_mode_ada_gaussian(): | |||
| loss_fn=loss, | |||
| optimizer=net_opt, | |||
| metrics=None) | |||
| ms_ds = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ms_ds = ds.GeneratorDataset(dataset_generator, | |||
| ['data', 'label']) | |||
| model.train(epochs, ms_ds, dataset_sink_mode=False) | |||
| @@ -25,13 +25,16 @@ import mindspore.context as context | |||
| from mindarmour.privacy.diff_privacy import PrivacyMonitorFactory | |||
| from mindarmour.utils.logger import LogUtil | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| LOGGER = LogUtil.get_instance() | |||
| TAG = 'DP-Monitor Test' | |||
| def dataset_generator(batch_size, batches): | |||
| def dataset_generator(): | |||
| batch_size = 16 | |||
| batches = 128 | |||
| data = np.random.random((batches * batch_size, 1, 32, 32)).astype( | |||
| np.float32) | |||
| label = np.random.randint(0, 10, batches * batch_size).astype(np.int32) | |||
| @@ -48,7 +51,6 @@ def dataset_generator(batch_size, batches): | |||
| def test_dp_monitor(): | |||
| context.set_context(mode=context.GRAPH_MODE, device_target="Ascend") | |||
| batch_size = 16 | |||
| batches = 128 | |||
| epochs = 1 | |||
| rdp = PrivacyMonitorFactory.create(policy='rdp', num_samples=60000, | |||
| batch_size=batch_size, | |||
| @@ -64,19 +66,18 @@ def test_dp_monitor(): | |||
| model = Model(network, net_loss, net_opt) | |||
| LOGGER.info(TAG, "============== Starting Training ==============") | |||
| ds1 = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ds1 = ds.GeneratorDataset(dataset_generator, | |||
| ["data", "label"]) | |||
| model.train(epochs, ds1, callbacks=[rdp], dataset_sink_mode=False) | |||
| @pytest.mark.level0 | |||
| @pytest.mark.platform_x86_gpu_inference | |||
| @pytest.mark.platform_x86_gpu_training | |||
| @pytest.mark.env_card | |||
| @pytest.mark.component_mindarmour | |||
| def test_dp_monitor_gpu(): | |||
| context.set_context(mode=context.GRAPH_MODE, device_target="GPU") | |||
| batch_size = 16 | |||
| batches = 128 | |||
| epochs = 1 | |||
| rdp = PrivacyMonitorFactory.create(policy='rdp', num_samples=60000, | |||
| batch_size=batch_size, | |||
| @@ -92,7 +93,7 @@ def test_dp_monitor_gpu(): | |||
| model = Model(network, net_loss, net_opt) | |||
| LOGGER.info(TAG, "============== Starting Training ==============") | |||
| ds1 = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ds1 = ds.GeneratorDataset(dataset_generator, | |||
| ["data", "label"]) | |||
| model.train(epochs, ds1, callbacks=[rdp], dataset_sink_mode=False) | |||
| @@ -104,7 +105,6 @@ def test_dp_monitor_gpu(): | |||
| def test_dp_monitor_cpu(): | |||
| context.set_context(mode=context.GRAPH_MODE, device_target="CPU") | |||
| batch_size = 16 | |||
| batches = 128 | |||
| epochs = 1 | |||
| rdp = PrivacyMonitorFactory.create(policy='rdp', num_samples=60000, | |||
| batch_size=batch_size, | |||
| @@ -120,7 +120,7 @@ def test_dp_monitor_cpu(): | |||
| model = Model(network, net_loss, net_opt) | |||
| LOGGER.info(TAG, "============== Starting Training ==============") | |||
| ds1 = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ds1 = ds.GeneratorDataset(dataset_generator, | |||
| ["data", "label"]) | |||
| model.train(epochs, ds1, callbacks=[rdp], dataset_sink_mode=False) | |||
| @@ -133,7 +133,6 @@ def test_dp_monitor_cpu(): | |||
| def test_dp_monitor_zcdp(): | |||
| context.set_context(mode=context.GRAPH_MODE, device_target="Ascend") | |||
| batch_size = 16 | |||
| batches = 128 | |||
| epochs = 1 | |||
| zcdp = PrivacyMonitorFactory.create(policy='zcdp', num_samples=60000, | |||
| batch_size=batch_size, | |||
| @@ -149,19 +148,18 @@ def test_dp_monitor_zcdp(): | |||
| model = Model(network, net_loss, net_opt) | |||
| LOGGER.info(TAG, "============== Starting Training ==============") | |||
| ds1 = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ds1 = ds.GeneratorDataset(dataset_generator, | |||
| ["data", "label"]) | |||
| model.train(epochs, ds1, callbacks=[zcdp], dataset_sink_mode=False) | |||
| @pytest.mark.level0 | |||
| @pytest.mark.platform_x86_gpu_inference | |||
| @pytest.mark.platform_x86_gpu_training | |||
| @pytest.mark.env_card | |||
| @pytest.mark.component_mindarmour | |||
| def test_dp_monitor_zcdp_gpu(): | |||
| context.set_context(mode=context.GRAPH_MODE, device_target="GPU") | |||
| batch_size = 16 | |||
| batches = 128 | |||
| epochs = 1 | |||
| zcdp = PrivacyMonitorFactory.create(policy='zcdp', num_samples=60000, | |||
| batch_size=batch_size, | |||
| @@ -177,7 +175,7 @@ def test_dp_monitor_zcdp_gpu(): | |||
| model = Model(network, net_loss, net_opt) | |||
| LOGGER.info(TAG, "============== Starting Training ==============") | |||
| ds1 = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ds1 = ds.GeneratorDataset(dataset_generator, | |||
| ["data", "label"]) | |||
| model.train(epochs, ds1, callbacks=[zcdp], dataset_sink_mode=False) | |||
| @@ -189,7 +187,6 @@ def test_dp_monitor_zcdp_gpu(): | |||
| def test_dp_monitor_zcdp_cpu(): | |||
| context.set_context(mode=context.GRAPH_MODE, device_target="CPU") | |||
| batch_size = 16 | |||
| batches = 128 | |||
| epochs = 1 | |||
| zcdp = PrivacyMonitorFactory.create(policy='zcdp', num_samples=60000, | |||
| batch_size=batch_size, | |||
| @@ -205,6 +202,6 @@ def test_dp_monitor_zcdp_cpu(): | |||
| model = Model(network, net_loss, net_opt) | |||
| LOGGER.info(TAG, "============== Starting Training ==============") | |||
| ds1 = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ds1 = ds.GeneratorDataset(dataset_generator, | |||
| ["data", "label"]) | |||
| model.train(epochs, ds1, callbacks=[zcdp], dataset_sink_mode=False) | |||
| @@ -19,7 +19,7 @@ from mindspore.train.model import Model | |||
| from mindarmour.privacy.diff_privacy import DPOptimizerClassFactory | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| @pytest.mark.level0 | |||
| @@ -42,7 +42,7 @@ def test_optimizer(): | |||
| @pytest.mark.level0 | |||
| @pytest.mark.platform_x86_gpu_inference | |||
| @pytest.mark.platform_x86_gpu_training | |||
| @pytest.mark.env_card | |||
| @pytest.mark.component_mindarmour | |||
| def test_optimizer_gpu(): | |||
| @@ -22,7 +22,7 @@ import mindspore.context as context | |||
| from mindarmour.privacy.evaluation.inversion_attack import ImageInversionAttack | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| context.set_context(mode=context.GRAPH_MODE) | |||
| @@ -25,14 +25,16 @@ import mindspore.context as context | |||
| from mindarmour.privacy.evaluation import MembershipInference | |||
| from ut.python.utils.mock_net import Net | |||
| from tests.ut.python.utils.mock_net import Net | |||
| context.set_context(mode=context.GRAPH_MODE) | |||
| def dataset_generator(batch_size, batches): | |||
| def dataset_generator(): | |||
| """mock training data.""" | |||
| batch_size = 16 | |||
| batches = 1 | |||
| data = np.random.randn(batches*batch_size, 1, 32, 32).astype( | |||
| np.float32) | |||
| label = np.random.randint(0, 10, batches*batch_size).astype(np.int32) | |||
| @@ -74,11 +76,9 @@ def test_membership_inference_object_train(): | |||
| "n_neighbors": [3, 5, 7], | |||
| } | |||
| }] | |||
| batch_size = 16 | |||
| batches = 1 | |||
| ds_train = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ds_train = ds.GeneratorDataset(dataset_generator, | |||
| ["image", "label"]) | |||
| ds_test = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| ds_test = ds.GeneratorDataset(dataset_generator, | |||
| ["image", "label"]) | |||
| inference_model.train(ds_train, ds_test, config) | |||
| @@ -96,11 +96,9 @@ def test_membership_inference_eval(): | |||
| inference_model = MembershipInference(model, -1) | |||
| assert isinstance(inference_model, MembershipInference) | |||
| batch_size = 16 | |||
| batches = 1 | |||
| eval_train = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| eval_train = ds.GeneratorDataset(dataset_generator, | |||
| ["image", "label"]) | |||
| eval_test = ds.GeneratorDataset(dataset_generator(batch_size, batches), | |||
| eval_test = ds.GeneratorDataset(dataset_generator, | |||
| ["image", "label"]) | |||
| metrics = ["precision", "accuracy", "recall"] | |||
| @@ -25,15 +25,18 @@ from mindspore.train.callback import LossMonitor | |||
| from mindspore.nn.metrics import Accuracy | |||
| import mindspore.dataset as ds | |||
| from ut.python.utils.mock_net import Net as LeNet5 | |||
| from mindarmour.privacy.sup_privacy import SuppressModel | |||
| from mindarmour.privacy.sup_privacy import SuppressMasker | |||
| from mindarmour.privacy.sup_privacy import SuppressPrivacyFactory | |||
| from mindarmour.privacy.sup_privacy import MaskLayerDes | |||
| def dataset_generator(batch_size, batches): | |||
| from tests.ut.python.utils.mock_net import Net as LeNet5 | |||
| def dataset_generator(): | |||
| """mock training data.""" | |||
| batches = 10 | |||
| batch_size = 32 | |||
| data = np.random.random((batches*batch_size, 1, 32, 32)).astype( | |||
| np.float32) | |||
| label = np.random.randint(0, 10, batches*batch_size).astype(np.int32) | |||
| @@ -51,7 +54,6 @@ def test_suppress_model_with_pynative_mode(): | |||
| networks_l5 = LeNet5() | |||
| epochs = 5 | |||
| batch_num = 10 | |||
| batch_size = 32 | |||
| mask_times = 10 | |||
| lr = 0.01 | |||
| masklayers_lenet5 = [] | |||
| @@ -79,7 +81,7 @@ def test_suppress_model_with_pynative_mode(): | |||
| ckpoint_cb = ModelCheckpoint(prefix="checkpoint_lenet", | |||
| directory="./trained_ckpt_file/", | |||
| config=config_ck) | |||
| ds_train = ds.GeneratorDataset(dataset_generator(batch_size, batch_num), ['data', 'label']) | |||
| ds_train = ds.GeneratorDataset(dataset_generator, ['data', 'label']) | |||
| model_instance.train(epochs, ds_train, callbacks=[ckpoint_cb, LossMonitor(), suppress_masker], | |||
| dataset_sink_mode=False) | |||