code: def _check_torchscript_no_hardcoded_device(
      self, jitfile, extract_dir, device
  ):
      zipfile.ZipFile(jitfile).extractall(extract_dir)
      dir_path = os.path.join(
          extract_dir, os.path.splitext(os.path.basename(jitfile))[0]
      )
      error_files = []
      for f in glob.glob(f"{dir_path}/code/**/*.py", recursive=True):
          content = open(f).read()
          if device in content:
              error_files.append((f, content))
      if len(error_files):
          msg = "\n".join(
              f"{f}\n{content}" for f, content in error_files
          )
          raise ValueError(
              f"Found device '{device}' in following files:\n{msg}"
          )
  
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 TestTracing obj's underlying member method code with example usage: obj._check_torchscript_no_hardcoded_device(jitfile, extract_dir, device) without return types