code: def test_weight_only_observers(self):
      model = MyConvLinearModule()
      qconfig_dict = {"": default_dynamic_qconfig}
      inputs = model.get_example_inputs()
      scripted_model = OnDevicePTQUtils.insert_observers(
          model, qconfig_dict
      )
      observe_forward_graph = scripted_model.observe_forward.graph
      num_weight_only_observers = 0
      for node in observe_forward_graph.nodes():
          if self._observer_is_weight_only(node):
              num_weight_only_observers += 1
      self.assertEqual(num_weight_only_observers, 3)
  
imports: import torch
  import torch._C
  from torch.ao.quantization import default_dynamic_qconfig, per_channel_dynamic_qconfig
  from torch.ao.quantization.quantize_jit import prepare_dynamic_jit, convert_dynamic_jit, _prepare_ondevice_dynamic_jit, _quantize_ondevice_dynamic_jit
  from torch.testing._internal.common_utils import TestCase
  from torch.testing._internal.common_quantization import get_script_module, LinearAddModel
  from torch.jit.mobile import _load_for_lite_interpreter, LiteScriptModule
  from torch.testing import FileCheck
  from torch.utils import bundled_inputs
  import io
  from typing import Dict
label_desc: Use image node_id 6 for calling the TestOnDeviceDynamicPTQInsertObservers obj's underlying member method code with example usage: obj.test_weight_only_observers() without return types