From a88e8da01b579372add2b8b902fa8115f6e0e0e8 Mon Sep 17 00:00:00 2001 From: lixiaohui Date: Fri, 9 Jul 2021 14:10:55 +0800 Subject: [PATCH] add context setting in examples due to the default mode shift in mindspore 1.3 --- mindspore/explainer/_image_classification_runner.py | 2 ++ .../explainer/benchmark/_attribution/class_sensitivity.py | 2 ++ mindspore/explainer/benchmark/_attribution/faithfulness.py | 2 ++ mindspore/explainer/benchmark/_attribution/localization.py | 2 ++ mindspore/explainer/benchmark/_attribution/robustness.py | 2 ++ .../explainer/explanation/_attribution/_backprop/gradcam.py | 2 ++ .../explanation/_attribution/_backprop/gradient.py | 2 ++ .../explanation/_attribution/_backprop/modified_relu.py | 6 ++++++ .../explanation/_attribution/_perturbation/occlusion.py | 3 +++ .../explanation/_attribution/_perturbation/rise.py | 2 ++ 10 files changed, 25 insertions(+) diff --git a/mindspore/explainer/_image_classification_runner.py b/mindspore/explainer/_image_classification_runner.py index 704362145f..c3121006f8 100644 --- a/mindspore/explainer/_image_classification_runner.py +++ b/mindspore/explainer/_image_classification_runner.py @@ -259,7 +259,9 @@ class ImageClassificationRunner(_Verifier): >>> from mindspore.explainer.benchmark import Faithfulness >>> from mindspore.nn import Softmax >>> from mindspore.train.serialization import load_checkpoint, load_param_into_net + >>> from mindspore import context >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # The detail of AlexNet is shown in model_zoo.official.cv.alexnet.src.alexnet.py >>> net = AlexNet(10) >>> # Load the checkpoint diff --git a/mindspore/explainer/benchmark/_attribution/class_sensitivity.py b/mindspore/explainer/benchmark/_attribution/class_sensitivity.py index ed6df56490..698006b6e3 100644 --- a/mindspore/explainer/benchmark/_attribution/class_sensitivity.py +++ b/mindspore/explainer/benchmark/_attribution/class_sensitivity.py @@ -55,7 +55,9 @@ class ClassSensitivity(LabelAgnosticMetric): >>> import mindspore as ms >>> from mindspore.explainer.benchmark import ClassSensitivity >>> from mindspore.explainer.explanation import Gradient + >>> from mindspore import context >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # The detail of LeNet5 is shown in model_zoo.official.cv.lenet.src.lenet.py >>> net = LeNet5(10, num_channel=3) >>> # prepare your explainer to be evaluated, e.g., Gradient. diff --git a/mindspore/explainer/benchmark/_attribution/faithfulness.py b/mindspore/explainer/benchmark/_attribution/faithfulness.py index 70db586dec..5e640df286 100644 --- a/mindspore/explainer/benchmark/_attribution/faithfulness.py +++ b/mindspore/explainer/benchmark/_attribution/faithfulness.py @@ -423,7 +423,9 @@ class Faithfulness(LabelSensitiveMetric): >>> from mindspore import nn >>> from mindspore.explainer.benchmark import Faithfulness >>> from mindspore.explainer.explanation import Gradient + >>> from mindspore import context >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # init a `Faithfulness` object >>> num_labels = 10 >>> metric = "InsertionAUC" diff --git a/mindspore/explainer/benchmark/_attribution/localization.py b/mindspore/explainer/benchmark/_attribution/localization.py index ea7f001b55..2e9bf64316 100644 --- a/mindspore/explainer/benchmark/_attribution/localization.py +++ b/mindspore/explainer/benchmark/_attribution/localization.py @@ -117,7 +117,9 @@ class Localization(LabelSensitiveMetric): >>> import mindspore as ms >>> from mindspore.explainer.explanation import Gradient >>> from mindspore.explainer.benchmark import Localization + >>> from mindspore import context >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> num_labels = 10 >>> localization = Localization(num_labels, "PointingGame") >>> diff --git a/mindspore/explainer/benchmark/_attribution/robustness.py b/mindspore/explainer/benchmark/_attribution/robustness.py index f0c9b1b0e7..e723e601d0 100644 --- a/mindspore/explainer/benchmark/_attribution/robustness.py +++ b/mindspore/explainer/benchmark/_attribution/robustness.py @@ -79,7 +79,9 @@ class Robustness(LabelSensitiveMetric): >>> from mindspore import nn >>> from mindspore.explainer.explanation import Gradient >>> from mindspore.explainer.benchmark import Robustness + >>> from mindspore import context >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # Initialize a Robustness benchmarker passing num_labels of the dataset. >>> num_labels = 10 >>> activation_fn = nn.Softmax() diff --git a/mindspore/explainer/explanation/_attribution/_backprop/gradcam.py b/mindspore/explainer/explanation/_attribution/_backprop/gradcam.py index d587bba19d..49e3e4edd6 100644 --- a/mindspore/explainer/explanation/_attribution/_backprop/gradcam.py +++ b/mindspore/explainer/explanation/_attribution/_backprop/gradcam.py @@ -83,7 +83,9 @@ class GradCAM(IntermediateLayerAttribution): >>> import numpy as np >>> import mindspore as ms >>> from mindspore.explainer.explanation import GradCAM + >>> from mindspore import context >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # The detail of LeNet5 is shown in model_zoo.official.cv.lenet.src.lenet.py >>> net = LeNet5(10, num_channel=3) >>> # specify a layer name to generate explanation, usually the layer can be set as the last conv layer. diff --git a/mindspore/explainer/explanation/_attribution/_backprop/gradient.py b/mindspore/explainer/explanation/_attribution/_backprop/gradient.py index 7c86bcb40c..b010b90060 100644 --- a/mindspore/explainer/explanation/_attribution/_backprop/gradient.py +++ b/mindspore/explainer/explanation/_attribution/_backprop/gradient.py @@ -61,7 +61,9 @@ class Gradient(Attribution): >>> import numpy as np >>> import mindspore as ms >>> from mindspore.explainer.explanation import Gradient + >>> from mindspore import context >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # The detail of LeNet5 is shown in model_zoo.official.cv.lenet.src.lenet.py >>> net = LeNet5(10, num_channel=3) >>> gradient = Gradient(net) diff --git a/mindspore/explainer/explanation/_attribution/_backprop/modified_relu.py b/mindspore/explainer/explanation/_attribution/_backprop/modified_relu.py index 919cd33274..c10494a6f4 100644 --- a/mindspore/explainer/explanation/_attribution/_backprop/modified_relu.py +++ b/mindspore/explainer/explanation/_attribution/_backprop/modified_relu.py @@ -116,6 +116,9 @@ class Deconvolution(ModifiedReLU): >>> import numpy as np >>> import mindspore as ms >>> from mindspore.explainer.explanation import Deconvolution + >>> from mindspore import context + >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # The detail of LeNet5 is shown in model_zoo.official.cv.lenet.src.lenet.py >>> net = LeNet5(10, num_channel=3) >>> deconvolution = Deconvolution(net) @@ -168,6 +171,9 @@ class GuidedBackprop(ModifiedReLU): >>> import numpy as np >>> import mindspore as ms >>> from mindspore.explainer.explanation import GuidedBackprop + >>> from mindspore import context + >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # The detail of LeNet5 is shown in model_zoo.official.cv.lenet.src.lenet.py >>> net = LeNet5(10, num_channel=3) >>> gbp = GuidedBackprop(net) diff --git a/mindspore/explainer/explanation/_attribution/_perturbation/occlusion.py b/mindspore/explainer/explanation/_attribution/_perturbation/occlusion.py index 71dc083edc..58dadde0f9 100644 --- a/mindspore/explainer/explanation/_attribution/_perturbation/occlusion.py +++ b/mindspore/explainer/explanation/_attribution/_perturbation/occlusion.py @@ -78,6 +78,9 @@ class Occlusion(PerturbationAttribution): >>> import numpy as np >>> import mindspore as ms >>> from mindspore.explainer.explanation import Occlusion + >>> from mindspore import context + >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # The detail of LeNet5 is shown in model_zoo.official.cv.lenet.src.lenet.py >>> net = LeNet5(10, num_channel=3) >>> # initialize Occlusion explainer with the pretrained model and activation function diff --git a/mindspore/explainer/explanation/_attribution/_perturbation/rise.py b/mindspore/explainer/explanation/_attribution/_perturbation/rise.py index 8924b93f4c..17f670eb42 100644 --- a/mindspore/explainer/explanation/_attribution/_perturbation/rise.py +++ b/mindspore/explainer/explanation/_attribution/_perturbation/rise.py @@ -70,7 +70,9 @@ class RISE(PerturbationAttribution): >>> import numpy as np >>> import mindspore as ms >>> from mindspore.explainer.explanation import RISE + >>> from mindspore import context >>> + >>> context.set_context(mode=context.PYNATIVE_MODE) >>> # The detail of LeNet5 is shown in model_zoo.official.cv.lenet.src.lenet.py >>> net = LeNet5(10, num_channel=3) >>> # initialize RISE explainer with the pretrained model and activation function