code: def backend_check_inferred_values(attack, mnist_dataset, classifier):
      # We assert that, when starting with zero information about the inputs x, we are able to infer - for each
      # class - a representative sample that is classified by the classifier as belonging to that class:
  
      x_train_infer_from_zero = attack.infer(None, y=np.arange(10))
      preds = np.argmax(
          classifier.predict(x_train_infer_from_zero), axis=1
      )
      np.testing.assert_array_equal(preds, np.arange(10))
  
      # Next we would like to assert that, when starting with blurry training instances, the inference attack will result
      # in instances that more closely resemble the original instances. However, this turns out not to be the case in
      # this scenario:
  
      (x_train_mnist, y_train_mnist, _, _) = mnist_dataset
      x_original = x_train_mnist[:10]
      x_noisy = np.clip(
          x_original + np.random.uniform(-0.01, 0.01, x_original.shape),
          0,
          1,
      )
      x_train_infer_from_noisy = attack.infer(
          x_noisy, y=y_train_mnist[:10]
      )
  
      diff_noisy = np.mean(
          np.reshape(
              np.abs(x_original - x_noisy), (len(x_original), -1)
          ),
          axis=1,
      )
      diff_inferred = np.mean(
          np.reshape(
              np.abs(x_original - x_train_infer_from_noisy),
              (len(x_original), -1),
          ),
          axis=1,
      )
  
      np.testing.assert_array_less(diff_noisy, diff_inferred)
  
file_path: adversarial-robustness-toolbox/tests/attacks/inference/model_inversion/test_mi_face.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  import pytest
  import numpy
  from art.attacks.inference.model_inversion import MIFace
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassifierMixin, ClassGradientsMixin
  from tests.attacks.utils import backend_test_classifier_type_check_fail
  from tests.utils import ARTTestException
label_desc: Use image node_id 2 for calling a global function with example usage: backend_check_inferred_values(attack, mnist_dataset, classifier) without return types