提交 3e5951cd 编写于 作者: M mindspore-ci-bot 提交者: Gitee

!77 Add comment and param-check of Fuzzer

Merge pull request !77 from pkuliuliu/master
...@@ -67,7 +67,7 @@ def test_lenet_mnist_coverage(): ...@@ -67,7 +67,7 @@ def test_lenet_mnist_coverage():
test_labels.append(labels) test_labels.append(labels)
test_images = np.concatenate(test_images, axis=0) test_images = np.concatenate(test_images, axis=0)
test_labels = np.concatenate(test_labels, axis=0) test_labels = np.concatenate(test_labels, axis=0)
model_fuzz_test.test_adequacy_coverage_calculate(test_images) model_fuzz_test.calculate_coverage(test_images)
LOGGER.info(TAG, 'KMNC of this test is : %s', model_fuzz_test.get_kmnc()) LOGGER.info(TAG, 'KMNC of this test is : %s', model_fuzz_test.get_kmnc())
LOGGER.info(TAG, 'NBC of this test is : %s', model_fuzz_test.get_nbc()) LOGGER.info(TAG, 'NBC of this test is : %s', model_fuzz_test.get_nbc())
LOGGER.info(TAG, 'SNAC of this test is : %s', model_fuzz_test.get_snac()) LOGGER.info(TAG, 'SNAC of this test is : %s', model_fuzz_test.get_snac())
...@@ -76,14 +76,13 @@ def test_lenet_mnist_coverage(): ...@@ -76,14 +76,13 @@ def test_lenet_mnist_coverage():
loss = SoftmaxCrossEntropyWithLogits(is_grad=False, sparse=True) loss = SoftmaxCrossEntropyWithLogits(is_grad=False, sparse=True)
attack = FastGradientSignMethod(net, eps=0.3, loss_fn=loss) attack = FastGradientSignMethod(net, eps=0.3, loss_fn=loss)
adv_data = attack.batch_generate(test_images, test_labels, batch_size=32) adv_data = attack.batch_generate(test_images, test_labels, batch_size=32)
model_fuzz_test.test_adequacy_coverage_calculate(adv_data, model_fuzz_test.calculate_coverage(adv_data, bias_coefficient=0.5)
bias_coefficient=0.5) LOGGER.info(TAG, 'KMNC of this adv data is : %s', model_fuzz_test.get_kmnc())
LOGGER.info(TAG, 'KMNC of this test is : %s', model_fuzz_test.get_kmnc()) LOGGER.info(TAG, 'NBC of this adv data is : %s', model_fuzz_test.get_nbc())
LOGGER.info(TAG, 'NBC of this test is : %s', model_fuzz_test.get_nbc()) LOGGER.info(TAG, 'SNAC of this adv data is : %s', model_fuzz_test.get_snac())
LOGGER.info(TAG, 'SNAC of this test is : %s', model_fuzz_test.get_snac())
if __name__ == '__main__': if __name__ == '__main__':
# device_target can be "CPU", "GPU" or "Ascend" # device_target can be "CPU", "GPU" or "Ascend"
context.set_context(mode=context.GRAPH_MODE, device_target="CPU") context.set_context(mode=context.GRAPH_MODE, device_target="Ascend")
test_lenet_mnist_coverage() test_lenet_mnist_coverage()
...@@ -87,9 +87,9 @@ def test_lenet_mnist_fuzzing(): ...@@ -87,9 +87,9 @@ def test_lenet_mnist_fuzzing():
LOGGER.info(TAG, 'KMNC of this test is : %s', LOGGER.info(TAG, 'KMNC of this test is : %s',
model_coverage_test.get_kmnc()) model_coverage_test.get_kmnc())
model_fuzz_test = Fuzzer(model, train_images, 1000, 10) model_fuzz_test = Fuzzer(model, train_images, 10, 1000)
_, _, _, _, metrics = model_fuzz_test.fuzzing(mutate_config, initial_seeds, _, _, _, _, metrics = model_fuzz_test.fuzzing(mutate_config, initial_seeds,
eval_metric=True) eval_metrics='auto')
if metrics: if metrics:
for key in metrics: for key in metrics:
LOGGER.info(TAG, key + ': %s', metrics[key]) LOGGER.info(TAG, key + ': %s', metrics[key])
...@@ -97,5 +97,5 @@ def test_lenet_mnist_fuzzing(): ...@@ -97,5 +97,5 @@ def test_lenet_mnist_fuzzing():
if __name__ == '__main__': if __name__ == '__main__':
# device_target can be "CPU", "GPU" or "Ascend" # device_target can be "CPU", "GPU" or "Ascend"
context.set_context(mode=context.GRAPH_MODE, device_target="CPU") context.set_context(mode=context.GRAPH_MODE, device_target="Ascend")
test_lenet_mnist_fuzzing() test_lenet_mnist_fuzzing()
此差异已折叠。
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
""" """
Model-fuzz coverage test. Model-fuzzer test.
""" """
import numpy as np import numpy as np
import pytest import pytest
...@@ -121,7 +121,7 @@ def test_fuzzing_ascend(): ...@@ -121,7 +121,7 @@ def test_fuzzing_ascend():
LOGGER.info(TAG, 'KMNC of this test is : %s', LOGGER.info(TAG, 'KMNC of this test is : %s',
model_coverage_test.get_kmnc()) model_coverage_test.get_kmnc())
model_fuzz_test = Fuzzer(model, train_images, 1000, 10) model_fuzz_test = Fuzzer(model, train_images, 10, 1000)
_, _, _, _, metrics = model_fuzz_test.fuzzing(mutate_config, initial_seeds) _, _, _, _, metrics = model_fuzz_test.fuzzing(mutate_config, initial_seeds)
print(metrics) print(metrics)
...@@ -167,6 +167,6 @@ def test_fuzzing_cpu(): ...@@ -167,6 +167,6 @@ def test_fuzzing_cpu():
LOGGER.info(TAG, 'KMNC of this test is : %s', LOGGER.info(TAG, 'KMNC of this test is : %s',
model_coverage_test.get_kmnc()) model_coverage_test.get_kmnc())
model_fuzz_test = Fuzzer(model, train_images, 1000, 10) model_fuzz_test = Fuzzer(model, train_images, 10, 1000)
_, _, _, _, metrics = model_fuzz_test.fuzzing(mutate_config, initial_seeds) _, _, _, _, metrics = model_fuzz_test.fuzzing(mutate_config, initial_seeds)
print(metrics) print(metrics)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册