code: def test_check_params_pt(self):
      ptc = get_image_classifier_pt(from_logits=True)
  
      with self.assertRaises(TypeError):
          _ = ProjectedGradientDescent(
              ptc, eps=np.array([1, 1, 1]), eps_step=1
          )
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(ptc, norm=0)
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(ptc, eps=-1, eps_step=1)
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(
              ptc,
              eps=np.array([-1, -1, -1]),
              eps_step=np.array([1, 1, 1]),
          )
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(ptc, eps=1, eps_step=-1)
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(
              ptc,
              eps=np.array([1, 1, 1]),
              eps_step=np.array([-1, -1, -1]),
          )
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(ptc, targeted="true")
  
      with self.assertRaises(TypeError):
          _ = ProjectedGradientDescent(ptc, num_random_init=1.0)
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(ptc, num_random_init=-1)
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(ptc, batch_size=-1)
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(ptc, max_iter=-1)
  
      with self.assertRaises(ValueError):
          _ = ProjectedGradientDescent(ptc, verbose="true")
  
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 16 for calling the TestPGD obj's underlying member method code with example usage: obj.test_check_params_pt() without return types