code: def test_6_framework_pytorch_mnist(self):
      self.x_train_mnist = np.swapaxes(self.x_train_mnist, 1, 3).astype(
          np.float32
      )
      self.x_test_mnist = np.swapaxes(self.x_test_mnist, 1, 3).astype(
          np.float32
      )
  
      classifier = get_image_classifier_pt()
      self._test_framework_vs_numpy(classifier)
  
      self.x_train_mnist = np.swapaxes(self.x_train_mnist, 1, 3).astype(
          np.float32
      )
      self.x_test_mnist = np.swapaxes(self.x_test_mnist, 1, 3).astype(
          np.float32
      )
  
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 14 for calling the TestPGD obj's underlying member method code with example usage: obj.test_6_framework_pytorch_mnist() without return types