code: def test_allow_non_tensor(self):
      data = (torch.tensor([5, 8]), 3)  # contains non-tensor
  
      class M(nn.Module):
          def forward(self, input, number):
              return input
  
      model = M()
      with self.assertRaisesRegex(
          ValueError, "must only contain tensors"
      ):
          adap = TracingAdapter(model, data, allow_non_tensor=False)
  
      adap = TracingAdapter(model, data, allow_non_tensor=True)
      _ = adap(*adap.flattened_inputs)
  
      newdata = (data[0].clone(),)
      with self.assertRaisesRegex(ValueError, "cannot generalize"):
          _ = adap(*newdata)
  
imports: import copy
  import glob
  import json
  import os
  import random
  import tempfile
  import unittest
  import zipfile
  import torch
  from torch import Tensor, nn
  from detectron2 import model_zoo
  from detectron2.config import get_cfg
  from detectron2.config.instantiate import dump_dataclass, instantiate
  from detectron2.export import dump_torchscript_IR, scripting_with_instances
  from detectron2.export.flatten import TracingAdapter, flatten_to_tuple
  from detectron2.export.torchscript_patch import patch_builtin_len
  from detectron2.layers import ShapeSpec
  from detectron2.modeling import build_backbone
  from detectron2.modeling.postprocessing import detector_postprocess
  from detectron2.modeling.roi_heads import KRCNNConvDeconvUpsampleHead
  from detectron2.structures import Boxes, Instances
  from detectron2.utils.env import TORCH_VERSION
  from detectron2.utils.testing import assert_instances_allclose, convert_scripted_instances, get_sample_coco_image, random_boxes, reload_script_model, skipIfOnCPUCI
label_desc: Use image node_id 6 for calling the TestTorchscriptUtils obj's underlying member method code with example usage: obj.test_allow_non_tensor() and returns: input