美文网首页
onnx模型推理

onnx模型推理

作者: 一个摸鱼AI喵 | 来源:发表于2021-10-26 09:47 被阅读0次

    导包

    import cv2
    import numpy as np
    import mxnet as mx
    import onnxruntime as ort
    

    图片处理

    img = cv2.imread(image_path)
    方案1:
    img = cv2.resize(img, (192, 192))
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 
    img = np.transpose(img, (2, 0, 1)) HWC->CHW
    input_blob = np.expand_dims(img, axis=0).astype(np.float32)  # NCHW
    #方案2:
    input_std = 128.0
    input_mean = 127.5
    input_size=(192,192)  #H W
    input_blob = cv2.dnn.blobFromImage(img, 1.0/input_std, input_size, (input_mean, input_mean, input_mean), swapRB=True)
    

    加载模型

    onnx_model_path = "./2d106det.onnx"
    ort_session = ort.InferenceSession(onnx_model_path)
    #输入输出层名字(固定写法)
    onnx_input_name = ort_session.get_inputs()[0].name
    #输出层名字,可能有多个
    onnx_outputs_names = ort_session.get_outputs()
    output_names = []
    for o in onnx_outputs_names:
        output_names.append(o.name)
    

    推理过程

    onnx_result = ort_session.run(outputs_names, input_feed={onnx_input_name: input_blob})
    onnx_result = onnx_result[0]  #这里只有一个输出
    

    相关文章

      网友评论

          本文标题:onnx模型推理

          本文链接:https://www.haomeiwen.com/subject/zoiualtx.html