code: def test_post_training_quantization_speedup(self):
      model = BackboneModel()
  
      configure_list = {
          "conv1": {"weight_bits": 8, "output_bits": 8},
          "conv2": {"weight_bits": 32, "output_bits": 32},
          "fc1": {"weight_bits": 16, "output_bits": 16},
          "fc2": {"weight_bits": 8, "output_bits": 8},
      }
  
      optimizer = torch.optim.SGD(
          model.parameters(), lr=0.01, momentum=0.5
      )
  
      model.to(self.device)
      for epoch in range(1):
          print("# Epoch {} #".format(epoch))
          self._train(model, optimizer)
          self._test(model)
  
      batch_size = 32
      input_shape = (batch_size, 1, 28, 28)
      calibration_path = "calibration.cache"
      onnx_path = "default_model.onnx"
  
      engine = ModelSpeedupTensorRT(
          model,
          input_shape,
          config=configure_list,
          calib_data_loader=self.train_loader,
          batchsize=batch_size,
      )
      engine.compress()
      self._test_trt(engine)
      os.remove(calibration_path)
      os.remove(onnx_path)
  
imports: import os
  import torch
  import torch.nn.functional
  from torchvision.models.vgg import vgg16
  from torchvision import datasets, transforms
  import unittest
  from unittest import TestCase, main
  from nni.compression.quantization import QATQuantizer
  from nni.compression.quantization_speedup import ModelSpeedupTensorRT
label_desc: Use image node_id 5 for calling the QuantizationSpeedupTestCase obj's underlying member method code with example usage: obj.test_post_training_quantization_speedup() without return types