code: def test_emp_robustness_mnist(self):
      (x_train, y_train), (_, _), _, _ = load_mnist()
      x_train, y_train = x_train[:NB_TRAIN], y_train[:NB_TRAIN]
  
      # Get classifier
      classifier = self._cnn_mnist_k([28, 28, 1])
      classifier.fit(
          x_train,
          y_train,
          batch_size=BATCH_SIZE,
          nb_epochs=2,
          verbose=0,
      )
  
      # Compute minimal perturbations
      params = {"eps_step": 1.0, "eps": 1.0}
      emp_robust = empirical_robustness(
          classifier, x_train, str("fgsm"), params
      )
      self.assertAlmostEqual(emp_robust, 1.000369094488189, 3)
  
      params = {"eps_step": 0.1, "eps": 0.2}
      emp_robust = empirical_robustness(
          classifier, x_train, str("fgsm"), params
      )
      self.assertLessEqual(emp_robust, 0.65)
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  import unittest
  import numpy
  import tensorflow
  import torch.nn
  import torch.nn.functional
  import torch.optim
  from art.attacks.evasion.hop_skip_jump import HopSkipJump
  from art.estimators.classification.keras import KerasClassifier
  from art.estimators.classification.pytorch import PyTorchClassifier
  from art.estimators.classification.tensorflow import TensorFlowClassifier
  from art.metrics.metrics import adversarial_accuracy, empirical_robustness, clever_t, clever_u, clever, loss_sensitivity, wasserstein_distance
  from art.utils import load_mnist
  from tests.utils import master_seed
label_desc: Use image node_id 2 for calling the TestMetrics obj's underlying member method code with example usage: obj.test_emp_robustness_mnist() without return types