Browse Source

!160 Change TensorAdd to Add

From: @pkuliuliu
Reviewed-by: @jxlang910,@liu_luobin
Signed-off-by: @jxlang910
pull/160/MERGE
mindspore-ci-bot Gitee 4 years ago
parent
commit
32c5ac5d96
15 changed files with 47 additions and 57 deletions
  1. +1
    -1
      examples/model_security/model_attacks/cv/faster_rcnn/src/FasterRcnn/resnet50.py
  2. +1
    -1
      examples/model_security/model_attacks/cv/yolov3_darknet53/src/darknet.py
  3. +2
    -2
      examples/model_security/model_defenses/mnist_evaluation.py
  4. +2
    -2
      examples/model_security/model_defenses/mnist_similarity_detector.py
  5. +2
    -2
      mindarmour/privacy/diff_privacy/mechanisms/mechanisms.py
  6. +1
    -1
      mindarmour/privacy/diff_privacy/optimizer/optimizer.py
  7. +5
    -5
      mindarmour/privacy/diff_privacy/train/model.py
  8. +2
    -2
      tests/st/resnet50/resnet_cifar10.py
  9. +2
    -2
      tests/ut/python/adv_robustness/detectors/black/test_similarity_detector.py
  10. +3
    -3
      tests/ut/python/adv_robustness/detectors/test_ensemble_detector.py
  11. +2
    -2
      tests/ut/python/adv_robustness/detectors/test_mag_net.py
  12. +2
    -2
      tests/ut/python/adv_robustness/detectors/test_region_based_detector.py
  13. +6
    -10
      tests/ut/python/privacy/diff_privacy/test_model_train.py
  14. +9
    -13
      tests/ut/python/privacy/diff_privacy/test_monitor.py
  15. +7
    -9
      tests/ut/python/privacy/evaluation/test_membership_inference.py

+ 1
- 1
examples/model_security/model_attacks/cv/faster_rcnn/src/FasterRcnn/resnet50.py View File

@@ -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


+ 1
- 1
examples/model_security/model_attacks/cv/yolov3_darknet53/src/darknet.py View File

@@ -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


+ 2
- 2
examples/model_security/model_defenses/mnist_evaluation.py View File

@@ -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):
"""


+ 2
- 2
examples/model_security/model_defenses/mnist_similarity_detector.py View File

@@ -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):
"""


+ 2
- 2
mindarmour/privacy/diff_privacy/mechanisms/mechanisms.py View File

@@ -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()


+ 1
- 1
mindarmour/privacy/diff_privacy/optimizer/optimizer.py View File

@@ -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):


+ 5
- 5
mindarmour/privacy/diff_privacy/train/model.py View File

@@ -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:


+ 2
- 2
tests/st/resnet50/resnet_cifar10.py View File

@@ -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


+ 2
- 2
tests/ut/python/adv_robustness/detectors/black/test_similarity_detector.py View File

@@ -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):
"""


+ 3
- 3
tests/ut/python/adv_robustness/detectors/test_ensemble_detector.py View File

@@ -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):
"""


+ 2
- 2
tests/ut/python/adv_robustness/detectors/test_mag_net.py View File

@@ -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):
"""


+ 2
- 2
tests/ut/python/adv_robustness/detectors/test_region_based_detector.py View File

@@ -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):
"""


+ 6
- 10
tests/ut/python/privacy/diff_privacy/test_model_train.py View File

@@ -29,8 +29,10 @@ from mindarmour.privacy.diff_privacy import DPOptimizerClassFactory
from 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)

+ 9
- 13
tests/ut/python/privacy/diff_privacy/test_monitor.py View File

@@ -31,7 +31,9 @@ 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 +50,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,7 +65,7 @@ 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)

@@ -76,7 +77,6 @@ def test_dp_monitor():
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 +92,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 +104,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 +119,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 +132,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,7 +147,7 @@ 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)

@@ -161,7 +159,6 @@ def test_dp_monitor_zcdp():
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 +174,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 +186,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 +201,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)

+ 7
- 9
tests/ut/python/privacy/evaluation/test_membership_inference.py View File

@@ -31,8 +31,10 @@ from 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"]


Loading…
Cancel
Save