首页 > 其他分享 >onnxruntime.InferenceSession

onnxruntime.InferenceSession

时间:2023-02-13 14:55:47浏览次数:54  
标签:img onnxruntime onnx image InferenceSession shape input path

 

 

https://vimsky.com/examples/detail/python-method-onnxruntime.InferenceSession.html

 

 

https://github.com/htshinichi/caffe-onnx/blob/master/onnxmodel/test_resnet.py

import onnxruntime
import numpy as np
import PIL.Image as Image
import argparse


def process_image(img_path,input_shape):
    img = Image.open(img_path).convert("RGB")
    img = img.resize(input_shape)
    image = np.array(img, dtype=np.float32)
    image = image.transpose((2,0,1))[np.newaxis, ...]
    return image


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--input_shape', help="caffe's caffemodel file path", nargs='+', default=(224,224))
    parser.add_argument('--img_path', help="test image path", type=str, default="./onnxmodel/airplane.jpg")
    parser.add_argument('--onnx_path', help="onnx model file path", type=str, default="./onnxmodel/resnet50.onnx")
    args = parser.parse_args()


    input_shape = [int(x) for x in args.input_shape] #模型输入尺寸
    img_path = args.img_path
    onnx_path = args.onnx_path
    print("image path:",img_path)
    print("onnx model path:",onnx_path)

    data_input = process_image(img_path,input_shape)
    session = onnxruntime.InferenceSession(onnx_path)
    inname = [input.name for input in session.get_inputs()]
    outname = [output.name for output in session.get_outputs()]

    print("inputs name:",inname,"|| outputs name:",outname)
    data_output = session.run(outname, {inname[0]: data_input})

    output = data_output[0]
    print("Label predict: ", output.argmax())




if __name__ == '__main__':
    main()

 

标签:img,onnxruntime,onnx,image,InferenceSession,shape,input,path
From: https://www.cnblogs.com/sinferwu/p/17116395.html

相关文章

  • onnx模型部署(一) ONNXRuntime
        通常我们在训练模型时可以使用很多不同的框架,比如有的同学喜欢用Pytorch,有的同学喜欢使用TensorFLow,也有的喜欢MXNet,以及深度学习最开始流行的Caffe等等,这样不......
  • onnxruntime InferenceSession
     importonnxruntimeimportonnximportnumpyasnpinput=np.random.rand(1,3,224,224).astype(dtype=np.float32)sess=onnxruntime.InferenceSession("add_mo......
  • windows上用vs2017静态编译onnxruntime-gpu CUDA cuDNN TensorRT的坎坷之路
    因为工作业务需求的关系,需编译onnxruntime引入项目中使用,主项目exe是使用的vs2017+qt5.12。onnxruntime就不用介绍是啥了撒,在优化和加速AI机器学习推理和训练这块赫赫有名......
  • onnxruntime 部署时input注意
     input_feed中的feats是转换成onnx时的名字,其可通过https://netron.app/ 查看onnx模型结构得到。feats2=feats2.unsqueeze(0).numpy()embeddings2=session.run(......
  • onnxruntime源码解析之C接口简介
    一、C接口1.简介其他语言的接口都是在C接口的基础上,进一步的封装。C的接口头文件为:onnxruntime_c_api.h头文件内包含了详细的注释和说明。总体上,除了一些数据结构的......