code: def test_quantize_inc_ptq_customized(self):
      # Test if a Lightning Module not compiled by nano works
      train_loader_iter = iter(self.train_loader)
      x = next(train_loader_iter)[0]
  
      qmodel = InferenceOptimizer.quantize(
          self.user_defined_pl_model, calib_data=self.train_loader
      )
      assert qmodel
      out = qmodel(x)
      assert out.shape == torch.Size([256, 10])
  
      # save and load
      with tempfile.TemporaryDirectory() as tmp_dir_name:
          InferenceOptimizer.save(qmodel, tmp_dir_name)
          loaded_qmodel = InferenceOptimizer.load(
              tmp_dir_name, self.user_defined_pl_model
          )
          assert loaded_qmodel
          out = loaded_qmodel(x)
          assert out.shape == torch.Size([256, 10])
  
imports: import os
  import operator
  import tempfile
  from unittest import TestCase
  import pytest
  import torch
  from pytorch_lightning import LightningModule
  from torch import nn
  from test.pytorch.utils._train_torch_lightning import create_data_loader, data_transform
  import torchmetrics
  from torchvision.models import resnet18
  from bigdl.nano.pytorch import Trainer
  from bigdl.nano.pytorch import InferenceOptimizer
  from bigdl.nano.pytorch.vision.models import vision
  from bigdl.nano.utils.common import invalidOperationError
  from bigdl.nano.utils.common import compare_version
  from bigdl.nano.utils.pytorch import TORCH_VERSION_LESS_2_0
  from bigdl.nano.utils.common import _avx2_checker
label_desc: Use image node_id 2 for calling the TestINC obj's underlying member method code with example usage: obj.test_quantize_inc_ptq_customized() without return types