code: def backend_untargeted_tabular(attack, iris_dataset, clipped):
      (_, _), (x_test_iris, y_test_iris) = iris_dataset
  
      x_test_adv = attack.generate(x_test_iris)
  
      # TODO remove that platform specific case
      # if framework in ["scikitlearn"]:
      #     np.testing.assert_array_almost_equal(np.abs(x_test_adv - x_test_iris), .1, decimal=5)
  
      check_adverse_example_x(x_test_adv, x_test_iris)
      # utils_test.check_adverse_example_x(x_test_adv, x_test_iris, bounded=clipped)
  
      y_pred_test_adv = np.argmax(
          attack.estimator.predict(x_test_adv), axis=1
      )
      y_test_true = np.argmax(y_test_iris, axis=1)
  
      # assert (y_test_true == y_pred_test_adv).any(), "An untargeted attack should have changed SOME predictions"
      assert (
          bool((y_test_true == y_pred_test_adv).all()) is False
      ), "An untargeted attack should NOT have changed all predictions"
  
      accuracy = (
          np.sum(y_pred_test_adv == y_test_true) / y_test_true.shape[0]
      )
      logger.info(
          "Accuracy of "
          + attack.estimator.__class__.__name__
          + " on Iris with FGM adversarial examples: "
          "%.2f%%",
          (accuracy * 100),
      )
  
file_path: adversarial-robustness-toolbox/tests/attacks/utils.py
imports: import pytest
  import numpy
  import logging
  import keras.backend
  from art.utils import random_targets, get_labels_np_array
  from art.exceptions import EstimatorError
  from tests.utils import check_adverse_example_x, check_adverse_predicted_sample_y
label_desc: Use image node_id 9 for calling a global function with example usage: backend_untargeted_tabular(attack, iris_dataset, clipped) without return types