code: def do_inference(args):
      prepare_output_path(args.output_dir, args.overwrite_output_dir)
      device, n_gpus = setup_backend(args.no_cuda)
      args.batch_size = args.per_gpu_eval_batch_size * max(1, n_gpus)
      inference_examples = process_inference_input(args.data_file)
      classifier = TransformerTokenClassifier.load_model(
          model_path=args.model_path,
          model_type=args.model_type,
          do_lower_case=args.do_lower_case,
          load_quantized=args.load_quantized_model,
      )
      classifier.to(device, n_gpus)
      output = classifier.inference(
          inference_examples, args.max_seq_length, args.batch_size
      )
      write_column_tagged_file(
          args.output_dir + os.sep + "output.txt", output
      )
  
imports: import argparse
  import io
  import logging
  import os
  from torch.utils.data import DataLoader, RandomSampler, SequentialSampler
  from nlp_architect.data.sequential_tagging import TokenClsInputExample, TokenClsProcessor
  from nlp_architect.data.utils import write_column_tagged_file
  from nlp_architect.models.transformers import TransformerTokenClassifier
  from nlp_architect.nn.torch import setup_backend, set_seed
  from nlp_architect.procedures.procedure import Procedure
  from nlp_architect.procedures.registry import register_inference_cmd, register_train_cmd
  from nlp_architect.procedures.transformers.base import create_base_args, inference_args, train_args
  from nlp_architect.utils.io import prepare_output_path
  from nlp_architect.utils.text import SpacyInstance
label_desc: Use image node_id 2 for calling a global function with example usage: do_inference(args) without return types