code: def test_check_params(self):
      krc = get_image_classifier_kr(from_logits=True)
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescentCommon(krc, norm=-1)
  
      with self.assertRaises(TypeError):
          _ = ProjectedGradientDescentCommon(krc, eps="1", eps_step=0.1)
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescentCommon(krc, eps=-1)
  
      with self.assertRaises(TypeError):
          _ = ProjectedGradientDescentCommon(krc, eps=np.array([-1]))
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescentCommon(krc, eps_step=-1)
  
      with self.assertRaises(TypeError):
          _ = ProjectedGradientDescentCommon(
              krc, eps_step=np.array([-1])
          )
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescentCommon(
              krc, eps=np.array([1.0, 1.0]), eps_step=np.array([1.0])
          )
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescentCommon(krc, targeted="False")
  
      with self.assertRaises(TypeError):
          _ = ProjectedGradientDescentCommon(krc, num_random_init="1")
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescentCommon(krc, num_random_init=-1)
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescentCommon(krc, batch_size=-1)
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescentCommon(krc, max_iter=-1)
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescentCommon(krc, verbose="False")
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  import unittest
  import numpy
  import tensorflow
  from art.attacks.evasion.projected_gradient_descent.projected_gradient_descent import ProjectedGradientDescent
  from art.attacks.evasion.projected_gradient_descent.projected_gradient_descent_numpy import ProjectedGradientDescentNumpy, ProjectedGradientDescentCommon
  from art.estimators.classification import KerasClassifier
  from art.estimators.estimator import BaseEstimator, LossGradientsMixin
  from art.utils import get_labels_np_array, random_targets
  from tests.attacks.utils import backend_test_classifier_type_check_fail
  from tests.utils import TestBase, get_image_classifier_kr, get_image_classifier_pt, get_image_classifier_tf, get_tabular_classifier_kr, get_tabular_classifier_pt, get_tabular_classifier_tf, master_seed
label_desc: Use image node_id 3 for calling the TestPGD obj's underlying member method code with example usage: obj.test_check_params() without return types