code: def test_no_output_check(self):
      # dataloader 1: torch.Tensor, numpy.ndarray
      dataset = TensorDataset(torch.ones(10, 3), torch.ones(10))
      loader = DataLoader(
          dataset, batch_size=5, collate_fn=illegal_func
      )
      model = ModelWithSingleInput()
      trainer = Trainer()
      loss = lambda x, y: torch.mean(x + y)
      model = trainer.compile(
          model,
          loss,
          optimizer=torch.optim.SGD(params=model.parameters(), lr=0.01),
      )
      # no tuning
      trainer.quantize(model, calib_data=loader)
      # tuning
      with pytest.raises(RuntimeError):
          trainer.quantize(
              model,
              calib_data=loader,
              metric=torchmetrics.F1Score("multiclass", num_classes=10),
          )
  
imports: from unittest import TestCase
  import operator
  import pytest
  import torch
  from torch.utils.data import TensorDataset, DataLoader, Dataset
  from torch import nn
  import torchmetrics
  from bigdl.nano.pytorch import Trainer
  from bigdl.nano.utils.common import compare_version
label_desc: Use image node_id 3 for calling the TestDataloader obj's underlying member method code with example usage: obj.test_no_output_check() without return types