使用mmpose中的工具转onnx
- 使用工具转pth模型到onnx模型:
python tools/pytorch2onnx.py configs/top_down/hrnet/coco/hrnet_w48_coco_256x192.py checkpoints/hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth --output-file hrnet_w48_coco_256x192.onnx
- 转换之后的模型在推理的时候总会报很多警告,解决办法:
使用转换得到的onnx模型进行推理
import onnx
import onnxruntime
import cv2
import numpy as np
from mmpose.core.evaluation import *
def inference_with_onnx(config):
onnx_model = config['modelPaths']
session = onnxruntime.InferenceSession(onnx_model)
output_tensor = [node.name for node in session.get_outputs()]
input_tensor = session.get_inputs()
image_path = config['filenames']
image = cv2.imread(image_path)
data = cv2.dnn.blobFromImage(image, scalefactor=1 / 255, size=(192, 256), mean=[0.485, 0.456, 0.406], swapRB