code: def register_scale_zp(self):
      for module_name, ts in self._target_spaces.items():
          wrapper = self._module_wrappers[module_name]
          for target_name, _ in ts.items():
              if hasattr(wrapper, f"{target_name}_scale"):
                  delattr(wrapper, f"{target_name}_scale")
              scale_param = torch.nn.Parameter()
              wrapper.register_parameter(
                  f"{target_name}_scale", scale_param
              )
              if hasattr(wrapper, f"{target_name}_zero_point"):
                  delattr(wrapper, f"{target_name}_zero_point")
              zp_param = torch.nn.Parameter()
              wrapper.register_parameter(
                  f"{target_name}_zero_point", zp_param
              )
  
imports: from __future__ import annotations
  import logging
  from typing import List, Dict, overload
  import torch
  from torch import Tensor
  from ..base.compressor import Compressor, Quantizer
  from ..base.wrapper import ModuleWrapper
  from ..utils import Evaluator, _EVALUATOR_DOCSTRING
label_desc: Use image node_id 9 for calling the LsqPlusQuantizer obj's underlying member method code with example usage: obj.register_scale_zp() without return types