def METHOD_NAME():
    """predict using onnx model
    """
    args = parse_args()
    cfg = get_config(args.config, show=False)
    model_name = cfg.model_name
    print(f"Inference model({model_name})...")
    InferenceHelper = build_inference_helper(cfg.INFERENCE)
    inference_config, predictor = create_onnx_predictor(args)
    # get input_tensor and output_tensor
    input_names = predictor.get_inputs()[0].name
    output_names = predictor.get_outputs()[0].name
    # get the absolute file path(s) to be processed
    files = parse_file_paths(args.input_file)
    if args.enable_benchmark:
        test_video_num = 12
        num_warmup = 3
        # instantiate auto log
        try:
            import auto_log
        except ImportError as e:
            print(f"{e}, [git+https://github.com/LDOUBLEV/AutoLog] "
                  f"package and it's dependencies is required for "
                  f"python-inference when enable_benchmark=True.")
        pid = os.getpid()
        autolog = auto_log.AutoLogger(
            model_name=cfg.model_name,
            model_precision=args.precision,
            batch_size=args.batch_size,
            data_shape="dynamic",
            save_path="./output/auto_log.lpg",
            inference_config=inference_config,
            pids=pid,
            process_name=None,
            gpu_ids=None,
            time_keys=['preprocess_time', 'inference_time', 'postprocess_time'],
            warmup=num_warmup)
        files = [args.input_file for _ in range(test_video_num + num_warmup)]
    # Inferencing process
    batch_num = args.batch_size
    for st_idx in range(0, len(files), batch_num):
        ed_idx = min(st_idx + batch_num, len(files))
        # auto log start
        if args.enable_benchmark:
            autolog.times.start()
        # Pre process batched input
        batched_inputs = InferenceHelper.preprocess_batch(files[st_idx:ed_idx])
        # get pre process time cost
        if args.enable_benchmark:
            autolog.times.stamp()
        # run inference
        batched_outputs = predictor.run(
            output_names=[output_names],
            input_feed={input_names: batched_inputs[0]})
        # get inference process time cost
        if args.enable_benchmark:
            autolog.times.stamp()
        InferenceHelper.postprocess(batched_outputs, not args.enable_benchmark)
        # get post process time cost
        if args.enable_benchmark:
            autolog.times.end(stamp=True)
        # time.sleep(0.01)  # sleep for T4 GPU
    # report benchmark log if enabled
    if args.enable_benchmark:
        autolog.report()