Views
No views yet
pip install -r requirements.txt 1└── data
2 └── COCO
3 ├── annotations
4 | ├── instances_val2017.json
5 | └── ...
6 └── val2017
7 ├── 000000000139.jpg
8 ├── 000000000285.jpg
9 └── ...infer_onnx.py on how to use1args = make_parser().parse_args()
2input_shape = tuple(map(int, args.input_shape.split(',')))
3origin_img = cv2.imread(args.image_path)
4img, ratio = preprocess(origin_img, input_shape)
5if args.ipu:
6 providers = ["VitisAIExecutionProvider"]
7 provider_options = [{"config_file": args.provider_config}]
8else:
9 providers = ['CUDAExecutionProvider', 'CPUExecutionProvider']
10 provider_options = None
11session = ort.InferenceSession(args.model, providers=providers, provider_options=provider_options)
12# NCHW format
13# ort_inputs = {session.get_inputs()[0].name: img[None, :, :, :]}
14# NHWC format
15ort_inputs = {session.get_inputs()[0].name: np.transpose(img[None, :, :, :], (0, 2 ,3, 1))}
16outputs = session.run(None, ort_inputs)
17outputs = [np.transpose(out, (0, 3, 1, 2)) for out in outputs] # for NHWC format
18dets = postprocess(outputs, input_shape, ratio)
19if dets is not None:
20 final_boxes, final_scores, final_cls_inds = dets[:, :4], dets[:, 4], dets[:, 5]
21 origin_img = vis(origin_img, final_boxes, final_scores, final_cls_inds,
22 conf=args.score_thr, class_names=COCO_CLASSES)
23mkdir(args.output_dir)
24output_path = os.path.join(args.output_dir, os.path.basename(args.image_path))
25cv2.imwrite(output_path, origin_img)python infer_onnx.py -m yolox-s-int8.onnx -i Path\To\Your\Image --ipu --provider_config Path\To\vaip_config.jsonpython eval_onnx.py -m yolox-s-int8.onnx --ipu --provider_config Path\To\vaip_config.json| Metric | Accuracy on IPU |
|---|---|
| AP@0.50:0.95 | 0.370 |
1 @article{yolox2021,
2 title={YOLOX: Exceeding YOLO Series in 2021},
3 author={Ge, Zheng and Liu, Songtao and Wang, Feng and Li, Zeming and Sun, Jian},
4 journal={arXiv preprint arXiv:2107.08430},
5 year={2021}
6}