code: def test_reparametrized_module_change_parametrization_original(
      self, functional_call
  ):
      module = MockModule()
      torch.nn.utils.parametrizations.spectral_norm(module.l1)
      self.assertTrue(
          "l1.parametrizations.weight.original"
          in dict(module.named_parameters())
      )
      orig_sn_weight = module.l1.weight.clone()
      x = torch.rand((1, 1))
      # We substitute the parameter inside the parametrization
      # the parametrization itself is not overwritten so it will be applied with a different
      # value for the original tensor
      parameters = {
          "l1.parametrizations.weight.original": torch.nn.Parameter(
              torch.tensor([[1.0]])
          ),
          "l1.bias": torch.tensor([0.0]),
          "buffer": torch.tensor([0.0]),
      }
      res = functional_call(module, parameters, x)
      self.assertEqual(x, res)
      # verify that the spectral normalization is still applied
      self.assertTrue(
          "l1.parametrizations.weight.original"
          in dict(module.named_parameters())
      )
      self.assertEqual(orig_sn_weight, module.l1.weight)
  
imports: import contextlib
  import os
  import re
  import subprocess
  import sys
  import unittest
  import torch
  import torch.nn.utils.stateless
  from torch.testing._internal.common_cuda import TEST_MULTIGPU
  from torch.testing._internal.common_utils import run_tests, TestCase, parametrize, instantiate_parametrized_tests, subtest
label_desc: Use image node_id 10 for calling the TestStatelessFunctionalAPI obj's underlying member method code with example usage: obj.test_reparametrized_module_change_parametrization_original(functional_call) without return types